de.jreality.tutorial.projects.ksurfaces

## Class KSurfaces

• ```public class KSurfaces
extends Object```
The algorithms to generate the Gauss map of a K-surface and the surface. The arrays are in xt--coordinates, where the first index is time t and the second is the position x.
Author:
Ulrich Pinkall, adapted for the tutorial by G. Paul Peters, 24.07.2009
```Pinkall: "Designing Cylinders with Constant Negative Curvature", in Discrete Differential Geometry, pages 57-66. Springer 2008.```
• ### Constructor Summary

Constructors
Constructor and Description
`KSurfaces()`
• ### Method Summary

All Methods
Modifier and Type Method and Description
`static void` ```gaussMapFromInitialAnnulus(double[][][] initialAnnulus, double[][][] target)```
Computes the Gauss map of a K-surface from initial Cauchy data, i.e., two closed curves.
`static void` ```kSurfaceFromGaussMap(double[][][] gaussMap, double[][][] target)```
Calculates the K-surface from the given Gauss map, assuming that the Gauss map consists of spherical parallelograms as described in `gaussMapFromInitialAnnulus(double[][][], double[][][])`.
• ### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Constructor Detail

• #### KSurfaces

`public KSurfaces()`
• ### Method Detail

• #### gaussMapFromInitialAnnulus

```public static void gaussMapFromInitialAnnulus(double[][][] initialAnnulus,
double[][][] target)```
Computes the Gauss map of a K-surface from initial Cauchy data, i.e., two closed curves. Assums that the points of the initial data lie on the 2-sphere this method generates more points so that the quadrilaterals (i-1,j-1), (i-1,j), (i,j),(i-2,j-1) form spherical parallelograms.
Parameters:
`initialAnnulus` - the initial data, i.e., a double array double[n] containing 2 polygons with n vertices, which are both interpreted as closed curves connecting that last and the first one.
`target` - a double array that will be filled with the result, i.e., an array double[m][n], where m>1 is the number of time steps to be calculated.
• #### kSurfaceFromGaussMap

```public static void kSurfaceFromGaussMap(double[][][] gaussMap,
double[][][] target)```
Calculates the K-surface from the given Gauss map, assuming that the Gauss map consists of spherical parallelograms as described in `gaussMapFromInitialAnnulus(double[][][], double[][][])`.
Parameters:
`gaussMap` - the given Gauss map.
`target` - a double array with enough space to hold the resulting surface. A quad mesh where the quadrilaterals consist of (i-1,j-1), (i-1,j), (i,j),(i-2,j-1).