Lexa

WPF, C#, Objective C and a little Math

Archive for June, 2011

Cutting module in LSystems

Cutting is now in the library. It is used to simulate shedding of plant parts, i.e. palm trees. The idea of shedding is the following: if cut symbol (module) is in the string, then all following symbols in current branch are skipped, i.e. R, StartBranch, F, Cut, F, L, EndBranch is transformed into R, StartBranch, […]

3d L-Systems rendering using WPF Viewport3D

Wow! Its 3d now! ITurtle interface was extended with Pitch and Roll commands, and now it is possible to define L-Systems in 3d. Its the very first implementation, and UI is a bit ugly – I just created 2 tabs – “3d” and “2d”, so both views can be used for the selected System. The […]

LSystems 2d Viewer

Latest project update includes 2d Viewer – it uses turtle graphics to render L-System (implementation is based on my previous post). Viewer includes 2 examples – Tree (taken from L+C description) and Leaf. Some changes were done in LSystems to be able to render 2d: * Introduced Turtle namespace containing everything needed for turtle rendering, […]

LSystems in google code

After some reading of official documentation for “L+C” (this one), I made some changes in LSystems lib, including: DecompositionAttribute – to declare simple context free productions. IgnoreAttribute – to ignore modules in source string when applying production rule. Special handling of StartBranch and EndBranch modules when matching left or right predecessors. Project source code is […]

Context sensitive parametric L-systems framework in C#

Subject of this post is a small C# library, which can be used to: – define L-System and Modules as C# classes, – create and use L-System using these definitions. I was inspired by “L+C” language (see official page of L+C for details), but in contrast to “L+C” I wanted to use only native language […]