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 mod4 is a good idea… Continue reading Keyboard fun
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 chair and a decent monitor… Continue reading Cult of the Keyboard
Functional Rainbow
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 points on the 2D Cartesian… Continue reading Curve and Vector
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 arc. Vecto’s ellipse drawing function… Continue reading Approximating elliptical arcs with Bézier curves
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 easy to knock up a… Continue reading Functional Fills with Vecto
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 I got here. This is… Continue reading Even more on ellipses and splines
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 code to modulate a curve… Continue reading Splines and modulation