Skip to content

Commit cf4d6b1

Browse files
StartAutomatingStartAutomating
authored andcommitted
feat: Turtle.Triplexity() ( Fixes #156 )
1 parent 129f716 commit cf4d6b1

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

Turtle.types.ps1xml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2065,6 +2065,45 @@ return $angle - ($this.Heading % 360)
20652065

20662066
</Script>
20672067
</ScriptMethod>
2068+
<ScriptMethod>
2069+
<Name>Triplexity</Name>
2070+
<Script>
2071+
&lt;#
2072+
.SYNOPSIS
2073+
Draws a Triplexity
2074+
.DESCRIPTION
2075+
Draws a Triplexity Fractal, using an L-System.
2076+
2077+
Each generation of the triplexity will create an equilateral triangle with a spoke and an incomplete total rotation.
2078+
2079+
Multiple generations of this seem to alternate between even numbered triangle shapes and odd numbered "lines" of triangles.
2080+
.EXAMPLE
2081+
turtle Triplexity 42 1
2082+
.EXAMPLE
2083+
turtle Triplexity 42 2
2084+
.EXAMPLE
2085+
turtle Triplexity 42 3
2086+
.EXAMPLE
2087+
turtle Triplexity 42 4
2088+
#&gt;
2089+
param(
2090+
# The size of each segment
2091+
[double]$Size = 42,
2092+
# The order of magnitude (the number of expansions)
2093+
[int]$Order = 4,
2094+
# The default angle.
2095+
[double]$Angle = 60
2096+
)
2097+
return $this.LSystem('F++F++F', [Ordered]@{
2098+
F = 'F++F++FFF'
2099+
}, $Order, [Ordered]@{
2100+
'\+' = { $this.Rotate($Angle) }
2101+
'-' = { $this.Rotate($Angle*-1)}
2102+
'F' = { $this.Forward($Size) }
2103+
})
2104+
2105+
</Script>
2106+
</ScriptMethod>
20682107
<ScriptMethod>
20692108
<Name>TwinDragonCurve</Name>
20702109
<Script>

0 commit comments

Comments
 (0)