L-Systems

Home » Variation Types » L-Systems

Variations that use L-Systems to generate shapes. These are all “blur” variations that ignore their input and just generate a random point on the shape for each iteration.

<flame smooth_gradient="0" version="JWildfire V6.00 (16.08.2020)" size="250 250" center="8.0 -2.08" scale="14.512383900928793" rotate="0.0" filter="0.75" filter_type="GLOBAL_SHARPENING" filter_kernel="MITCHELL_SMOOTH" filter_indicator="0" filter_sharpness="4.0" filter_low_density="0.025" oversample="1" post_noise_filter="0" post_noise_filter_threshold="0.35" ai_post_denoiser="NONE" post_optix_denoiser_blend="0.11111" quality="10.0" background_type="SINGLE_COLOR" background="0.4 0.4 0.4" bg_transparency="0" fg_opacity="1.0" brightness="50.0" saturation="1.0" gamma="4.0" gamma_threshold="0.01" vibrancy="1.0" contrast="1.0" white_level="220.0" temporal_samples="1.0" cam_zoom="1.0" cam_pitch="0.0" cam_yaw="0.0" cam_roll="0.0" cam_persp="0.0" cam_xfocus="0.0" cam_yfocus="0.0" cam_zfocus="0.0" cam_pos_x="0.0" cam_pos_y="0.0" cam_pos_z="0.0" cam_zpos="0.0" cam_dof="0.0" cam_dof_area="0.5" cam_dof_exponent="2.0" low_density_brightness="0.24" balancing_red="1.0" balancing_green="1.0" balancing_blue="1.0" cam_dof_shape="BUBBLE" cam_dof_scale="1.0" cam_dof_rotate="0.0" cam_dof_fade="1.0" resolution_profile="500x500" antialias_amount="0.25" antialias_radius="0.5" post_symmetry_type="NONE" post_symmetry_order="3" post_symmetry_centre_x="0.0" post_symmetry_centre_y="0.0" post_symmetry_distance="1.25" post_symmetry_rotation="6.0" frame="1" frame_count="300" fps="30" post_blur_radius="0" post_blur_fade="0.95" post_blur_falloff="2.0" zbuffer_scale="1.0" zbuffer_bias="0.0" zbuffer_filename="PRE_ZBUF" centreXCurve_enabled="false" centreXCurve_view_xmin="0" centreXCurve_view_xmax="2" centreXCurve_view_ymin="8.0" centreXCurve_view_ymax="8.0" centreXCurve_interpolation="SPLINE" centreXCurve_selected_idx="0" centreXCurve_locked="false" centreXCurve_point_count="1" centreXCurve_x0="1" centreXCurve_y0="8.0" centreYCurve_enabled="false" centreYCurve_view_xmin="0" centreYCurve_view_xmax="2" centreYCurve_view_ymin="-2.08" centreYCurve_view_ymax="-2.08" centreYCurve_interpolation="SPLINE" centreYCurve_selected_idx="0" centreYCurve_locked="false" centreYCurve_point_count="1" centreYCurve_x0="1" centreYCurve_y0="-2.08" camPitchCurve_enabled="false" camPitchCurve_view_xmin="0" camPitchCurve_view_xmax="2" camPitchCurve_view_ymin="-3.6" camPitchCurve_view_ymax="-3.6" camPitchCurve_interpolation="SPLINE" camPitchCurve_selected_idx="0" camPitchCurve_locked="false" camPitchCurve_point_count="1" camPitchCurve_x0="1" camPitchCurve_y0="-3.6" camYawCurve_enabled="false" camYawCurve_view_xmin="0" camYawCurve_view_xmax="2" camYawCurve_view_ymin="1.2" camYawCurve_view_ymax="1.2" camYawCurve_interpolation="SPLINE" camYawCurve_selected_idx="0" camYawCurve_locked="false" camYawCurve_point_count="1" camYawCurve_x0="1" camYawCurve_y0="1.2" camBankCurve_enabled="false" camBankCurve_view_xmin="0" camBankCurve_view_xmax="2" camBankCurve_view_ymin="-12.8" camBankCurve_view_ymax="-12.8" camBankCurve_interpolation="SPLINE" camBankCurve_selected_idx="0" camBankCurve_locked="false" camBankCurve_point_count="1" camBankCurve_x0="1" camBankCurve_y0="-12.8" pixelsPerUnitCurve_enabled="false" pixelsPerUnitCurve_view_xmin="0" pixelsPerUnitCurve_view_xmax="2" pixelsPerUnitCurve_view_ymin="50.0" pixelsPerUnitCurve_view_ymax="50.0" pixelsPerUnitCurve_interpolation="SPLINE" pixelsPerUnitCurve_selected_idx="0" pixelsPerUnitCurve_locked="false" pixelsPerUnitCurve_point_count="1" pixelsPerUnitCurve_x0="1" pixelsPerUnitCurve_y0="50.0" mixer_mode="OFF" grad_edit_hue_curve_enabled="false" grad_edit_hue_curve_view_xmin="-5" grad_edit_hue_curve_view_xmax="260" grad_edit_hue_curve_view_ymin="-5.0" grad_edit_hue_curve_view_ymax="260.0" grad_edit_hue_curve_interpolation="SPLINE" grad_edit_hue_curve_selected_idx="0" grad_edit_hue_curve_locked="false" grad_edit_hue_curve_point_count="12" grad_edit_hue_curve_x0="0" grad_edit_hue_curve_y0="255.0" grad_edit_hue_curve_x1="23" grad_edit_hue_curve_y1="17.85" grad_edit_hue_curve_x2="46" grad_edit_hue_curve_y2="17.85" grad_edit_hue_curve_x3="70" grad_edit_hue_curve_y3="41.795580110497234" grad_edit_hue_curve_x4="93" grad_edit_hue_curve_y4="68.09941520467837" grad_edit_hue_curve_x5="116" grad_edit_hue_curve_y5="68.09941520467837" grad_edit_hue_curve_x6="139" grad_edit_hue_curve_y6="126.28571428571429" grad_edit_hue_curve_x7="162" grad_edit_hue_curve_y7="173.52209944751382" grad_edit_hue_curve_x8="185" grad_edit_hue_curve_y8="212.5" grad_edit_hue_curve_x9="209" grad_edit_hue_curve_y9="212.5" grad_edit_hue_curve_x10="232" grad_edit_hue_curve_y10="220.95549738219896" grad_edit_hue_curve_x11="255" grad_edit_hue_curve_y11="220.95549738219896" grad_edit_saturation_curve_enabled="false" grad_edit_saturation_curve_view_xmin="-5" grad_edit_saturation_curve_view_xmax="260" grad_edit_saturation_curve_view_ymin="-5.0" grad_edit_saturation_curve_view_ymax="260.0" grad_edit_saturation_curve_interpolation="SPLINE" grad_edit_saturation_curve_selected_idx="0" grad_edit_saturation_curve_locked="false" grad_edit_saturation_curve_point_count="12" grad_edit_saturation_curve_x0="0" grad_edit_saturation_curve_y0="255.0" grad_edit_saturation_curve_x1="23" grad_edit_saturation_curve_y1="255.0" grad_edit_saturation_curve_x2="46" grad_edit_saturation_curve_y2="255.0" grad_edit_saturation_curve_x3="70" grad_edit_saturation_curve_y3="255.0" grad_edit_saturation_curve_x4="93" grad_edit_saturation_curve_y4="183.98734177215192" grad_edit_saturation_curve_x5="116" grad_edit_saturation_curve_y5="183.98734177215192" grad_edit_saturation_curve_x6="139" grad_edit_saturation_curve_y6="198.3333333333333" grad_edit_saturation_curve_x7="162" grad_edit_saturation_curve_y7="189.93827160493825" grad_edit_saturation_curve_x8="185" grad_edit_saturation_curve_y8="255.0" grad_edit_saturation_curve_x9="209" grad_edit_saturation_curve_y9="255.0" grad_edit_saturation_curve_x10="232" grad_edit_saturation_curve_y10="230.82938388625593" grad_edit_saturation_curve_x11="255" grad_edit_saturation_curve_y11="230.82938388625593" grad_edit_luminosity_curve_enabled="false" grad_edit_luminosity_curve_view_xmin="-5" grad_edit_luminosity_curve_view_xmax="260" grad_edit_luminosity_curve_view_ymin="-5.0" grad_edit_luminosity_curve_view_ymax="260.0" grad_edit_luminosity_curve_interpolation="SPLINE" grad_edit_luminosity_curve_selected_idx="0" grad_edit_luminosity_curve_locked="false" grad_edit_luminosity_curve_point_count="12" grad_edit_luminosity_curve_x0="0" grad_edit_luminosity_curve_y0="127.5" grad_edit_luminosity_curve_x1="23" grad_edit_luminosity_curve_y1="125.0" grad_edit_luminosity_curve_x2="46" grad_edit_luminosity_curve_y2="125.0" grad_edit_luminosity_curve_x3="70" grad_edit_luminosity_curve_y3="164.5" grad_edit_luminosity_curve_x4="93" grad_edit_luminosity_curve_y4="118.5" grad_edit_luminosity_curve_x5="116" grad_edit_luminosity_curve_y5="118.5" grad_edit_luminosity_curve_x6="139" grad_edit_luminosity_curve_y6="164.99999999999997" grad_edit_luminosity_curve_x7="162" grad_edit_luminosity_curve_y7="133.5" grad_edit_luminosity_curve_x8="185" grad_edit_luminosity_curve_y8="127.5" grad_edit_luminosity_curve_x9="209" grad_edit_luminosity_curve_y9="127.5" grad_edit_luminosity_curve_x10="232" grad_edit_luminosity_curve_y10="105.5" grad_edit_luminosity_curve_x11="255" grad_edit_luminosity_curve_y11="105.5">
  <xform weight="0.5" color_type="DIFFUSION" color="0.28" symmetry="-1.0" material="0.0" material_speed="0.0" mod_gamma="0.0" mod_gamma_speed="0.0" mod_contrast="0.0" mod_contrast_speed="0.0" mod_saturation="0.0" mod_saturation_speed="0.0" mod_hue="0.0" mod_hue_speed="0.0" lsystem_js="1.0" lsystem_js_fx_priority="0" lsystem_js_iters="5" lsystem_js_iters_enabled="false" lsystem_js_iters_view_xmin="0" lsystem_js_iters_view_xmax="2" lsystem_js_iters_view_ymin="5.0" lsystem_js_iters_view_ymax="5.0" lsystem_js_iters_interpolation="SPLINE" lsystem_js_iters_selected_idx="0" lsystem_js_iters_locked="false" lsystem_js_iters_point_count="1" lsystem_js_iters_x0="1" lsystem_js_iters_y0="5.0" lsystem_js_step="0.18" lsystem_js_step_enabled="false" lsystem_js_step_view_xmin="0" lsystem_js_step_view_xmax="2" lsystem_js_step_view_ymin="0.18" lsystem_js_step_view_ymax="0.18" lsystem_js_step_interpolation="SPLINE" lsystem_js_step_selected_idx="0" lsystem_js_step_locked="false" lsystem_js_step_point_count="1" lsystem_js_step_x0="1" lsystem_js_step_y0="0.18" lsystem_js_angle="0.0" lsystem_js_presetId="8" lsystem_js_presetId_enabled="false" lsystem_js_presetId_view_xmin="0" lsystem_js_presetId_view_xmax="2" lsystem_js_presetId_view_ymin="8.0" lsystem_js_presetId_view_ymax="8.0" lsystem_js_presetId_interpolation="SPLINE" lsystem_js_presetId_selected_idx="0" lsystem_js_presetId_locked="false" lsystem_js_presetId_point_count="1" lsystem_js_presetId_x0="1" lsystem_js_presetId_y0="8.0" lsystem_js_show_lines_param="1" lsystem_js_show_lines_param_enabled="false" lsystem_js_show_lines_param_view_xmin="0" lsystem_js_show_lines_param_view_xmax="2" lsystem_js_show_lines_param_view_ymin="1.0" lsystem_js_show_lines_param_view_ymax="1.0" lsystem_js_show_lines_param_interpolation="SPLINE" lsystem_js_show_lines_param_selected_idx="0" lsystem_js_show_lines_param_locked="false" lsystem_js_show_lines_param_point_count="1" lsystem_js_show_lines_param_x0="1" lsystem_js_show_lines_param_y0="1.0" lsystem_js_line_thickness="0.5" lsystem_js_show_points_param="0" lsystem_js_show_points_param_enabled="false" lsystem_js_show_points_param_view_xmin="0" lsystem_js_show_points_param_view_xmax="2" lsystem_js_show_points_param_view_ymin="0.0" lsystem_js_show_points_param_view_ymax="0.0" lsystem_js_show_points_param_interpolation="SPLINE" lsystem_js_show_points_param_selected_idx="0" lsystem_js_show_points_param_locked="false" lsystem_js_show_points_param_point_count="1" lsystem_js_show_points_param_x0="1" lsystem_js_show_points_param_y0="0.0" lsystem_js_point_thickness_param="1.0" lsystem_js_point_thickness_param_enabled="false" lsystem_js_point_thickness_param_view_xmin="0" lsystem_js_point_thickness_param_view_xmax="2" lsystem_js_point_thickness_param_view_ymin="1.0" lsystem_js_point_thickness_param_view_ymax="1.0" lsystem_js_point_thickness_param_interpolation="SPLINE" lsystem_js_point_thickness_param_selected_idx="0" lsystem_js_point_thickness_param_locked="false" lsystem_js_point_thickness_param_point_count="1" lsystem_js_point_thickness_param_x0="1" lsystem_js_point_thickness_param_y0="1.0" lsystem_js_amountCurve_enabled="false" lsystem_js_amountCurve_view_xmin="0" lsystem_js_amountCurve_view_xmax="2" lsystem_js_amountCurve_view_ymin="1.0" lsystem_js_amountCurve_view_ymax="1.0" lsystem_js_amountCurve_interpolation="SPLINE" lsystem_js_amountCurve_selected_idx="0" lsystem_js_amountCurve_locked="false" lsystem_js_amountCurve_point_count="1" lsystem_js_amountCurve_x0="1" lsystem_js_amountCurve_y0="1.0" lsystem_js_grammar="3B20536D616C6C20736574206F6620436F6D6D616E647320666F7220746865204C73797374656D5F6A7320766172696174696F6E20656E204A5746200A3B20462C206F722064203A2044726177207365676D656E7420666F7277617264202853746570292073697A65200A3B20472C206F72206D203A206D6F766520666F72776172642C20776974686F75742064726177696E67202853746570292053697A65200A3B202B203A20726F746174652074686520747572746C65203930204465677265737320636F756E746572636C6F636B77697365200A3B202D203A20726F746174652074686520747572746C65203930204465677265737320636C6F636B77697365200A3B207C203A20726F746174652074686520747572746C65203138302044656772657373200A3B2021203A205377697463682074686520726F7461746174696F6E20616E676C6520636F6D6D616E647320272B2720636C6F636B776973652C20272D27203D20636F756E746572636C6F636B77697365200A3B205B203A20707573682074686520547572746C65207374617465206F6E20737461636B200A3B205D203A20706F702074686520547572746C6520537461636B2066726F6D20537461636B200A414448313535207B203B20416E74686F6E792048616E6D657220323030300A416E676C65203435203B2043657361726F20766172696174696F6E0A4178696F6D20660A663D662B2B2B2B2B2B2B2B2B2B662D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D662B2B2B2B2B2B2B2B2B2B660A7D0A" coefs="1.0 0.0 0.0 1.0 0.0 0.0" chaos="1.0" colorCurve_enabled="false" colorCurve_view_xmin="0" colorCurve_view_xmax="2" colorCurve_view_ymin="0.28" colorCurve_view_ymax="0.28" colorCurve_interpolation="SPLINE" colorCurve_selected_idx="0" colorCurve_locked="false" colorCurve_point_count="1" colorCurve_x0="1" colorCurve_y0="0.28"/>
  <palette count="256" format="RGB">
FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FA6900FA6900FA6900FA6900
FA6900FA6900FA6900FA6900FA6900FA6900FA6900FA6900FA6900FA6900FA6900FA6900
FA6900FA6900FA6900FA6900FA6900FA6900FA6900FA6900FA6900FA6900FA6900FA6900
FA6900FA6900FA6900FA6900FFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4A
FFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4A
FFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4AFFFC4A
65CC2165CC2165CC2165CC2165CC2165CC2165CC2165CC2165CC2165CC2165CC2165CC21
65CC2165CC2165CC2165CC2165CC2165CC2165CC2165CC2165CC2165CC2165CC2165CC21
65CC2165CC2165CC2165CC2165CC2165CC2165CC2165CC215FEBE75FEBE75FEBE75FEBE7
5FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE7
5FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE75FEBE7
5FEBE75FEBE75FEBE75FEBE73A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE0
3A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE0
3A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE03A2BE0
FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC90AA3C90AA3C90AA3C90AA3
C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3
C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3C90AA3
C90AA3C90AA3C90AA3C90AA3  </palette>
</flame>


An L-System or Lindenmayer System uses a string rewriting framework to create organic and fractal patterns. It uses a two step process:

Step 1: Starting with an initial string or characters, the “axiom”, the system uses a set of rules to iteratively rewrite the characters to create a new string. In each iteration, each character in the string is replace with a new sequence of characters defined by the rules. This is the L-System proper; it only creates a string without interpreting it.

