If you came to this page by a direct link, here is the rest of my Java gallery.
This is an interactive version of the horn.java applet.
The form you see consists of six identical "arms" rotated around a central point. Each arm is created by taking a number of points on a line, "bending" them (i.e. rotating them) a set number of degrees and applying a x-y translation to each point so as to stretch the arm.
By clicking the left and right mouse buttons over the image you can experiment with the two parameters that determines the form: The degree of bending and the translation vector. The degree of bending is set by clicking the right mouse button over the image. The x position of the point where you clicked determines the degree. 0 degrees is at the left edge of the image and the number of degrees increase as you move right. At the right edge of the image the degree of bending is approximately 2000 degrees, meaning that the points of the arm will bend almost seven times around the central point, causing spirals to appear.
By clicking the left mouse button anywhere in the image the x-y position of where you click will determine the translation vector that is used to stretch the form.
Additional commands: Press "p" to toggle parameter display. There are three display modes: Circles, dots and lines. These can all be used at the same time, which can be useful if the form gets too complex. Press "c" to toggle visual representation of arms by circles. Press "d" to toggle visual representation of arms by small dots. Press "l" to see the arms drawn as lines.