File tree Expand file tree Collapse file tree 1 file changed +36
-0
lines changed
Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Original file line number Diff line number Diff line change 1+ <#
2+ . SYNOPSIS
3+ Generates a Sierpinski Arrowhead Curve.
4+ . DESCRIPTION
5+ Generates a Sierpinski Arrowhead Curve using turtle graphics.
6+ . LINK
7+ https://en.wikipedia.org/wiki/Sierpi%C5%84ski_curve#Representation_as_Lindenmayer_system_2
8+ . EXAMPLE
9+ $turtle.SierpinskiArrowheadCurve().Pattern.Save("$pwd/SierpinskiArrowhead.svg")
10+ . EXAMPLE
11+ $turtle.Clear()
12+ $turtle.SierpinskiArrowheadCurve(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/SierpinskiArrowhead2.svg")
22+ #>
23+
24+ param (
25+ [double ]$Size = 30 ,
26+ [int ]$Order = 8 ,
27+ [double ]$Angle = 60
28+ )
29+ return $this.L (' XF' , [Ordered ]@ {
30+ X = ' YF + XF + Y'
31+ Y = ' XF - YF - X'
32+ }, $Order , [Ordered ]@ {
33+ ' \+' = { $this.Rotate ($Angle ) }
34+ ' -' = { $this.Rotate ($Angle * -1 ) }
35+ ' F' = { $this.Forward ($Size ) }
36+ })
You can’t perform that action at this time.
0 commit comments