Step 2: The resulting string is interpreted graphically, most commonly using a turtle graphics paradigm, where the characters are commands that tell a pen-weilding robotic turtle how to move across a sheet of paper. (The 3D version is harder to visualize, but works the same way.)

There is no single standard for the formats of the L-System rules or turtle commands, so pay close attention to their definitions in each particular variation. Many L-Systems can be reformulated as Iterated Function Systems; these variations don’t attempt that; they just iterate the rules on the axiom and interpret the result graphically.

https://en.wikipedia.org/wiki/L-system
http://paulbourke.net/fractals/lsys/

lsystem_js

Create a two dimensional shape using an L-System. Compatible with the Fractint L-System type. See general description above.

Type: 2D
Author: Jesus Sosa
Date: 31 Oct 2017

To prevent accidentally hanging JWildfire, the length of the string generated by the L-System is limited to 25,000 characters. This can be changed with the preference tinaLSystemMaxLength if more intricate patterns are needed.

Grammar

The L-System grammar specified by the grammar parameter has the following format (this is the default grammar for the variation):

  ADH155 {    ; Anthony Hanmer 2000, Cesaro variation
    Angle 45  ; The angle increment in degrees
    Axiom f   ; The starting character string
    f=f++++++++++f--------------------f++++++++++f
  }

