Turtle
0.1.1
Turtles in a PowerShell
Installation Options
Owners
Copyright
2025 Start-Automating
Package Details
Author(s)
- James Brundage
Tags
PowerShell Turtle SVG Graphics Drawing L-System Fractal
Dependencies
This module has no dependencies.
Release Notes
## Turtle 0.1.1:
* Updates:
* `Turtle.get/set_ID` allows for turtle identifiers
* `Turtle.ToString()` stringifies the SVG
* Fixes:
* Fixing GoTo/Teleport (#90)
* Fixing Position default (#85) (thanks @ninmonkey !)
* Fixing Turtle Action ID (#89)
* New:
* `Turtle.Push()` pushes position/heading to a stack (#91)
* `Turtle.Pop()` pops position/heading from a stack (#92)
* `Turtle.get_Stack` gets the position stack (#93)
* New Fractals:
* `BinaryTree()` (#94)
* `FractalPlant()` (#95)
---
## Turtle 0.1:
* Initial Release
* Builds a Turtle Graphics engine in PowerShell
* Core commands
* `Get-Turtle` (alias `turtle`) runs multiple moves
* `New-Turtle` create a turtle
* `Move-Turtle` performas a single move
* `Set-Turtle` changes a turtle
* `Save-Turtle` saves a turtle
~~~PowerShell
turtle Forward 10 Rotate 120 Forward 10 Roate 120 Forward 10 Rotate 120 |
Set-Turtle Stroke '#4488ff' |
Save-Turtle ./Triangle.svg
~~~
* Core Object
* `.Heading` controls the turtle heading
* `.Steps` stores a list of moves as an SVG path
* `.IsPenDown` controls the pen
* `.Forward()` moves forward at heading
* `.Rotate()` rotates the heading
* `.Square()` draws a square
* `.Polygon()` draws a polygon
* `.Circle()` draws a circle (or partial circle)
* LSystems
* Turtle can draw a L system. Several are included:
* `BoxFractal`
* `GosperCurve`
* `HilbertCurve`
* `KochCurve`
* `KochIsland`
* `KochSnowflake`
* `MooreCurve`
* `PeanoCurve`
* `SierpinskiTriangle`
* `SierpinskiCurve`
* `SierpinskiSquareCurve`
* `SierpinskiArrowheadCurve`
* `TerdragonCurve`
* `TwinDragonCurve`
~~~PowerShell
turtle SierpinskiTriangle 10 4 |
Set-Turtle Stroke '#4488ff' |
Save-Turtle ./SierpinskiTriangle.svg
~~~
FileList
- Turtle.nuspec
- Examples\BoxFractal.turtle.ps1
- Types\Turtle\get_Points.ps1
- Types\Turtle\get_Canvas.ps1
- Turtle.psm1
- Commands\Get-Turtle.ps1
- Types\Turtle\get_IsPenDown.ps1
- Types\Turtle\Teleport.ps1
- README.md
- Commands\Save-Turtle.ps1
- Types\Turtle\get_PatternAnimation.ps1
- Types\Turtle\get_PathAttribute.ps1
- CNAME
- Commands\New-Turtle.ps1
- Types\Turtle\MooreCurve.ps1
- Types\Turtle\get_PNG.ps1
- SECURITY.md
- Commands\Move-Turtle.ps1
- Types\Turtle\Forward.ps1
- Types\Turtle\TwinDragonCurve.ps1
- README.md.ps1
- Commands\Set-Turtle.ps1
- Types\Turtle\set_Position.ps1
- Types\Turtle\get_Maximum.ps1
- CONTRIBUTING.md
- Types\Turtle\get_Minimum.ps1
- Types\Turtle\get_WEBP.ps1
- Types\Turtle\Jump.ps1
- Turtle.psd1
- Types\Turtle\get_PathData.ps1
- Types\Turtle\SierpinskiCurve.ps1
- Types\Turtle\get_Symbol.ps1
- CHANGELOG.md
- Types\Turtle\Pop.ps1
- Types\Turtle\get_StrokeWidth.ps1
- Types\Turtle\get_PatternTransform.ps1
- CODE_OF_CONDUCT.md
- Types\Turtle\get_PathElement.ps1
- Types\Turtle\BoxFractal.ps1
- Types\Turtle\get_ViewBox.ps1
- action.yml
- Types\Turtle\BinaryTree.ps1
- Types\Turtle\TerdragonCurve.ps1
- Types\Turtle\set_Heading.ps1
- LICENSE
- Types\Turtle\xcor.ps1
- Types\Turtle\get_Heading.ps1
- Types\Turtle\Circle.ps1
- Turtle.types.ps1xml
- Types\Turtle\Left.ps1
- Types\Turtle\KochCurve.ps1
- Types\Turtle\get_OffsetPath.ps1
- Turtle.tests.ps1
- Types\Turtle\FillColor.ps1
- Types\Turtle\set_PathAttribute.ps1
- Types\Turtle\FractalPlant.ps1
- Build\Turtle.GitHubAction.PSDevOps.ps1
- Types\Turtle\get_Stack.ps1
- Types\Turtle\get_PatternDataURL.ps1
- Types\Turtle\Backward.ps1
- Build\Turtle.GitHubWorkflow.PSDevOps.ps1
- Types\Turtle\set_Steps.ps1
- Types\Turtle\Rotate.ps1
- Types\Turtle\get_PathClass.ps1
- Build\Turtle.ezout.ps1
- Types\Turtle\Push.ps1
- Types\Turtle\get_Y.ps1
- Types\Turtle\Right.ps1
- Examples\Square.svg
- Types\Turtle\HilbertCurve.ps1
- Types\Turtle\Star.ps1
- Types\Turtle\get_AnimateMotionDuration.ps1
- Examples\HexagonPattern.svg
- Types\Turtle\PenUp.ps1
- Types\Turtle\Polygon.ps1
- Types\Turtle\PeanoCurve.ps1
- Examples\EndlessSnowflake.turtle.ps1
- Types\Turtle\Square.ps1
- Types\Turtle\set_ViewBox.ps1
- Types\Turtle\get_Fill.ps1
- Examples\BoxFractal.svg
- Types\Turtle\set_Stroke.ps1
- Types\Turtle\Flower.ps1
- Types\Turtle\set_AnimateMotionDuration.ps1
- Examples\KochSnowflakePattern.svg
- Types\Turtle\set_PathClass.ps1
- Types\Turtle\PenColor.ps1
- Types\Turtle\LSystem.ps1
- Examples\EndlessSierpinskiTrianglePattern.svg
- Types\Turtle\KochSnowflake.ps1
- Types\Turtle\get_X.ps1
- Types\Turtle\Alias.psd1
- Examples\Hexagon.svg
- Types\Turtle\GoTo.ps1
- Types\Turtle\set_BackgroundColor.ps1
- Types\Turtle\get_JPEG.ps1
- Examples\SierpinskiTriangle.turtle.ps1
- Types\Turtle\Clear.ps1
- Types\Turtle\get_DataURL.ps1
- Types\Turtle\get_SVG.ps1
- Examples\EndlessBoxFractal.turtle.ps1
- Types\Turtle\get_AnimateMotion.ps1
- Types\Turtle\get_Steps.ps1
- Types\Turtle\PenDown.ps1
- Examples\SierpinskiTriangle.svg
- Types\Turtle\get_ClipPath.ps1
- Types\Turtle\get_PatternMask.ps1
- Types\Turtle\set_PatternAnimation.ps1
- Examples\BoxFractal1.svg
- Types\Turtle\get_BackgroundColor.ps1
- Types\Turtle\get_Pattern.ps1
- Types\Turtle\set_ID.ps1
- Examples\EndlessBoxFractal.svg
- Types\Turtle\DefaultDisplay.txt
- Types\Turtle\SierpinskiSquareCurve.ps1
- Types\Turtle\set_PatternTransform.ps1
- Examples\EndlessHilbert.turtle.ps1
- Types\Turtle\ycor.ps1
- Types\Turtle\get_Position.ps1
- Types\Turtle\get_ID.ps1
- Examples\BoxFractal2.svg
- Types\Turtle\set_Fill.ps1
- Types\Turtle\set_StrokeWidth.ps1
- Types\Turtle\KochIsland.ps1
- Examples\EndlessSnowflake.svg
- Types\Turtle\GosperCurve.ps1
- Types\Turtle\get_Mask.ps1
- Build\GitHub\Jobs\BuildTurtle.psd1
- Examples\BoxFractal3.svg
- Types\Turtle\ToString.ps1
- Types\Turtle\set_IsPenDown.ps1
- Build\GitHub\Steps\PublishTestResults.psd1
- Examples\EndlessHilbert.svg
- Types\Turtle\get_Stroke.ps1
- Types\Turtle\SierpinskiTriangle.ps1
- Build\GitHub\Actions\TurtleAction.ps1
- Examples\EndlessSierpinski.turtle.ps1
- Types\Turtle\SierpinskiArrowheadCurve.ps1
Version History
Version | Downloads | Last updated |
---|---|---|
0.1.1 (current version) | 100 | 7/30/2025 |
0.1 | 38 | 7/29/2025 |