X-Git-Url: https://git.piment-noir.org/?p=lsystem3d.git;a=blobdiff_plain;f=README;fp=README;h=9343d71ed76fe5ab401e263432eddbb748e8de89;hp=d04dab162a514bded5562a3c60469e242b85fe27;hb=bd1140a10c5680ffa013d7d2fbde7b3b710f7a04;hpb=281fce584e65d26e95863ee684b82a420b25f892 diff --git a/README b/README index d04dab1..9343d71 100644 --- a/README +++ b/README @@ -1,7 +1,7 @@ DESCRIPTION ----------- -LSystem3d is a experimental Lindenmayer System generator with 3d capabilities, +LSystem3D is a experimental Lindenmayer System generator with 3D capabilities, whose main goal is to generate all kinds of plants or whatever fractal L-system structures the user desires. For now, LSystem3D is highly under development and is considered alpha, that is, lots of things are missing and @@ -12,47 +12,66 @@ it will probably not work 100% accurate. REQUIREMENTS ------------ -Currently tested in Debian GNU/Linux (Sid) only, but should compile fine on -other platforms without bigger modification. +Currently tested on Debian GNU/Linux (Sid) only, but should compile fine on +other platforms without bigger modifications. A fast computer with HW accelerated 3D would be nice. -Dependencies; + +Dependencies: OpenGL FOX toolkit libxml++ -glibmm USAGE ----- -Mouse keys: +Rendering window: + +Left mouse button: Move model in z-plane +Middle mouse button: Zoom in/out +Right mouse button: Rotate around y-axis + + +Controller window: -Left move model in z-plane -Middle zoom in and out -Right rotate around the y-axis +Axiom: Initial rule +Rules: The L-system rules +Angle: Turn/pitch/roll angle +Depth: Depth of recursion +Diameter: Initial diameter of segment +Factor: For each recursion level, multiply segment diameter with this value +Generate: Generate the L-system Rules: -= name/rule separator -F walk forward, leave a trace -A-Z rewrite operator -+ turn left -- turn right -& pitch down -^ pitch up -\ roll left -/ roll right -| turn around 180 degrees -[ save state to stack -] restore state from stack -{ first vertex of a filled polygon -} last vertex of a filled polygon -f one vertex of a filled polygon -! decrease diameter of segment -' increase color index -, decrease color index +F Walk forward, creating a segment +A-Z Replacement rule +A(0.33) Probability factor 0.33 for rule A += Rule assignment ++ Turn left +- Turn right +& Pitch down +^ Pitch up +\ Roll left +/ Roll right +| Turn around 180 degrees +[ Save state to stack +] Load state from stack +{ Create a planar surface +} Close a planar surface +f One vertex in a planar surface, specified CCW +! Decrement segment diameter +' Increment current index to color table +, Decrement current index to color table + +Example: + +F(0.33)=[+FL]F/[-FL]F! +F(0.33)=F[&FL]F! +F(0.34)=F/[-FL]&F! +L={,-f++f-|-f++f-'}