KTurtle/Examples: Difference between revisions

From KDE UserBase Wiki
(3 examples: fractals with recursion)
Line 31: Line 31:


Logo script:
Logo script:
{{Input|1=<span style="color: #a0a0a4;"># Heighway dragon</span><br /><br /><span style="color: #000080;">reset</span><br /><span style="color: #000080;">canvassize</span>&nbsp;<span style="color: #800000;">500</span>,&nbsp;<span style="color: #800000;">500</span><br /><span style="color: #000080;">go</span>&nbsp;<span style="color: #800000;">320</span>,&nbsp;<span style="color: #800000;">400</span><br /><span style="color: #000080;">turnright</span>&nbsp;<span style="color: #800000;">90</span><br /><span style="color: #800080; font-weight: bold;">$size</span>&nbsp;<span style="color: #000000; font-weight: bold;">=</span>&nbsp;<span style="color: #800000;">7</span><br /><br /><span style="color: #00ff00; font-weight: bold;">learn</span>&nbsp;X&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">if</span>&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #5a64ff; font-weight: bold;">&gt;</span><span style="color: #800000;">0</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;X&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">turnleft</span>&nbsp;<span style="color: #800000;">90</span><br />&nbsp;&nbsp;&nbsp;&nbsp;Y&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$size</span><br />&nbsp;&nbsp;<span style="color: #008000; font-weight: bold;">}</span><br /><span style="color: #008000; font-weight: bold;">}</span><br /><br /><span style="color: #00ff00; font-weight: bold;">learn</span>&nbsp;Y&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">if</span>&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #5a64ff; font-weight: bold;">&gt;</span><span style="color: #800000;">0</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$size</span><br />&nbsp;&nbsp;&nbsp;&nbsp;X&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">turnright</span>&nbsp;<span style="color: #800000;">90</span><br />&nbsp;&nbsp;&nbsp;&nbsp;Y&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;<span style="color: #008000; font-weight: bold;">}</span><br /><span style="color: #008000; font-weight: bold;">}</span><br /><br /><span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$size</span><br />X&nbsp;<span style="color: #800000;">11</span><br /><br /><span style="color: #000080;">go</span>&nbsp;<span style="color: #800000;">50</span>,<span style="color: #800000;">450</span>}}
{{Input|1=<span style="color: #a0a0a4;"># Heighway dragon</span><br /><br /><span style="color: #000080;">reset</span><br /><span style="color: #000080;">canvassize</span>&nbsp;<span style="color: #800000;">500</span>,&nbsp;<span style="color: #800000;">500</span><br /><span style="color: #000080;">go</span>&nbsp;<span style="color: #800000;">320</span>,&nbsp;<span style="color: #800000;">400</span><br /><span style="color: #000080;">turnright</span>&nbsp;<span style="color: #800000;">90</span><br /><span style="color: #800080; font-weight: bold;">$size</span>&nbsp;<span style="color: #000000; font-weight: bold;">=</span>&nbsp;<span style="color: #800000;">7</span><br /><br /><span style="color: #00ff00; font-weight: bold;">learn</span>&nbsp;X&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">if</span>&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #5a64ff; font-weight: bold;">&gt;</span><span style="color: #800000;">0</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;X&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">turnleft</span>&nbsp;<span style="color: #800000;">90</span><br />&nbsp;&nbsp;&nbsp;&nbsp;Y&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$size</span><br />&nbsp;&nbsp;<span style="color: #008000; font-weight: bold;">}</span><br /><span style="color: #008000; font-weight: bold;">}</span><br /><br /><span style="color: #00ff00; font-weight: bold;">learn</span>&nbsp;Y&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">if</span>&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #5a64ff; font-weight: bold;">&gt;</span><span style="color: #800000;">0</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$size</span><br />&nbsp;&nbsp;&nbsp;&nbsp;X&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">turnright</span>&nbsp;<span style="color: #800000;">90</span><br />&nbsp;&nbsp;&nbsp;&nbsp;Y&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;<span style="color: #008000; font-weight: bold;">}</span><br /><span style="color: #008000; font-weight: bold;">}</span><br /><br /><span style="color: #000080;">pencolor</span>&nbsp;<span style="color: #800000;">0</span>,<span style="color: #800000;">255</span>,<span style="color: #800000;">0</span><br /><span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$size</span><br />X&nbsp;<span style="color: #800000;">10</span><br /><span style="color: #000080;">turnleft</span>&nbsp;<span style="color: #800000;">90</span><br /><span style="color: #000080;">pencolor</span>&nbsp;<span style="color: #800000;">255</span>,<span style="color: #800000;">0</span>,<span style="color: #800000;">0</span><br />Y&nbsp;<span style="color: #800000;">10</span><br /><span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$size</span><br /><br /><span style="color: #000080;">go</span>&nbsp;<span style="color: #800000;">50</span>,<span style="color: #800000;">450</span>}}
Result:
Result:
[[Image:KTurtle-heighway-dragon.png|center]]
[[Image:KTurtle-heighway-dragon.png|center]]


[[Category:Education]]
[[Category:Education]]

Revision as of 16:26, 8 July 2010

Home » Applications » Education » KTurtle » Examples


Tip
Script formatting results from the HTML export of KTurtle.


Koch curve

This is a fractal curve. You can find more information about this at Wikipedia.

Logo script:

# Koch curve

reset
canvassize 850550
go 125350
turnright 90

learn koch $x$t {
  if($t>0{
    $t=$t-1
    $x=$x/3
    koch $x$t
    turnleft 60
    koch $x$t
    turnright 120
    koch $x$t
    turnleft 60
    koch $x$t
  } else {
  forward 3*$x 
  }
}
koch 2006

Result:

Sierpinski Triangle

Another famous fractal is the Sierpinski triangle.

Logo script:

# Sierpinski triangle

learn sierp $l {
  if $l > 2 {
    repeat 3 {
      sierp $l/2
      forward $l
      turnleft 120
    }
  }
}

reset
canvassize 600533
go 50483
turnright 90
sierp 500

Result:

Heighway Dragon

Another famous fractal is the Heighway Dragon.

Logo script:

# Heighway dragon

reset
canvassize 500500
go 320400
turnright 90
$size = 7

learn X $depth {
  if $depth>0 {
    X $depth-1
    turnleft 90
    Y $depth-1
    forward $size
  }
}

learn Y $depth {
  if $depth>0 {
    forward $size
    X $depth-1
    turnright 90
    Y $depth-1
  }
}

pencolor 0,255,0
forward $size
10
turnleft 90
pencolor 255,0,0
10
forward $size

go 50,450

Result: