*** empty log message ***
[lsystem3d.git] / README
CommitLineData
9469555e 1DESCRIPTION
2-----------
3
bd1140a1 4LSystem3D is a experimental Lindenmayer System generator with 3D capabilities,
9469555e 5whose main goal is to generate all kinds of plants or whatever fractal
90660240 6L-system structures the user desires. For now, LSystem3D is highly under
9469555e 7development and is considered alpha, that is, lots of things are missing and
8it will probably not work 100% accurate.
9
10
11
12REQUIREMENTS
13------------
14
bd1140a1 15Currently tested on Debian GNU/Linux (Sid) only, but should compile fine on
16other platforms without bigger modifications.
9469555e 17
90660240 18A fast computer with HW accelerated 3D would be nice.
19
bd1140a1 20
21Dependencies:
9469555e 22
23OpenGL
90660240 24FOX toolkit
9469555e 25libxml++
9469555e 26
27
28
29USAGE
30-----
31
bd1140a1 32Rendering window:
33
34Left mouse button: Move model in z-plane
35Middle mouse button: Zoom in/out
36Right mouse button: Rotate around y-axis
37
38
39Controller window:
9469555e 40
bd1140a1 41Axiom: Initial rule
42Rules: The L-system rules
43Angle: Turn/pitch/roll angle
44Depth: Depth of recursion
45Diameter: Initial diameter of segment
46Factor: For each recursion level, multiply segment diameter with this value
47Generate: Generate the L-system
9469555e 48
49
50Rules:
51
bd1140a1 52F Walk forward, creating a segment
53A-Z Replacement rule
54A(0.33) Probability factor 0.33 for rule A
55= Rule assignment
56+ Turn left
57- Turn right
58& Pitch down
59^ Pitch up
60\ Roll left
61/ Roll right
62| Turn around 180 degrees
63[ Save state to stack
64] Load state from stack
65{ Create a planar surface
66} Close a planar surface
67f One vertex in a planar surface, specified CCW
68! Decrement segment diameter
69' Increment current index to color table
70, Decrement current index to color table
71
72Example:
73
74F(0.33)=[+FL]F/[-FL]F!
75F(0.33)=F[&FL]F!
76F(0.34)=F/[-FL]&F!
77L={,-f++f-|-f++f-'}