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