Skip to content

Commit 9187d69

Browse files
author
James Brundage
committed
feat: Turtle.TerDragonCurve ( Fixes #36 )
1 parent aa156ce commit 9187d69

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

Types/Turtle/TerdragonCurve.ps1

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
<#
3+
.EXAMPLE
4+
$turtle.TerdragonCurve().Pattern.Save("$pwd/TerdragonCurve.svg")
5+
.EXAMPLE
6+
$turtle.Clear()
7+
$turtle.TerdragonCurve(20,7,90)
8+
$turtle.PatternTransform = @{
9+
'scale' = 0.9
10+
'rotate' = 45
11+
}
12+
13+
$turtle.PatternAnimation = "
14+
<animateTransform attributeName='patternTransform' attributeType='XML' type='scale' values='1;0.9;1' dur='19s' repeatCount='indefinite' additive='sum' />
15+
<animateTransform attributeName='patternTransform' attributeType='XML' type='skewY' values='30;-30;30' dur='67s' repeatCount='indefinite' additive='sum' />
16+
<animateTransform attributeName='patternTransform' attributeType='XML' type='skewX' values='30;-30;30' dur='83s' repeatCount='indefinite' additive='sum' />
17+
"
18+
$turtle.Pattern.Save("$pwd/TerdragonCurve2.svg")
19+
#>
20+
param(
21+
[double]$Size = 20,
22+
[int]$Order = 8,
23+
[double]$Angle = 120
24+
)
25+
return $this.L('F', [Ordered]@{
26+
F = 'F+F-F'
27+
}, $Order, [Ordered]@{
28+
'\+' = { $this.Rotate($Angle) }
29+
'-' = { $this.Rotate($Angle * -1) }
30+
'[F]' = { $this.Forward($Size) }
31+
})

0 commit comments

Comments
 (0)