Download presentation
Presentation is loading. Please wait.
Published byRandolph Powers Modified over 9 years ago
1
Synthetic Topiary
2
Premislaw Prunsinkiewicz (Prof. P) Mark James Radomír Měch
3
Synthetic Topiary Development in two directions: –structure-oriented models –space-oriented models
4
Synthetic Topiary Development in two directions: –structure-oriented models Endogenous : module inherits lineage at creation. Interactive : information flow. Context-sensitive L-systems –space-oriented models
5
Synthetic Topiary Development in two directions: –structure-oriented models –space-oriented models exogenous : information transmitted from environment.
6
Synthetic Topiary Development in two directions: –structure-oriented models –space-oriented models Environmentally-sensitive L-systems address the dichotomy.
7
Lindenmayer systems Stochastic context-sensitive grammars. id : lc rc : cond succ : prob –replace pred by succ with probability prob if pred has lc on the left and rc on the right and cond is true
8
Modules Each module controls a LOGO-style turtle. –F moves forward. –+-, &^, / \ are rotations around H, U, L. –@o draws a sphere at current position. –% terminates a branch (e.g. pruning ) magnitude parameters are optional
9
Lindenmayer Systems Example: L-System 2 ω : A(1) B(3) A(5) p1: A(x) A(x+1) : 0.4 p2: A(x) B(x-1) : 0.6 p3: A(x) A(z) : y<4 B(x+z)[A(y)] A(1) B(3) A(5)
10
Lindenmayer Systems Example: L-System 2 ω : A(1) B(3) A(5) p1: A(x) A(x+1) : 0.4 p2: A(x) B(x-1) : 0.6 p3: A(x) A(z) : y<4 B(x+z)[A(y)] A(2) B(3) A(5)
11
Lindenmayer Systems Example: L-System 2 ω : A(1) B(3) A(5) p1: A(x) A(x+1) : 0.4 p2: A(x) B(x-1) : 0.6 p3: A(x) A(z) : y<4 B(x+z)[A(y)] B(7)[A(3)]
12
Lindenmayer Systems Example: L-System 2 ω : A(1) B(3) A(5) p1: A(x) A(x+1) : 0.4 p2: A(x) B(x-1) : 0.6 p3: A(x) A(z) : y<4 B(x+z)[A(y)] B(7)[B(2)]
13
Environmental Sensitivity Add a ‘query’ module to read the position. –?P(x,y) will assign the current position to x,y. –?H(h) will assign the H orientation to h. Allows parameter variation depending on external parameter. A?P(x,y) : (x²+y²)<10² F(x²+y²) Example: L-System 3
14
Pruning Use ?P to find when to prune, % to do it. Example: L-system 4 –Dormant buds grow on the tree. –New branches grow if the ‘leading bud’ is cut. –Pruning function cut bud leaving a L*L cube.
15
A model of tree development Early works: A tree is a self-similar branching structure. –Led to unnatural exponential growth. Botanical model: A shoot is viable only if it receives enough light. –Leads to a more constrained branching ratio.
16
A model of tree development Hypotheses: –Start with a single non-branching shoot. –New shoots grow from buds near end of previous year’s segments. –There is a maximum branching ratio. –All branch segments have the same length. –Current year’s shoots grow leaves. –Leaves need light.
17
A model of tree development Consequences –Crown radius is Θ(age). –Available leaf area is Θ(age²). –Number of potential shoots is Θ(exp(age)) will get, in time, limited by available leaf area. Branching factor b age is thus b age = (2.age+1)/age² This produces L-system 5.
18
Putting all together : LS 6 ω: Axiom - start with a single apex, aged 1. P1: Growth - !pruned, branching. P2: Growth - !pruned, !branching, creates a bud. P3: Growth - pruned. P4: Creates growth signal S where P3 occured. P5,6: Propagate S to earlier buds. P7: S activate a new apex, with the right age. P8: Housekeeping - Age of the buds.
19
Conclusion Issues : –Defining the pruning volume equation. Use constructive geometry. Use ellipsoid skeletons. –Large number of primitives. Reuse via instantiation. –Characterizing plants and their reaction to pruning is non-trivial.
20
Conclusion It’s cool. Enough data to code the algorithm. –It’s all theory, maybe a fancy CS660 project ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.