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