Class Cah
- java.lang.Object
-
- skyview.geometry.Transformer
-
- skyview.geometry.Projecter
-
- skyview.geometry.projecter.Cah
-
- All Implemented Interfaces:
java.io.Serializable
,Component
public class Cah extends Projecter
This class provides for the translation between coordinates and Cahill style Octahedron tangent plane projection. .The projection is centered at 0,45 The projection is bounded by a rectangle with dimensions 6 sqrt(2) x 2 sqrt(6) which is filled in the following fashion. 5 4 2 3 5 5 4 4 2 2 3 3 5 5 5 4 4 4 2 2 2 3 3 3 5 5 4 4 6 0 2 2 3 3 5 4 6 6 0 0 2 3 6 6 6 0 0 0 7 6 6 0 0 1 7 7 6 0 1 1 7 7 7 1 1 1 7 7 1 1 7 1 Note that each number is intended to represent an equilateral triangle so that the representation here is only very approximate. The center of the projection is the middle of the boundary between triangles 0 and 6. The north pole is the intersection of triangles 0,2,4 and 6, while the south pole is at the lonely points of 1,3,5,7 The northern octants are even while the southern octants are odd. You can envisage this figure as unwrapping the four northern octants of an octahedron and pressing them flat and then flipping the southern octants on the equator they share with a northern octant. Note that this projection is staddleable but the straddle is not currently available.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
Cah.CahDeproj
Deproject from the plane back to the unit sphere
-
Constructor Summary
Constructors Constructor Description Cah()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getDescription()
Get the description of this component.java.lang.String
getName()
Get the name of this component.Deprojecter
inverse()
Get the inverseboolean
isInverse(Transformer obj)
Are these two transformations, inverses of each other? This method is used to optimize a series of transformations where transformations.static void
main(java.lang.String[] args)
void
transform(double[] unit, double[] plane)
Convert a single point where the output vector is supplied.-
Methods inherited from class skyview.geometry.Projecter
allValid, getInputDimension, getOutputDimension, getXTiling, getYTiling, shadowPoint, straddle, straddleable, straddleComponents, tissot, validPosition
-
Methods inherited from class skyview.geometry.Transformer
transform, transform
-
-
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:Component
Get the name of this component.
-
getDescription
public java.lang.String getDescription()
Description copied from interface:Component
Get the description of this component.
-
isInverse
public boolean isInverse(Transformer obj)
Description copied from class:Transformer
Are these two transformations, inverses of each other? This method is used to optimize a series of transformations where transformations.- Specified by:
isInverse
in classTransformer
-
inverse
public Deprojecter inverse()
Description copied from class:Projecter
Get the inverse
-
transform
public void transform(double[] unit, double[] plane)
Description copied from class:Transformer
Convert a single point where the output vector is supplied.- Specified by:
transform
in classTransformer
- Parameters:
unit
- The input vector.plane
- The output vector, it may be the same as the input vector if the dimensionalities are the same. All transformers are expected to work with aliased inputs and output.
-
main
public static void main(java.lang.String[] args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
-