3 ms·
Are these animated, or somesuch? I tried naïvely using `ps2pdf` (Ghostscript), but got errors on both of them. I guess they're meant to be consumed by some oth
by interroboink 2y ago
Are these animated, or somesuch?
I tried naïvely using `ps2pdf` (Ghostscript), but got errors on both of them. I guess they're meant to be consumed by some other sort of system?
- DonHopkins 2y agoOh sorry I didn't explain: they're interactive PostScript scripts for the NeWS window system, so they don't actually print, they animate on the screen! The "pause" yields the light weight PostScript thread and lets the rest of the window system tasks run, and NeWS had an object oriented programming system that was used to implement the user interface toolkit, window managements, interactive from ends, and even entire applications written in object oriented PostSCript. NeWS is long obsolete, but you can run it in a Sun emulator! https://en.wikipedia.org/wiki/NeWS https://en.wikipedia.org/wiki/NeWS For example, here's a heavily commented demo application called PizzaTool: https://donhopkins.medium.com/the-story-of-sun-microsystems-pizzatool-2a7992b4c797 https://donhopkins.medium.com/the-story-of-sun-microsystems-... Source code: https://www.donhopkins.com/home/archive/NeWS/pizzatool.txt https://www.donhopkins.com/home/archive/NeWS/pizzatool.txt It uses an iterated feedback pixel warping technique kind of like melt.ps, to spin the pizza rotationally, which melts the cheese and pizza toppings, instead of melting the screen by simply blitting random rectangles vertically like melt.ps -- note the randomization of the rotation to "dither" the rotation and smooth out the artifacts you'd get by always rotating it exactly the same amount: % Spin the pizza around a bit. % /Spin { % - => - gsave /size self send % w h 2 div exch 2 div exch % w/2 h/2 2 copy translate SpinAngle random add rotate neg exch neg exch translate % self imagecanvas grestore } def It animates rotating a bitmap around its center again and again as fast as you "spin" it with the mouse, plus a little jitter, so the jaggies of the rotation (not anti-aliased, 8 bit pixels, nearest neighbor sampling) give it a "cooked" effect! It measures the size of the pizza canvas, translates to the center, rotates around the middle, then translates back to the corner of the image, then blits it with rotation and clipping to the round pizza window.