File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ <#
2+ . SYNOPSIS
3+ Generates a Sierpinski Square Curve.
4+ . DESCRIPTION
5+ Generates a Sierpinski Square Curve using turtle graphics.
6+ . LINK
7+ https://en.wikipedia.org/wiki/Sierpi%C5%84ski_curve#Representation_as_Lindenmayer_system
8+ . EXAMPLE
9+ $turtle.SierpinskiSquareCurve().Pattern.Save("$pwd/SierpinskiSquareCurve.svg")
10+ . EXAMPLE
11+ $turtle.Clear()
12+ $turtle.SierpinskiSquareCurve(10,4)
13+ $turtle.PatternTransform = @{
14+ 'scale' = 0.9
15+ }
16+ $turtle.PatternAnimation = "
17+ <animateTransform attributeName='patternTransform' attributeType='XML' type='scale' values='1;0.9;1' dur='19s' repeatCount='indefinite' additive='sum' />
18+ <animateTransform attributeName='patternTransform' attributeType='XML' type='skewY' values='0;-30;30;-30;0' dur='67s' repeatCount='indefinite' additive='sum' />
19+ <animateTransform attributeName='patternTransform' attributeType='XML' type='skewX' values='0;-30;30;-30;0' dur='83s' repeatCount='indefinite' additive='sum' />
20+ "
21+ $turtle.Pattern.Save("$pwd/SierpinskiSquareCurve2.svg")
22+ #>
23+ param (
24+ [double ]$Size = 20 ,
25+ [int ]$Order = 5 ,
26+ [double ]$Angle = 90
27+ )
28+ return $this.L (' X' , [Ordered ]@ {
29+ X = ' XF-F+F-XF+F+XF-F+F-X'
30+ }, $Order , [Ordered ]@ {
31+ ' \+' = { $this.Rotate ($Angle ) }
32+ ' -' = { $this.Rotate ($Angle * -1 ) }
33+ ' [FG]' = { $this.Forward ($Size ) }
34+ })
You can’t perform that action at this time.
0 commit comments