File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed
Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change @@ -221,6 +221,46 @@ $this.Heading += $Angle
221221return $this
222222 </Script >
223223 </ScriptMethod >
224+ <ScriptMethod >
225+ <Name >SierpinskiCurve</Name >
226+ <Script >
227+ < #
228+ .SYNOPSIS
229+ Generates a Sierpinski Curve.
230+ .DESCRIPTION
231+ Generates a Sierpinski Curve using turtle graphics.
232+ .LINK
233+ https://en.wikipedia.org/wiki/Sierpi%C5%84ski_curve#Representation_as_Lindenmayer_system
234+ .EXAMPLE
235+ $turtle.SierpinskiCurve().Pattern.Save("$pwd/SierpinskiCurve.svg")
236+ .EXAMPLE
237+ $turtle.Clear()
238+ $turtle.SierpinskiCurve(10,4)
239+ $turtle.PatternTransform = @{
240+ 'scale' = 0.9
241+ }
242+ $turtle.PatternAnimation = "
243+ < animateTransform attributeName='patternTransform' attributeType='XML' type='scale' values='1;0.9;1' dur='19s' repeatCount='indefinite' additive='sum' />
244+ < animateTransform attributeName='patternTransform' attributeType='XML' type='skewY' values='0;-30;30;-30;0' dur='67s' repeatCount='indefinite' additive='sum' />
245+ < animateTransform attributeName='patternTransform' attributeType='XML' type='skewX' values='0;-30;30;-30;0' dur='83s' repeatCount='indefinite' additive='sum' />
246+ "
247+ $turtle.Pattern.Save("$pwd/SierpinskiCurve2.svg")
248+ #>
249+ param(
250+ [double]$Size = 20,
251+ [int]$Order = 4,
252+ [double]$Angle = 45
253+ )
254+ return $this.L('F--XF--F--XF', [Ordered]@{
255+ X ='XF+G+XF--F--XF+G+X'
256+ }, $Order, [Ordered]@{
257+ '\+' = { $this.Rotate($Angle) }
258+ '-' = { $this.Rotate($Angle * -1) }
259+ '[FG]' = { $this.Forward($Size) }
260+ })
261+
262+ </Script >
263+ </ScriptMethod >
224264 <ScriptMethod >
225265 <Name >SierpinskiTriangle</Name >
226266 <Script >
You can’t perform that action at this time.
0 commit comments