After starting the application with the command
java -cp . KamiWaAi
from the directory where the object KamiWaAi.class and the package
GeometricAlgebra reside, e.g. from c:\KWA, a new window will open on the
computer screen. The window is composed of three main panels. The left panel
shows the front view, the center panel shows he right side view and to the right
the available functions are grouped as interactive radio buttons with their
labels. In the default configuration the function "point" is activated. I will
now quickly step you through the presently available eight functions: point,
line, circle, sphere C,r, sphere, move, S int l and S int S.
If the radio button "point" is activated, the user can define three
dimensional points by first clicking on the left panel and next on the center
panel. Clicking on the left panel immediately creates a small blue disk at the
position of the click. The left panel stays then deactivated (i.e. unreceptive
for mouse clicks) until a corresponding right side view point is defined by
clicking on the center panel. On the center panel a green disk will appear at
the position of the click, exactly in the same height as the blue point just
defined on the left panel. Then the center panel becomes deactivated, the left
panel becomes activated and a new point can be defined.
Later the underlying
representation of these points (vectors) in conformal geometric algebra and by
its software implementation in the GeometricAlgebra Java package will be
explained later.
After defining at least two points with the function "points" the user can
activate the radio button labeled "line" for drawing straight lines through the
points. The choice of points is performed by simply clicking on the small
colored disks representing the points in the front and side view panels (left
and center panel respectively). On the command line of the shell or MSDOS prompt
window the messages "point 1 chosen!" and "point 2 chosen!" will appear
successively. As soon as the second message appears a sky blue straight line
will be drawn through both points, visible both in the front and in the side
view panels. Now new points can be chosen to draw more lines.
It does not
matter from which panel the points are chosen, i.e. whether they are chosen both
from the same panel view or e.g. first from the left panel and then from the
center panel and vice versa.
Drawing circles after activating the radio button "circle" is very much similar to drawing lines. The only difference is that the user needs to choose a total of three points instead of two. Therefore before being able to create a circle, the user must at least define three points with the function point. The messages "point 1 chosen!", "point 2 chosen!" and "point 3 chosen!" will appear successively on the shell or MSDOS prompt window. After the third message appears, a red circle will be drawn in both views intersecting all three chosen points. Now new points can be chosen to draw more circles. It again does not matter how many of the three points are chosen from the front and/or the side view panels.
First the radio button labeled "sphere" needs to be activated. Then four points need to be chosen similar to clicking the points when drawing lines or circles. Therefore before being able to create a sphere by four base points , the user must at least define four points with the function point. The four messages "point 1 chosen!" until "point 4 chosen!" will appear successively on the shell or MSDOS prompt window. After the fourth one appears, a yellow circle will be drawn, visible both in the front and in the side view panels. Again it does not matter how many points are chosen from the front and/or the side view panel, respectively. Spheres are drawn by their longitudes and latitudes. The longitudinal meridians intersect in two poles. The angular position of the poles on a sphere is only for the convenience of displaying them and for later easing the interactive selection of spheres (compare the section on the intersection of spheres and lines.)
Selecting the radio button "sphere C,r" provides a more convenient way to
draw spheres. The user just needs to interactively choose the center point.
Immediately after that a small new automatic interactive dialogue window will
appear. Entering the desired radius by pressing the numbers on the computer
keyboard followed by pressing the ENTER key will cause KamiWaAi to immediately
draw a yellow sphere of the desired radius and around the selected center point.
The appearance of the sphere is otherwise similar (composed of longitudes and
latitudes and with visible poles).
As with all other functions, the user can
proceed to define more centered radius r spheres with centers and radii at will.
Or he can proceed to any of the other implemented functions.
Up till now there is no great difference to drawing things on a peace of
paper, even if one has to admit that the computer can draw much faster and more
precise than sketching by hand usually allows. But the interactive "move"
function is so to say the first function that really capitalizes on the ability
of a computer to memorize graphical objects and adapt them to changes of the
objects which served to define them in the first place. At the moment the
defining objects are basically the points created with the "point" function.
The first step is to activate the radio button labeled "move". Then the user
can click on any point in any of the two panels (front or right side view), keep
the mouse button firmly pressed and slowly move it across the screen. The point
will follow this motion. After releasing the point again, KamiWaAi will
reconstruct all previously present objects, adapting positions, orientations and
sizes where it is required. This is certainly something, which needs much more
work, fresh sheets of paper and a good understanding of the changing projected
appearances if sketched by hand.
The user can use this "move" function
visually to interactively explore the dependence of his constructions on the
positions of the defining objects (here points) in three dimensions. All objects
will follow this motion.
This function needs some explanation. After activating the radio button "S
int l" the user is expected to click within three pixels of the line, which he
wants to use for the intersection operation. It does not matter from which panel
the line is chosen. If the user clicks very close to two lines, KamiWaAi will
automatically choose the line whose projection in the panel view is the closest
to the clicked position of the panel. The click position has in no way to be a
"point" as defined in section 2.1. Any position close enough to the projected
view of the straight line will do! If the clicked position is not close enough
to any line projection, the computer will wait for another click in order to
properly select a line and will give out the information message "Line No. -1
selected." in the shell or MSDOS prompt window. After successfully selecting a
line the computer will print the number of the straight line immediately
followed by the message "And now select a sphere!"
To select a sphere the
user simply has to click on one of the two previously mentioned poles of the
desired sphere. Remember that a pole is marked by the intersection of the
longitudinal meridians, which are used to display the sphere. There is a small
sensitive area around each pole of each sphere in both of the display panels
(front and right side). If the clicked position is not close enough to any pole
the message "Sphere No. -1 selected." will appear. In this case the user can
just continue to click in the vicinity of any pole until the message with the
selected sphere number (a positive integer number including zero) will appear in
the shell or MSDOS prompt window. Immediately after successfully selecting a
sphere the computer will do three actions:
First it will inform the user how
many points of intersection of the chosen line and sphere exist: "Two points of
intersection!" or "One point of intersection!" or "No intersection!" In the case
of "No intersection!", the computer will immediately restart all over again with
the message: "Select a new line!"
Second in the cases of "Two points of
intersection!" or "One point of intersection!", KamiWaAi will draw the point(s)
of intersection with dark blue disk(s) in the (left) front view panel and with
dark green disk(s) in the (central) right side view panel.
Thirdly the
computer will generate the shell or MSDOS prompt message: "Select a new line!"
KamiWaAi thereby indicates that it is ready for the interactive selection of the
next line for the next round of intersection of a sphere and a line.
The user needs to click near to the pole of the first sphere, which he wants to use for intersection. If this is successful, the selection will be printed in the command line window. If not, the user will be asked to try again. After successfully selecting a second (different) sphere, the user gets the information about the intersection: One point of intersection, or a circle of intersection, or no intersection. The results will immediately be displayed (point or circle) in the front and side view panels of KamiWaAi. After the intersection of this first pair of spheres is finished, the user can continue to select and intersect new spheres.
This explains all the presently implemented eight functions in detail and the
interested reader is hereby invited to start exploring three dimensional
geometry on his own using KamiWaAi.
More information on the background in
the theory of conformal geometrical algebra and the Java package
GeometricAlgebra, which implements this algebra in the form of new object
oriented Java classes and their methods can be found in
KAMIWAAI
- INTERACTIVE 3D SKETCHING WITH JAVA BASED ON Cl(4,1) CONFORMAL MODEL OF
EUCLIDEAN SPACE
This description informs about the major classes, lists
their most important methods, specifying their input and output. But please note
that this paper only covers version 0.0.1 beta. The changes in newer releases
are not explained in it.
Limitted information about the changes between
versions 0.0.1 beta and 0.0.4 beta can also be found in the Readme.txt file.