Text after a semicolon is ignored, allowing comments to be specified. The grammar begins with name of the L-System and the definition is enclosed in curly braces. The Angle keyword specifies the default angle (this may be overridden with the angle parameter). The Axiom keyword specifies the starting string; it is one character in this example, but may be multiple characters if desired.

Rules are specified in the format “c=string”, and convert the single character ‘c’ into “string”.

Drawing Commands

After the axiom is iterated a number of times to produce the final string, that string is used to control the turtle. Each character in the string is a command. Case is ignored, so either ‘F’ or ‘f’ can be used to draw forward. Unlisted characters are ignored for drawing, but may be used by the grammar to create more complex strings. Some commands take a numeric argument, shown with “##”. This may be any unsigned number; fractions must start with ‘0’ so, for example, use “@0.5”, not “@.5”.

Character Description
C## Reserved (currently ignored)
D Draw forward
F Draw forward
G Move forward (without drawing)
M Move forward
+ Rotate the turtle left (counterclockwise)
Rotate the turtle right (clockwise)
| Turn around (rotate 180°)
! Reverse directions (makes ‘+’ rotate right and ‘-‘ left)
[ Push the current turtle state onto a stack
] Pop the current turtle state from the stack (restores the previous state)
/## Rotate right ## degrees
\## Rotate left ## degrees
@## Scale the step size by ##; ## may be a plain number, or preceded by I for inverse (divide instead of multiply) or Q for square root (for example @IQ2 divides the step size by the square root of 2)
<## Reserved (currently ignored)
>## Reserved (currently ignored)

