teaching machines


June 10, 2019 by . Filed under public, twoville.

Twoville got support for arcs a couple of months ago. Full SVG supports elliptical arcs, but I don’t think they’re very intuitive and their parameters should not face the user. I restricted Twoville to circular arcs and exposed friendlier parameters.

In my original draft, the programmer specified an arc via its starting point (which is implied by the previous vertex on the path), the ending point, and the center of the circle. I was proud of the simplicity. But I realized recently that these three coordinates don’t necessarily form a circular arc. One of the points might be closer to the center than the other.

In my second draft, the programmer specifies an arc via its starting point (again implied), its degrees, and either its center point or its destination point. I think this solution eliminates the chance for degenerate arcs and it still has a simpler interface than SVG.

Helping me think through this new interface is this random starfish generator, which uses both the center and destination forms to trace out the arms.

Keep clicking Evaluate to generate new starfish.