What's This All About?
The Hoot-Nanny, or Magic Designer as it is sometimes called, is a toy
that was manufactured in Chicago by Howard B. Jones in the early
1900s. Using a system of gears and linkages, it moves a pencil around
on a circular piece of paper to produce interesting and sometimes quite
elaborate designs. The Hoot-Nanny simulator is
a JavaScript simulation of the Hoot-Nanny toy.
In both the toy and the simulator, you can change one or more of
several adjustments to produce different designs. On the toy, these
are of course physical adjustments. On the simulator, you make the
adjustments by specifying numerical values for the various simulator
parameters. In order to understand the simulator parameters, it's
helpful to have a mental image of the physical device. Here is a
picture of the actual toy:
To use the toy, you put a piece of paper on the big black gear in the
middle and then turn the little crank. This turns the big gear, which
then turns the two smaller gears on the left. The two pins sticking up
from the smaller gears make the long arms wiggle the pencil around in
various ways while the paper rotates beneath it. That's what makes the
designs.
Adjusting the Toy
There are basically three adjustments possible on the toy which can
be set in myriad ways to produce a corresponding myriad of (mostly)
different designs. These three adjustments are:
- The angular distance between the two small gears. This is
controlled by the lever on the right side of the device.
- The positions of the two pins on the small gears. Each pin can
be placed in one of eight holes in the corresponding gear.
- The lengths of the two pencil arms. These are set according to
which of the arm holes are used to engage the pins.
The original instructions for the toy give
lots more information about how it works.
Adjusting the Simulator
The simulator has several more adjustments than
the toy, as shown in the box to the left. Some of these correspond
with the physical adjustments provided by the toy, while the others are
possible in the simulator only.
Adjustments That Match the Toy
- Angle Between Gears This parameter specifies the angular
distance between the two small gears, in degrees. The simulator
accepts any value, but note that settings of this parameter that
differ by exact multiples of 360 degrees will give the same
design.
- Length of Arm A and Length of Arm B These parameters
specify the lengths of the two arms, in arbitrary units.
- Radius of Pin A Circle and Radius of Pin B Circle
These parameters specify the radial distances from the centers of
the two small gears to the corresponding pins, in arbitrary units.
In the toy, the values possible for these adjustments are
constrained by the locations of the holes in the gears. The
simulator imposes no such restriction.
- Angle Between Pins At any time during the simulation, the
bearings from the centers of the two small gears to the
corresponding pins will differ by a constant angle. This parameter
specifies that angular difference, in degrees. In the toy, the
values possible for this adjusment are constrained by the locations
of the holes in the gears. The simulator imposes no such
restriction.
Adjustments in the Simulator Only
- Radius of Gear A Path and Radius of Gear B Path
These parameters specify the radial distances from the center of
the big gear to the centers of the two small gears, in arbitrary
units. These distances are fixed in the toy by its physical
construction.
- Number of Sides The toy always produces designs with
six-sided symmetry (like a snowflake). In the simulator, this
parameter specifies the "sidedness" of the design. This parameter
is usually specified as integer value, although non-integer values
can sometimes produce interesting results.
- Number of Traces This parameter specifies how many times
the simulator will run when the Draw button is pressed. This
parameter is rounded up to the next higher integer value before
use. On the first run, the simulator uses the parameters specified
in the "Initial" column. For the second and subsequent runs (if
specified), the simulator adjusts all of the parameters by the
values specified in the "Change By" column so that a different
design is produced each time. You can set the "Change By" values
to anything you want, but you will get better results if you set
only a small number of them (leave the others at zero) and if you
set them to relatively small values compared with the initial
values.
- Step Size This parameter specifies how far the simulator
should turn the crank before calculating and drawing a new point in
the output. If the step size is too small, the output will be
smooth, but the simulation will take a long time. If the step size
is too large, the simulator will run quickly, but the design may
appear jagged and/or contain extraneous lines. So the trick is to
set the step size as large as possible for the best performance,
but not so large that the design appears jagged. A value of 1 is
usually a good place to start.
- Animate If this checkbox is checked, the simulator will run
slower than normal and will display each point on the screen as it
is calculated. This lets you see the drawing as it develops. If
the checkbox is not checked, the simulator will run as fast as it
can, but the drawing will not appear until after it has been fully
calculated.