L-systems: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
Line 219: Line 219:
<html>
<html>
<form><textarea id="inputtext4" rows=3 cols=35 wrap="off" style="width:600px;">
<form><textarea id="inputtext4" rows=3 cols=35 wrap="off" style="width:600px;">
var level = 4;
var axiom = 'X';
var rules = {
    'F' : 'F',
    'X' : 'XFYFX+F+YFXFY-F-XFYFX',
    'Y' : 'YFXFY-F-XFYFX+F+YFXFY',
    '+' : '+',
    '-' : '-'
};
var symbols = { 'F':'F',
                'X':' ',
                'Y':' ',
                '+':'+',
                '-':'-',
                '[':'[',
                ']':']'
              } ;
             
var angle = 90;
var len = 300/Math.pow(3,level);
</textarea><br />
</textarea><br />
<input type="button" value="run" onClick="run(4)">
<input type="button" value="run" onClick="run(4)">
Line 229: Line 249:
</script>
</script>
</html>
</html>
===Hexagonal Gosper curve===
<html>
<form><textarea id="inputtext5" rows=3 cols=35 wrap="off" style="width:600px;">
var level = 5;
var axiom = 'XF';
var rules = {
    'F' : 'F',
    'X' : 'X+YF++YF-FX--FXFX-YF+',
    'Y' : '-FX+YFYF++YF+FX--FX-Y',
    '+' : '+',
    '-' : '-'
};
var symbols = { 'F':'F',
                'X':' ',
                'Y':' ',
                '+':'+',
                '-':'-',
                '[':'[',
                ']':']'
              } ;
             
var angle = 60;
var len = 300/Math.pow(3,level);
</textarea><br />
<input type="button" value="run" onClick="run(5)">
<input type="button" value="clear" onClick="clearturtle(5)">
</form>
<div id="box5" class="jxgbox" style="width:600px; height:600px;"></div>
<script language="JavaScript">
brd[5] = JXG.JSXGraph.initBoard('box5', {originX: 300, originY: 300, unitX: 1, unitY: 1});
turtle[5] = new JSXTurtleObj(brd[5]);
</script>
</html>
===Plant 1===
<html>
<form><textarea id="inputtext6" rows=3 cols=35 wrap="off" style="width:600px;">
var level = 4;
var axiom = 'F';
var rules = {
    'F' : 'F[+F]F[-F]F',
    '[' : '[',
    ']' : ']',
    '+' : '+',
    '-' : '-'
};
var symbols = { 'F':'F',
                '+':'+',
                '-':'-',
                '[':'[',
                ']':']'
              } ;
             
var angle = 25.7;
var len = 200/Math.pow(3,level);
</textarea><br />
<input type="button" value="run" onClick="run(6)">
<input type="button" value="clear" onClick="clearturtle(6)">
</form>
<div id="box6" class="jxgbox" style="width:600px; height:600px;"></div>
<script language="JavaScript">
brd[6] = JXG.JSXGraph.initBoard('box6', {originX: 300, originY: 300, unitX: 1, unitY: 1});
turtle[6] = new JSXTurtleObj(brd[6]);
</script>
</html>
===Plant 2===
<html>
<form><textarea id="inputtext7" rows=3 cols=35 wrap="off" style="width:600px;">
var level = 4;
var axiom = 'X';
var rules = {
    'F' : 'FF',
    'X' : 'F-[[X]+X]+F[+FX]-X',
    '[' : '[',
    ']' : ']',
    '+' : '+',
    '-' : '-'
};
var symbols = { 'F':'F',
                'X':' ',
                '+':'+',
                '-':'-',
                '[':'[',
                ']':']'
              } ;
             
