One can have hours of fun with xmodmap. Especially if one has a Symbolics keyboard. For a start, I get a “real” Meta key (not Alt) and a couple of extra modifier keys that emacs knows about: Hyper and Super. I mapped these to mod2 and mod3. Staying away from…
Category: Lisp
Cult of the Keyboard
We’ve got a bit of a keyboard cult going on at work. Of course, I’ve been a fan of decent keyboards for years and a strong believer that keyboards (and mice) generally get too little thought when buying a computer. Ergonomics are important: everyone recognises the value of a decent…
Vecto get!
Xach has released version 1.2.1 of Vecto, featuring circle arc paths, and I’m sure a whole lot more on the drawing board. (asdf-install:install :vecto)
Curve and Vector
Curve (com.elbeno.curve) is my common lisp package for doing cool things with two-dimensional curves. In particular, modulating cubic Bézier curves and splines, but also approximating arbitrary elliptical and circular arc segments with cubic Bézier curves. It depends on Vector (com.elbeno.vector), a cobbled together set of functionality for representing and manipulating…
Approximating elliptical arcs with Bézier curves
In doing my modulation work with curves and ellipses, I extended the vecto function for drawing an ellipse to enable an oriented ellipse. Lately it occurred to me that this didn’t go far enough in terms of functionality, and I began wondering about how to draw part of an elliptical…
Functional Fills with Vecto
I’ve been wanting to do exclusive-or functional fill in vecto for a while, so tonight I delved in. I added a pixel function to the graphics state and kept the default as the normal alpha-blending it was already doing. The pixel function signature is a bit clumsy, but it was…
Even more on ellipses and splines
Honestly, they’re incredibly interesting. Anyway, I’ll skip straight to the pièce de résistance: This is a 4-curve cubic Bézier spline modulated onto an ellipse. The ellipse [a=4, b=3] is at an angle of π/4. C1 continuity of the complete curve is preserved. The flickr set tells the story of how…
Ellipses & Splines again
After some code cleanup and generalisation, I can now modulate whole splines onto ellipses and onto splines themselves. Here is my simple 4-bezier spline modulated onto an ellipse: And onto itself: Repeatedly modulating a spline onto itself while varying the frequency parameter leads to some interesting and fractal patterns. Nice.
Splines and modulation
My efforts to equally subdivide a curve along its length have, in part, been leading to this. First, I extended the sampling to work with splines (made up of cubic Bézier curves with c1 continuity). This shot shows 4 curves put together to form a spline: Next, I wrote some…