The Bézier
Drawing Program began as
an attempt to emulate something my daughter had been doing for a number
of years, making Christmas cards and birthday cards using various
geometrical constructions superimposed on each other, usually with a
radial symmetry, to produce intricate and interesting designs. I
decided to try to do the same thing on a computer, and began with
standard shapes like hyperbolas, ellipses, polygons, and vaguely
teardrop-like
shapes, always enclosed upon each other so they could be filled with
color. The emphasis was on being able to manipulate the objects with a
mouse, clone the objects easily,
and produce radial symmetry about a centre point. The original intent
was to produce a monochrome wireframe display which could be printed at
high resolution, and perhaps colored by hand after printing.
Subsequently the following changes in scope were made :
- Library of objects was expanded to include some
of the more complex closed-form
shapes like cardioids and trochoids.
- Added support for a coloring operation which operates like a
floodfill in a bitmap, with a color-picker.
- Added support for a zoom feature, for more precise positioning of
objects.
- Added support for SVG
output, to make it more web-compatible.
- The corollary to SVG output is that color-filling can be done
using other programs, such as Inkscape, which use a completely
different set of rules for filling objects: totally vector-based, not
bitmap-based.
The word Bézier
is used in the program title because the
drawing is done using Bézier curves.
The Bézier curves are spliced together
in various ways to produce the desired object. These curves are the standard
tool used in vector graphics, and they make it possible to export the images
to file formats such as SVG. Since Bézier curves are used, the resulting shapes are not
absolutely true 'hyperbolas' or 'trochoids'; however, in most cases you
would be hard-pressed to tell the difference.
To view an example of Bézier curves by Pierre himself, click here.
The program is written in Java, distributed as a .jar file,
with a help file called BezierDraw.chm, and should be runnable on any platform.
This project is hosted on
Launchpad.
Launchpad supports
bug reports
, as well as a
question and answer section.