~~~PowerShell #requires -Module Turtle param( [string] $Message = " We can turn any message into #TurtleGraphics to make #LingualFractals #PowerShell #Fractal #MathArt #Stenography #SVG #WebDev #Turtle #TurtlePower Learn more and share yours: ", [double] $Scale = 10 ) $turtleArgs = @() $morphToArgs = @() $words = @($Message -split '[\s\p{P}]+') for ($wordNumber = 0; $wordNumber -lt $words.Length; $wordNumber++) { $word = $words[$wordNumber] $nextWord = $words[$wordNumber + 1] $moveForward = @('circle', ($word.Length * $Scale), 0.25) $turtleArgs += $moveForward $morphToArgs += $moveForward if ($nextWord) { $arcStart = @('circlearc', ($word.Length * $Scale)) $turtleArgs += $arcStart $morphToArgs += $arcStart $turtleArgs += [Math]::Atan2($nextWord.Length, $word.Length) * 180 / [Math]::PI $morphToArgs += [Math]::Atan2($nextWord.Length, $word.Length) * -180 / [Math]::PI $postRotate = @( 'rotate' [Math]::Atan2($nextWord.Length, $word.Length) * 180 / [Math]::PI ) $turtleArgs += $postRotate $morphToArgs += $postRotate } } $colors = @('#4488ff','#224488', '#012456') $style = @( 'fillrule', 'evenodd', 'fill', @($colors | Get-Random -count 2), 'stroke', @($colors | Get-Random -count 2) ) turtle @style @turtleArgs Morph @( turtle @turtleArgs turtle @morphToArgs turtle @turtleArgs ) save ./LingualFractalArcMorph.svg show turtle @style @turtleArgs save ./LingualFractalArcColor.svg save ./LingualFractalArcColor.png ~~~
We can turn any message into #TurtleGraphics to make #LingualFractals ๐๐ข
#PowerShell #Fractal #MathArt #Stenography #SVG #WebDev #Turtle #TurtlePower
Learn more and share yours:
github.com/PowerShellWe...
Source in image description. #Animation at url.