Types/Turtle/Spider.ps1
| 
                                <# .SYNOPSIS Draws a Spider .DESCRIPTION Draws a Spider using a Turtle. .NOTES This example was adapted from the Apple II Logo manual .EXAMPLE turtle spider .EXAMPLE turtle spider morph @( turtle spider 42 10 turtle spider 42 15 turtle spider 42 10 ) show .EXAMPLE turtle rotate 90 forward 120 rotate -90 spider 42 .EXAMPLE turtle rotate 90 forward 120 rotate -90 spider 42 morph @( turtle rotate 90 forward 1.2 rotate -90 spider 42 10 turtle rotate 90 forward 120 rotate -90 spider 42 15 turtle rotate 90 forward 1.2 rotate -90 spider 42 10 ) | Save-Turtle ./SpiderDescendingMorph.svg .LINK https://logothings.github.io/logothings/AppleLogo.html #> param( # The size of each segment of the leg [double] $LegSize = 42, # The rotation between each leg segment [double] $LegRotation = 10, # The angle of the leg segment [double] $LegAngle = 90, # The length of the head. # One quarter of this value will be the "neck" # One half of this value will be the "head" [double] $HeadLength = 2.5 ) # Right legs $this = $this.Push() foreach ($legNumber in 1..4) { $this = $this. Push(). Leg($LegSize, $LegAngle, $LegSize, $LegAngle). Pop(). Rotate(-$LegRotation) } # Reset our stack and flip to the other side $this = $this.Pop().Push().Rotate(180) # Left legs foreach ($legNumber in 1..4) { $this = $this. Push(). Leg($LegSize, -$LegAngle, $LegSize, -$LegAngle). Pop(). Rotate($LegRotation) } return $this.Pop().Push(). Rotate(90). Forward(-$HeadLength/4). Rotate(-90). Circle(-$HeadLength/2). Pop()  |