This is a brief documentation of the moving cycle interpolator. This interpolator is a part of the implementation of the algorithms described in the article "Creating Representations for Continuously Moving Regions from Observations" by Erlend Tøssebro and Ralf Hartmut Güting. The program can interpolate a single cycle between two snapshots.

This program takes as input two cycles and produces a graph representation of the moving cycle. The cycles are stored as lists of points. Two neighbouring points in such a list constitute a line. Because some of the algorithms used require an angle to be stored for each line, the moving points are stored in LineWA objects instead of regular point objects.

The graph representation is stored as a list of points with neighbour lists. Each such point has stored a position in space and time. From this structure, the application version of the program may create a VRML representation of the moving cycle.

The convex hull tree which is used by the interpolation algorithm
is stored as a tree built up of ConvexHullTreeNode
objects. This class represents the datatype *chtnodewo* from the
article.

The overlap graph edges themselves are stored in OverlapGraphEdge
objects. They correspond to the *overlapedge* type from the
article.

The *rotating_plane* algorithm is implemented by the
*createConvexTriangleRep* function in the TriangleRep class.

The *build_convex_hull_tree* algorithm is implemented by the
constructor of the convexHullTreeNode class. One only needs to create
the root of the convex hull tree explicitly, all the other modes are
automatically created when the root is created.

The *compute_overlap_graph* algorithm is implemented by the
*computeOverlapGraph* function in the TriRepUtil class. This
function uses the *computeOverlapGraphIter* function to do the
actual computations.

The *join_concavities* algorithm is implemented by the
*joinChildren* function in the ConvexHullTreeNode class. Because
this function is called in the parent class, only the list of
children needs to be passed as a parameter to the function.

The *create_moving_cycle* algorithm is implemented by the
constructor of the the TriangleRep class.

The *trapezium_rep_builder* algorithm is implemented by the
private function *createGeneralTriangleRep* in the TriangleRep
class.

A documentation of the classes generated by javaDoc can be found here.

Letzte Änderung: 2016-11-22 ()

- © FernUniversität in Hagen

FernUniversität in Hagen, Lehrgebiet Datenbanksysteme für neue Anwendungen, D-58084 Hagen,
Telefon: +49 (2331) 987-4277