- New Shapes:
Turtle.ArcFlower( #358 )Turtle.Arcygon( #359 )Turtle.ClosePath( #277 )Turtle.RightTriangle( #367 )Turtle.Rhombus( #372 )Turtle.StepCurve( #329 )Turtle.Triflower( #371 )Turtle.Luckydraws a random shape (#366)
- Font Settings:
Turtle.FontWeight( Fixes #354, Fixes #381 )Turtle.FontVariant( Fixes #354, Fixes #380 )Turtle.FontStyle( Fixes #354, Fixes #379 )Turtle.FontSize( Fixes #354, Fixes #378 )Turtle.FontFamily( Fixes #354, Fixes #377 )
- Improvements
- Turtle.PathAnimation outputs XML (#374)
- Get-Turtle speed boost (#368)
- Move-Turtle uses the script (#351)
- Randomizing most default parameters (#363)
- Turtle defaults IDs to timestamp ( #362 )
- Fill and Stroke improvement ( Fixes #360, Fixes #361, Fixes #369 )
- Adding random support
- Improving gradient support
- Overwriting class if stroke is specified
- Fixes
- Turtle.History compatibility fix ( #373 )
- Turtle works on PowerShell 5.1!
- Moore Curve Fixes ( #370 )
- Turtle.History compatibility fix ( #373 )
- New Documentation:
- Over 130 examples!
- A Brief History of Turtles (#249)
- Website improvements
- Copy Code Button! (#331)
- Improved layout and new backgrounds (#333)
- Improving build (#344)
- Defaulting palette selection (#346)
- Major improvements
- A turtle can now be any element!
- Support for CSS keyframes, styles, and variables!
- Vastly expanded SVG support, including bezier curves!
- CircleArcs and Pie Graphs! Improvements to circles.
Turtlecommand improvements:Get-TurtleGet-Turtlehelp (#273) (turtle flower helpturtle flower help examples)Get-Turtlenow tracks commands (#250)Get-Turtlenow supports brackets (#255) and prebalances them (#262)Get-Turtle -AsJob(#268)Get-Turtleimproved set errors (#252)
Save-TurtleSave-Turtlesaves as SVG by default (#259)Save-Turtleautosaves by name (#269)
Show-Turtlewill show the turtle (#257)
- New methods:
Turtle.a/Arc(#231)Turtle.b/BezierCurve(#228)Turtle.CircleArc(#235)Turtle.c/CubicBezierCurve(#230)Turtle.FractalShrub(#332)Turtle.Leg(#288)Turtle.Pie/PieGraph(#239)Turtle.q/QuadraticBezierCurve(#229)Turtle.Repeat(#256)Turtle.Spider(#289)Turtle.Spiderweb(#290)Turtle.Spokes(#291)Turtle.Sun(#297)Turtle.Show(#258)
- New properties:
Turtle.get_ArgumentList(#296)Turtle.get/set_Attribute(#247)Turtle.get/set_Class(#237)Turtle.get_Commands(#250)Turtle.get_DataBlock(#284)Turtle.get/set_Element(#248)Turtle.get/set_Defines(#243)Turtle.get_ScriptBlock(#253)Turtle.get/set_Defines(#243)Turtle.get/set_Keyframe(s)(#251)Turtle.get_History(#279)Turtle.get/set_Link/Href(#241)Turtle.get/set_Locale(#300)Turtle.get_Marker(#227)Turtle.get/set_MarkerEnd(#233)Turtle.get/set_MarkerMiddle(#234)Turtle.get/set_MarkerStart(#232)Turtle.get/set_Opacity(#293)Turtle.get/set_Precision(#225)Turtle.ResizeViewBox(#238)Turtle.get/set_Start(#245)Turtle.get/set_Style(#254)Turtle.get/set_Variable(#263)Turtle.get/set_Title(#285)
- New pseudo type:
Turtle.HistoryTurtle.History.ToString()(#282)Turtle.History.DefaultDisplay(#283)
Turtle.js(experimental)- Javascript version of turtle (#302)
- Initial Core Operations:
Turtle.js.heading(#303)Turtle.js.rotate(#304)Turtle.js.forward(#305) (#337) (#338)Turtle.js.isPenDown(#306)Turtle.js.goTo(#307)Turtle.js.step(#308)Turtle.js.teleport(#309) (#334)Turtle.js.steps(#310)Turtle.js.min(#311)Turtle.js.max(#312)Turtle.js.resize(#313)Turtle.js.x(#314)Turtle.js.y(#315)Turtle.js.width(#316)Turtle.js.height(#317)Turtle.js.pathData(#318) (#339)Turtle.js.polygon(#319) (#336) (#338)Turtle.js.penUp(#322)Turtle.js.penDown(#323)Turtle.js.parse(#327)Turtle.js.go(#330)Turtle.js.ToString.ps1()(#320)Turtle.js.get_JavaScript.ps1(#324)
- Thanks @ninmonkey for early testing!
- Improved methods:
Turtle.ArcLeft/ArcRightallows StepCount (#272)Turtle.Circleoptimization (#287)Turtle.FractalPlantimprovement (#271)Turtle.HorizontalLineis mapped to SVGh(#280)Turtle.VerticalLineis mapped to SVGv(#281)
- Improvemented Properties:
- Adding
[OutputType([xml])]to properties that output XML (#266) Turtle.get_Durationdefaults (#270)Turtle.get_Mask/PatternMaskreturns only the mask (#261)Turtle.set_BackgroundColorapplies to SVG directly (#260)Turtle.get_Maximumis a vector (#275)Turtle.get_Minimumis a vector (#276)Turtle.get_Positionis a vector (#274)Turtle.set_Strokesupports gradients (#295)Turtle.set_Fillsupports gradients (#294)Turtle.set_PathAnimationwill not overwrite a morph (#244)Turtle.get/set_PatternAnimationuses duration (#299) and improved docs (#298)Turtle.get_TextElementdefaults to centered text (#265)Turtle.get_TextElementimproved color support (#292)Turtle.get_ViewBoxnegative bounds (#286)
- Adding
- More aliases:
- Added Internationalized Aliases (i.e.
Turtle.BackgroundColour) (#236) - SVG syntax aliases (#240)
- Added Internationalized Aliases (i.e.
- Fixed extra output in
Turtle.Pop(#264)
A turtle can now contain .Turtles
Which can contain .Turtles
Which can contain .Turtles
Which can contain .Turtles...
- Turtles all the way down (#206)
Turtle.get/set_Turtles(#207)Turtle.get_SVGsupports children (#209)Turtle.get_Canvasrasterization improvement (#210)Turtle.Towards()multiple targets (#211)Turtle.Distance()multiple targets (#212)
Turtle.Morphsupports stepwise animation (#215)- Small fixes
Turtle.Step()uses Add (#213)Turtle.set_Stepsinitialization fix (#214)Turtle.set_Durationanytime (#216)Turtle.get_SVGempty viewbox support (#218)Turtle.get/set_SVGAttribute(#219)Turtle.get/set_SVGAnimation(#220)Turtle.get/set_PathTransform(#217)Turtle.Forward()removing rounding (#221)
- Updated Methods
Turtle.Stareven point fix (#190)Turtle.Polygonpartial polygon support (#194)
- New Shapes
Turtle.Rectangle(#192)Turtle.StarFlower(#191)Turtle.GoldenFlower(#193)Turtle.HatMonotile(#196)Turtle.TurtleMonotile(#195)Turtle.BarGraph(#173)
- Added Demos
- Intro To Turtles (#197)
- Turtle Text Path Support
Turtle.get/set_Textcontrols the text (#167)Turtle.get/set_TextAttributesets text attributes (#168)Turtle.get/set_TextAnimationanimates text attributes (#171)
Get-Turtleparameter improvements (#169, #170)Get-Turtletracks invocation info (#157)
- Turtle Performance
- Improving
.Stepsperformance (#159) - Reducing Turtle Verbosity (#160)
- Improving
- New Moves:
- Step (#161)
- Forward,Teleport, and GoTo now use Step (#161)
- New Reflection Examples (#162)
- Morphing Turtles
Turtle.Morphmorphs shapes (#154)Turtle.get/set_Durationcontrol animation durations (#153)- Lots of new examples
- New Fractals:
- LevyCurve (#155)
- Triplexity (#156)
- Vastly expanded Get-Turtle examples (#149)
- Check out https://psturtle.com/Commands/Get-Turtle
- New L-Systems:
- BoardFractal (#142)
- CrystalFractal (#143)
- RingFractal (#144)
- TileFractal (#145)
- Pentaplexity (#146)
- Fixing KochCurve parameter order (#147)
- Added New-Turtle docs (#148)
- New Shapes:
- Scissor draws a pair of lines at an angle (#128)
- ScissorPoly draws a polygon out of scissors (#129)
- Fixes:
- OffsetPath is now quoted (#130)
- ArcLeft/Right distance fix (#131)
TurtleUpgradesturtlewill return an empty turtle (#112)turtlenow splats to script methods, enabling more complex input binding (#121)LSystemis faster and more flexible (#116)
- New Properties:
get/set_Opacity(#115)get/set_PathAnimation(#117)get/set_Width/Height(#125)
- New Methods:
HorizontalLine/VerticalLine(#126)Petal(#119)FlowerPetal(#124)Spirolateral(#120)StepSpiral(#122)
- Fixes:
Turtle.Towards()returns a relative angle (#123)
- Fixing
Get-Turtleinline sets (#108, #107) - Fixing
.PNG/JPEG/WEBPto no longer try to use msedge (#110) - Adding
Turtle.get/set_FillRuleto get or set the fill rule for the turtle. (#109)
Get-Turtle/Turtlecan now get or set properties or methods- New Methods:
Turtle.Distance()determines the distance to a pointTurtle.Towards()determines the angle to a pointTurtle.Home()sends the turtle to 0,0Turtle.lt/rtaliases help original Logo compatibilityTurtle.Save()calls Save-Turtle
- Explicitly exporting commands from module
- Updates:
Turtle.get/set_IDallows for turtle identifiersTurtle.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_Stackgets the position stack (#93)
- New Fractals:
BinaryTree()(#94)FractalPlant()(#95)
- Initial Release
- Builds a Turtle Graphics engine in PowerShell
- Core commands
Get-Turtle(aliasturtle) runs multiple movesNew-Turtlecreate a turtleMove-Turtleperformas a single moveSet-Turtlechanges a turtleSave-Turtlesaves a turtle
turtle Forward 10 Rotate 120 Forward 10 Roate 120 Forward 10 Rotate 120 |
Set-Turtle Stroke '#4488ff' |
Save-Turtle ./Triangle.svg- Core Object
.Headingcontrols the turtle heading.Stepsstores a list of moves as an SVG path.IsPenDowncontrols 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:
BoxFractalGosperCurveHilbertCurveKochCurveKochIslandKochSnowflakeMooreCurvePeanoCurveSierpinskiTriangleSierpinskiCurveSierpinskiSquareCurveSierpinskiArrowheadCurveTerdragonCurveTwinDragonCurve
- Turtle can draw a L system. Several are included:
turtle SierpinskiTriangle 10 4 |
Set-Turtle Stroke '#4488ff' |
Save-Turtle ./SierpinskiTriangle.svg