X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=README;h=9343d71ed76fe5ab401e263432eddbb748e8de89;hb=881fc6e51fbb9da0cfb31d7ea578d4085e9acb6a;hp=2130ff7461b256b73e2d44a1ffbb373192bf7ffe;hpb=9469555e9034ef089e49b090b65253e73a19f357;p=lsystem3d.git diff --git a/README b/README index 2130ff7..9343d71 100644 --- a/README +++ b/README @@ -1,9 +1,9 @@ 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 +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 it will probably not work 100% accurate. @@ -12,74 +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. -Necessary libs: +A fast computer with HW accelerated 3D would be nice. + + +Dependencies: OpenGL -GLU -GLUI User Interface Library -GLUT (freeglut) +FOX toolkit libxml++ -glibmm USAGE ----- -Keys: - -Esc quit -+ zoom in -- zoom out -y rotate around the y-axis -Up move camera up -Down move camera down -Left move camera left -Right move camera right -PageUp move camera forth -PageDown move camera back - +Rendering window: -Rules: +Left mouse button: Move model in z-plane +Middle mouse button: Zoom in/out +Right mouse button: Rotate around y-axis -= name/rule separator -A-Z rewrite operator, step forward -+ 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 surface -} last vertex of a filled surface -f one vertex of a filled surface -! decrement diameter of segment +Controller window: -Example: +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 -The GUI input -Axiom: A -Rule #1: A=A/[!+A&A]/A -Angle: 30.0 -Iterations: 4 +Rules: -will render a simple l-system and create the xml-structure +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 - - - A - A/[!+A&A]/A - 30.0 - 4 - +Example: -and save it to the file named "lsystem.xml" when quitting. The same file will -be initially loaded every time LSystem3d is started. +F(0.33)=[+FL]F/[-FL]F! +F(0.33)=F[&FL]F! +F(0.34)=F/[-FL]&F! +L={,-f++f-|-f++f-'}