In this day and age, a pen plotter isn’t going to be doing anything useful, because we have better ways to draw schematics and make presentation graphics, but it can produce Algorithmic Art:
Well, granted, that’s a rather small value of Art, but it does show that the plotter can draw 10 k points using serial port hardware handshaking.
That’s one of an infinite variety of Supershapes produced by the Chiplotle
from chiplotle import * import math plt=instantiate_plotters() plt.set_origin_center() plt.write(hpgl.VS(5)) ss=geometry.shapes.supershape(3900,3900,5.3,0.4,1,1,point_count=10*1000,travel=10*2*math.pi) plt.select_pen(1) plt.write(ss) plt.select_pen(0)
The plotter uses absolute plotter units that range from (0,0) to (10365,7962). Telling the plotter to put its origin in the middle of the page makes perfect sense, because that automagically centers the figure.
Dialing the speed back to 5 cm/s works much better with the Sakura pens than the default 38.1 cm/s = 15.0 inch/s; hand-drawing pens just don’t have the flow rate for prolonged vigorous scribbling. HP was obviously on the edge of converting to metric engineering units in the early 1980s, with the HP 7475A designed before the transition and shipped afterward.
The supershape parameters:
3900,3900sets the maximum coordinate value along each axis. The plot may or may not exceed that value, depending on how weird the supershape turns out, but it’s generally pretty close
5.3,0.4,1,1correspond to coefficients m, n1, n2, n3
- By default,
b=1, but you can change those as you like
point_count=10*1000sets how many total points appear in the plot
travel=10*2*math.pisets the number of complete cycles, in units of 2π
The function spits out a list of Cartesian XY coordinates, not the polar rΦ coordinates you might expect.
Slightly non-integer values, particularly for m, produce more interesting patterns. Other than that, there’s just no telling.
io.view(ss) to get an idea of what you got, it’s much faster than plotting!
You may find the online superformula explorers better suited to rapid prototyping, though. There’s a list at the bottom of the Wikipedia article, although some links seem defunct.
Notice that the end of the plot doesn’t quite reach the beginning over on the far right, which is a consequence of how Python produces sequences. Adding one more point does the trick:
I’ll try remembering that the next time around…