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 almost all the
drawing is done using Bézier curves, the only exception being
the occasional ellipse. The Bézier curves are spliced together
in various ways to produce the desired object. These curves were chosen
for two reasons: firstly, they are rendered extremely rapidly by
the graphics engine, so it is possible to do live manipulation with a
mouse; secondly, the standard vector graphics file formats such as SVG
have
full support for them. Since Bézier curves were used, the resulting shapes are not
absolutely true 'hyperbolas' or 'trochoids'; however, in most cases you
would be hard-pressed to tell the difference. If you detect a
significant deviation from a 'true' shape, let me know and I'll
investigate it to see if it can be fixed.
The program is written in Visual Basic 6, and has no
special installation procedures. However, the operating system should
be newer than Windows 98, and you must set the
color depth of your monitor to be 24-bit or higher, sometimes called
'True Color'. (Check the Display
Properties under Color Quality.) If you encounter any problems running
it, let me know, and I
can probably email you the necessary support files. Also, try to
keep the
help (.chm)
file in the
same directory as the executable (.exe) file.
To view an example of Bézier curves by Pierre himself, click here.
This is a work in progress: if you have ideas for
new features you would like to see, let
me know, and I'll put them onto
my list of things to do.