From bd1140a10c5680ffa013d7d2fbde7b3b710f7a04 Mon Sep 17 00:00:00 2001 From: spixx Date: Sun, 26 Nov 2006 20:23:21 +0000 Subject: [PATCH] *** empty log message *** --- NEWS | 24 +++++++++++++++++++ README | 73 ++++++++++++++++++++++++++++++++++++---------------------- 2 files changed, 70 insertions(+), 27 deletions(-) diff --git a/NEWS b/NEWS index e69de29..b4f6d9f 100644 --- a/NEWS +++ b/NEWS @@ -0,0 +1,24 @@ +LSystem3D 0.2.0 + * Stochastic L-system + * Menu bar with "File" and "Help" menus + * Reenabled the save/load functions + * Save initial diameter and factor + +LSystem3D 0.1.0 + * Migration from GLUI to FOX toolkit + * Multicolor support + * Draw polygons (leaves) with correct normals + * Diameter control of segment + * Node rewriting + * Temporarily disabled save/load function + * Removed angle updates in real time + * Renamed "Iterations" -> "Depth" + +LSystem3D 0.0.1-2 + * Configuration bugfix + +LSystem3D 0.0.1-1 + * Interpret basic rules (edge rewriting, bracketed) + * Simple 3D rendering + * Axiom/rules/angle/iterations input in GUI + * Save/load from file 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-'} -- 2.34.1