ABOUT "L2Primitives"
There are
many useful implementations of these models in various programming languages
and different ways like interactive drawing pads, etc.
Our main idea is to create
a package that could handle all aspects of visualization and computation
in the Hyperbolic Space. The method we are using for visualization
of the three dimensional hyperbolic space is same
as in Euclidean geometry except that rays are hyperbolic lines.
Therefore
our starting point, that we are working on now, is visualization of hyperbolic
plane . So this is just a working version, a beginning of
a bigger project, lead by Srdjan Vukmirovic.
Mathematica® seemed like the best choice for practical
implementation
of the model, since it contains number of useful built-in functions,
as well as standard
packages. For the future, we consider implementation on other platforms
as well, preferably using OpenGL in addition to C++, or Java.
This package for manipulation
with basic objects of the Lobachevskian plane (L2) and their representation
in three modes of that geometry, contains these parts:
BASIC
OBJECTS
|
TRANSFORMATIONS |
SUPPORTED
MODELS
|
- POINTS
- POLYGONAL LINES
- POLYGONS
- CIRCLES
- DISKS
|
- REFLECTION with respect to a
point or line
- ROTATION
- HYPERBOLIC ROTATION
|
- POINCARE DISK
- KLEIN DISK
- POINCARE HALFPLANE
|
Basic objects are abstract
most of the time. That means that user has only two contacts with their
representation in a certain model.
1.User enters
L2 points in a certain model using commands PDPoint,
KDPoint, HPPoint. |
2.
Then they become abstract points internally called LPoint.
User then can manipulate them without thinking how are they internally
represented. He can make of them any basic object (line, circle,...)
which is purely abstract. Such abstract objects can be isometrically
mapped into another abstract object. |
3. User can graphically
represent any basic object in a model of his choice using the function
LToGraphics
|
|