Keyboard fun

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

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

Published
Categorized as Lisp

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)

Published
Categorized as Lisp

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

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