Parameters

Parameter Description
grammar The grammar for the L-System; see description above
iters Number of times to iterate the L-System before drawing
step Length of each drawing step
angle Angle to turn; 0 to use the value specified in the grammar
presetId -1: Use the grammar from the grammar parameter
Other: Use a preset grammar (currently 0 through 25)
show_lines_param Relative density of lines compared to points; typically set to 1 to show the lines and 0 to hide them, but, for example, if show_lines_param is 5 and show_points_param is 1 then lines will be five times more dense than points
line_thickness Thickness of drawn lines
show_points_param Relative density of points compared to lines; typically set to 1 to show the points and 0 to hide them.
point_thickness Thickness of drawn points

https://jwildfire-forum.overwhale.com/viewtopic.php?f=23&t=2555

lsystem3D_js

Create a three dimensional mesh using an L-System. Compatible with the L-System description in The Algorithmic Beauty of Plants by Przemyslaw Prusinkiewicz and Aristid Lindenmayer. See general description above.

Type: 3D
Author: Jesus Sosa, based on Lparser by Laurens Lapré
Date: 23 Nov 2017

Grammar

The L-System grammar specified by the grammar parameter contains lines of the form “keyword argument”, where “keyword” is from the table below. Comments begin with a ‘#’.

Keyword Default Description
angle x 45 Angle for drawing commands that rotate the turtle
axiom s (none) Start string for the L-System
color i r g b (none) Set color with index i (used by the ‘c’ drawing command) to the color (r,g,b)
min_thickness 0 Lower limit for thickness (so elements won’t disappear when they get too thin) as a percentage of length
mutation x 0 Mutates the rule set x times before iterating
poly_limit x no limit Limit the resulting mesh to x polygons
recursion x 1 Recursion level (number of times the rules are iterated); be careful not to make it too high or JWildfire will hang.
rule s (none) Add a rule to the L-System; the format is c=string, and the rule will convert the character ‘c’ to the string
shape x 0 If 1, make the output shape a cylinder with smoothing enabled
switch_yz 0 Swap y and z coordinates on output if 1
thickness x 100 Starting thickness as a percentage of length

