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 plane. It also depends on Zach Beane’s excellent Vecto, for ease of drawing. Both Curve and Vector are available under the GPLv3 license.

Download Curve
Download Vector

Currently both Curve and Vector are at v0.1.

3 Responses to “Curve and Vector”

  1. Zach Beane says:

    CL-VECTORS also represents points as conses. I found I was able to get about a 25% speedup using a specialized two-element vector of double-floats, and declaring it appropriately for various operations.

  2. […] of 6s, a couple of 5s, several 4s, and the remainder 3s. For me it would be: 6 (C++), 6 (C), 5 (Common Lisp), 5 (BASIC), 4 (Haskell), 4 (PHP), 4 (Javascript), 4 (SQL), and take your pick of 3s (Perl, Python, […]

  3. john_doe says:

    Why GPL3 ?! This is the sort of thing that renders Common Lisp utterly useless!

    The community is already small…and we have to fight to push Lisp…AND if a project can’t be business-friendly, then WE HAVE NO CASE!

    It’s widely known that if you want to spread technology then you must use a BSD-style license!

Leave a Reply