Another plotter item.
I've been a bit busy lately with work and family stuff but I thought I'd post a new plotter piece. It's exercising a bunch of new code I've written for plots based around 3D models.
Writing a 3D scene renderer is a well trodden path and there's a plethora of articles online with examples of how to write one targeting either a GPU or a framebuffer. But writing a renderer which draws lines instead of pixels is actually fairly novel. So that's what I've been working on.
So far it's just data structures around managing a 3D scene (the half-edge or doubly connected edge list [DCEL] data structure is ingenious) and then efficiently transforming them, projection to 2D and then drawing the lines. I've implemented dashed lines too for hidden edges or shading. Still a work in progress, plenty on the to-do list but eventually I'd like to render complex 3D scenes in a style which works well for the plotter.