UNPKG

turtle3d

Version:

3D Turtle Graphics Library.

51 lines (33 loc) 1.39 kB
Turtle 3D ======== In Turtle Graphics, rather than a coordinate system we have a pen which follows a set of rules without any regard to it's current position or orientation. Forward, turn right, forward, turn left, about face, forward. Usage var turtle = require('turtle3d'); var coords = turtle("^<XF^<XFX-F^>>XFX&F+>>XFX-F>X->", 90 * (Math.PI / 180)); Typically there is a strong connection between using L-system or Lindenmayer system and turtle graphics in either 2 or 3 dimensions. var fractal = require('lsys'); var lsystem = fractal("L", { "L": "L+R++R-L--LL-R+", "R": "-L+RR++R+L--L-R" }).iterate(2).apply({"L": "F","R": "F"}); lsystem.debug(); var turtle = require('turtle3d'); var coords = turtle(lsystem.string(), 60 * (Math.PI / 180)); Uses an LSystem to build and then Turtle to apply the rules for a Gosper Flowsnake with two iterations, a two dimensional spacefilling fractal. Syntax F: draw and move one unit vector forward +: turn right -: turn left &: pitch up ^: pitch down <: roll right >: roll left |: reverse vector direction [: push current pen position ]: pop current position # install With [npm](https://npmjs.org) do: ``` npm install turtle3d ```