Drawing Commands

After the axiom is iterated a number of times to produce the final string, that string is used to control the turtle. Each character in the string is a command. Unlisted characters are ignored for drawing, but may be used by the grammar to create more complex strings. Some commands take an optional numeric argument in parentheses, shown with “(x)”; the Default column shows the value if the number is omitted.

Character Default Description
F(x) full length Move x forward and draw
f(x) full length Move x forward without drawing
g(x) full length Move x forward without drawing; don’t record a vertex in the current polygon
Z(x) half length Move x forward and draw
z(x) half length Move x forward without drawing
+(x) angle from grammar Turn x degrees left around up vector
-(x) angle from grammar Turn x degrees right around up vector
&(x) angle from grammar Pitch x degrees down around left vector
^(x) angle from grammar Pitch x degrees up around left vector
<(x) angle from grammar roll x degrees left around forward vector
>(x) angle from grammar roll x degrees right around forward vector
|   Turn 180 degrees around up vector
%   Turn 180 degrees around forward vector
$   Roll until horizontal
~(x) 360 turn/pitch/roll in a random direction; if x is given, limit motion to x degrees
t(x) 0.2 Correction for gravity
[   Push the current turtle state onto a stack
]   Pop the current turtle state from the stack (restores the previous state)
{   Start polygon shape
}   End polygon shape
“(x) 1.1 Multiply length by x
‘(x) 0.9 Multiply length by x
” (x) 1.1 Multiply angle by x
‘ (x) 0.9 Multiply angle by x
?(x) 1.4 Multiply thickness by x
!(x) 0.7 Multiply thickness by x
c(x) increment Set color index to x (add 1 if x omitted)

Parameters

Parameter Description
grammar The grammar for the L-System; see description above
presetId 0: Use the grammar from the grammar parameter
Other: Use a preset grammar (currently 1 through 21)
scale_x, scale_y, scale_z Scale factors for x, y, and z
offset_x, offset_y, offset_z Shift the mesh in the x, y, and z directions
subdiv_level, subdiv_smooth_passes, subdiv_smooth_lambda, subdiv_smooth_mu Not used
blend_colormap Not used
displ_amount Not used
blend_displ_map Not used
receive_only_shadows If set to 1, and solid rendering is enabled, the mesh will be invisible but will show shadows that fall on it (hard shadows must be enabled to see any)

https://jwildfire-forum.overwhale.com/viewtopic.php?f=23&t=2563
https://jwildfire-forum.overwhale.com/viewtopic.php?f=17&t=2689
http://laurenslapre.nl/lapre_004.htm

Table of Contents

Info


This information has been created by Rick Sidwell as a guide to the more popular variations used in fractal flames. Not all of the variations are included with JWildfire, but a great many are, so it is worthwhile learning about them here.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Leave a Comment