Title: Simplicity in Complexity
1Simplicity in Complexity
2Rewriting SystemsClassic Example Koch 1905
Initiator
Generator
3Rewriting SystemsFormal Grammars
- Best understood rewriting systems are those that
operate on character strings - Chomsky 1956 formal grammars applied to natural
languages - Backus Naur 1959 rewriting notation applied to
formal definition of programming language
(ALGOL-60) - Lindenmayer 1968 introduced a new type of
rewriting system, subsequently termed L-systems - Essential difference between Chomsky grammars and
L-systems is that in L-systems productions are
applied in parallel.
4Deterministic, Context Free L-Systems (DOL)
Grammar
Derivation
5Formal Definition of L-System
100 Real Math
6Formal Definition of Derivation
100 Real Math
7Turtle Interpretation of StringsAbelson
diSessa (MIT 1982)
The state of the turtle is defined as an
ordered triplet, where the
cartesian coordinates represent the
turtles position, and the angle a , called the
heading, is interpreted as the direction in which
the turtle is facing.
Where am I?
a
8Turtle Interpretation of Character String
Character Interpretation
F
f
-
9Turtle Interpretation of a String
FFF-FF-F-FFFF-F-FFF
String
d 90
-
10Example of Turtle InterpretationQuadratic Koch
Island
The L-System
11Sequence of Koch Curves Obtained byModification
of Production Successor
12General Edge Rewriting
The Koch constructions are a restricted case of
general edge rewriting, where there can be more
than one edge letter, interpreted by the turtle
as move forward. Examples
13Example of FASS Curves Generated byEdge-rewriting
FASS space-filling, self-avoiding, simple, and
self-similar
14Node RewritingTurtle Interpretation
Aligned with turtle state here
Turtle resumes here
Subfigure A
PA
QA
15Node Rewriting ExampleHilbert Curve
16Modeling in Three Dimensions
17Symbols to Control Turtle Orientation in Space
Symbol Turtle Semantics
Turn left by angle d, using rotation matrix
Ru(d) - Turn right by angle d, using rotation
matrix Ru(-d) Pitch down by angle d, using
rotation matrix RL(d) Pitch up by angle d,
using rotation matrix RL(-d) \ Roll left by
angle d, using rotation matrix RH(d) / Roll
right by angle d, using rotation matrix RH(-d)
18Three Dimensional Hilbert Curve
19Branching StructuresAxial Trees
- At each node at most one outgoing straight
segment is distinguished - The first segment in the sequence originates at
the root of the tree or as a lateral segment at
some node - Each subsequent segment is a straight segment
- The last segment is not followed by any straight
segments
20Tree OL-Systems
e
d
e
d
c
s
b
c
s
b
a
a
Production
T1
T2
21Bracketed OL-Systems
Turtle semantics Push the current state of
the turtle onto a stack. The information saved
contains the turtles position and orientation,
and possibly other attributes such as
color, segment width Pop a state from the
state and make it the current state of the
turtle. No line is drawn, although in general
the position of the turtle changes
Example
d45 FF-F-FFFF-F
22Plant-Like Structures Generated byBracketed
OL-Systems
23Plant-Like Structures Generated byBracketed
OL-Systems
24Three Dimensional Bracketed OL-System
25Stochastic OL-Systems
0.34
0.33
0.33
26(No Transcript)
27Example of Stochastic DOL-System
28Parametric DOL-Systems
Formal Parameters
Actual Parameters
Module
Condition
L-System
Derivation
29Parametric DOL Systems
- A production matches a nodule in a parametric
word if the following conditions are met - The letter in the module and the letter in the
production predecessor are the same - The number of actual parameters in the module is
equal to the number of formal parameters in the
production predecessor - The condition evaluates to true if the actual
parameter values are substituted for the formal
parameters in the production
30Turtle Interpretation of Parametric Words
If one or more parameters are associated with a
symbol interpreted by the turtle, the value of
the first parameter controls the turtles state.
If the symbol is not followed by any parameters,
default values specified ooutside the L-system
are used as in the non-parametric case. The
basic set of symbols affected by the introduction
of parameters is listed below F(a) Move forward
a step of length a gt 0. f(a) Move forward a step
of length a without drawing a line (a) Rotate
around U by an angle of a degrees (a) Rotate
around L by an angle of a degrees /(a) Rotate
around H by an angle of a degrees
31Example of Textures and Parametric Surface Models
32Developmental Surface Models
Consider the following L-system
33Fern Drawn Using Leaves Specified byPrevious
L-System
34Alternative Notation for Polygon Drawing
35Parametric L-Systems Produce Varying Leaf
Structures
36 37Rose Leaves Generated by L-System ofPrevious
Slide
38Parametric L-System Used to GenerateCompound
Leaves
39Examples of Compound Leaves Generated byL-System
of Slide 38
40Examples of Compound Leaves Generated byL-System
of Slide 38
41General Branching Patterns
- Terminal main apex and all lateral apices
terminate - Sympoidal main apex terminates some lateral
apices continue - Monopoidal main apex continues all lateral
apices terminate - Polypoidal main apex continues some lateral
apices also continue
42Inflorescences Compound Flowering
StructuresRacemes Monopoidal Inflorscences
Generating Partial L-System
L leaf I Internode K Flower
43Pattern of Simple Racemes
44Lily-of-the-ValleyExample of Simple Raceme
45Development of RacemeCapsella Bursa-Pastoris
46L-System Generating Capsella Bursa-Pastoris