var angle = 22.5;
var len = 300/Math.pow(3,level);
</textarea><br />
<input type="button" value="run" onClick="run(7)">
<input type="button" value="clear" onClick="clearturtle(7)">
</form>
<div id="box7" class="jxgbox" style="width:600px; height:600px;"></div>
<script language="JavaScript">
brd[7] = JXG.JSXGraph.initBoard('box7', {originX: 300, originY: 300, unitX: 1, unitY: 1});
turtle[7] = new JSXTurtleObj(brd[7]);
</script>
</html>
===Hexagonal kolam===
<html>
<form><textarea id="inputtext8" rows=3 cols=35 wrap="off" style="width:600px;">
var level = 12;
var axiom = 'X';
var rules = {
    'F' : 'F',
    'X' : '[-F+F[Y]+F][+F-F[X]-F]',
    'Y' : '[-F+F[Y]+F][+F-F-F]',
    '[' : '[',
    ']' : ']',
    '+' : '+',
    '-' : '-'
};
var symbols = { 'F':'F',
                'X':' ',
                'Y':' ',
                '+':'+',
                '-':'-',
                '[':'[',
                ']':']'
              } ;
             
var angle = 60;
var len = 100/(level);
</textarea><br />
<input type="button" value="run" onClick="run(8)">
<input type="button" value="clear" onClick="clearturtle(8)">
</form>
<div id="box8" class="jxgbox" style="width:600px; height:600px;"></div>
<script language="JavaScript">
brd[8] = JXG.JSXGraph.initBoard('box8', {originX: 300, originY: 300, unitX: 1, unitY: 1});
turtle[8] = new JSXTurtleObj(brd[8]);
</script>
</html>
===Mango kolam===
<html>
<form><textarea id="inputtext9" rows=3 cols=35 wrap="off" style="width:600px;">
var level = 5;
var axiom = 'A---A';
var rules = {
    'F' : 'F',
    'f' : 'f',
    'A' : 'f-F+Z+F-fA',
    'Z' : 'F-FF-F--[--Z]F-FF-F--F-FF-F--',
    '[' : '[',
    ']' : ']',
    '+' : '+',
    '-' : '-'
};
var symbols = { 'F':'F',
                'f':'f',
                'A':' ',
                'Z':' ',
                '+':'+',
                '-':'-',
                '[':'[',
                ']':']'
              } ;
             
var angle = 60;
var len = 100/(level);
</textarea><br />
<input type="button" value="run" onClick="run(9)">
<input type="button" value="clear" onClick="clearturtle(9)">
</form>
<div id="box9" class="jxgbox" style="width:600px; height:600px;"></div>
<script language="JavaScript">
brd[9] = JXG.JSXGraph.initBoard('box9', {originX: 300, originY: 300, unitX: 1, unitY: 1});
turtle[9] = new JSXTurtleObj(brd[9]);
</script>
</html>
===Penrose tiling===
<html>
<form><textarea id="inputtext10" rows=3 cols=35 wrap="off" style="width:600px;">
var level = 2;
var Axiom = '[7]++[7]++[7]++[7]++[7]';
var rules = {
    '6' : '81++91----71[-81----61]++',
    '7' : '+81--91[---61--71]+',
    '8' : '-61++71[+++81++91]-',
    '9' : '--81++++61[+91++++71]--71',
    '1' : '',
    '+' : '+',
    '-' : '-',
    '[' : '[',
    ']' : ']'
  };
var symbols = {
                '1':'F',
                '6':' ',
                '7':' ',
                '8':' ',
                '9':' ',
                '+':'+',
                '-':'-',
                '[':'[',
                ']':']'
              };
var angle = 36.0;
var len = 100/(level);
</textarea><br />
<input type="button" value="run" onClick="run(10)">
<input type="button" value="clear" onClick="clearturtle(10)">
</form>
<div id="box10" class="jxgbox" style="width:600px; height:600px;"></div>
<script language="JavaScript">
brd[10] = JXG.JSXGraph.initBoard('box10', {originX: 300, originY: 300, unitX: 1, unitY: 1});
turtle[10] = new JSXTurtleObj(brd[10]);
</script>
</html>




[[Category:Examples]]
[[Category:Examples]]
[[Category:Turtle Graphics]]
[[Category:Turtle Graphics]]

Revision as of 19:59, 30 December 2008

Sierpinski curve



Quadratic snowflake variation


Dragon curve


Islands and lakes



Peano curve



Hexagonal Gosper curve


Plant 1



Plant 2



Hexagonal kolam


Mango kolam



Penrose tiling