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

The Hedgehog

The hedgehog is a noble beast; he keeps the garden clear Of slugs and snails and other pests throughout the temperate year. Just after dusk you’ll see him on his customary beat Hunting Lumbricus terrestris or some other juicy treat. Although he’s not the biggest or the fastest or most muscular, He’s the most learned… Continue reading The Hedgehog

Categorized as Poetry

A bit of Pythagoras

Given Pythagorean triples that satisfy the Diophantine equation: a² + b² = c² where a, b and c share no common factors, one of a and b must be odd, the other must be even, and c is always odd. First, note that squares of even numbers are always divisible by 4. [Lemma 1] (2n)²… Continue reading A bit of Pythagoras

Categorized as Maths

On the Benefits of Showering

From time to time when I’m perplexed Or by a tricky problem vexed; A cipher that just will not yield But keeps its mystery concealed, I find I have a last resort Before cerebral fuel runs short: I open up the bathroom door And step onto the tiled floor. The whirring fan, the gurgling drain,… Continue reading On the Benefits of Showering

Categorized as Poetry

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.