Method | Description | |
---|---|---|
CalcEScale ( ) : void | ||
DualEdgeBall ( |
||
FCOrientMobius ( int p, int q ) : |
||
GoursatTetrahedron ( double A, double B, double C, double A_, double B_, double C_ ) : Vector3D[] |
This calculates the 4 vertices of a general (but finite) Goursat Tetrahedron. Result is in the ball model. The method comes from the dissertation "Hyperbolic polyhedra: volume and scissors congruence", by Yana Zilberberg Mohanty, section 2.4, steps 1-5. A,B,C are the three dihedral angles surrounding a vertex. A_,B_,C_ are the three oppoite dihedral angles.
|
|
GramSchmidt ( |
||
HoneycombEdgeBall ( |
||
HoneycombEdgeBall ( int p, int q, int r ) : H3.Cell.Edge | ||
HyperboloidToBall ( |
||
Mirrors ( Vector3D verts ) : R3.Geometry.Sphere[] |
Given the 4 verts of a tetrahedron (must lie within ball), Calculate the faces of the tetrahedron. Input and Output in ball model.
|
|
Mirrors ( int p, int q, int r, Vector3D &cellCenter, bool moveToBall = true, double scaling = -1 ) : R3.Geometry.Sphere[] | ||
Mirrors ( int p, int q, int r, bool moveToBall = true, double scaling = -1 ) : R3.Geometry.Sphere[] | ||
MirrorsEuclidean ( ) : R3.Geometry.Sphere[] | ||
MirrorsSpherical ( int p, int q, int r ) : R3.Geometry.Sphere[] |
Mirrors for Spherical geometry, in the ball model.
|
|
PrepForFacetCentering ( int p, int q, |
Inputs must be in UHS!
|
|
ReverseRows ( |
||
SimplexEdgesBall ( int p, int q, int r ) : H3.Cell.Edge[] |
Returns the 6 simplex edges in the Ball model.
|
|
SimplexEdgesUHS ( int p, int q, int r ) : H3.Cell.Edge[] |
Returns the 6 simplex edges in the UHS model.
|
|
ToPovRay ( |
||
VertexPointBall ( int p, int q, int r ) : Vector3D |
Calculates the point of our simplex that is at a vertex.
|
|
VertexSpherical ( int p, int q, int r ) : Vector3D | ||
VertsBall ( int p, int q, int r ) : Vector3D[] |
Return the 4 simplex vertices in the ball model.
|
|
VertsEuclidean ( ) : Vector3D[] |
Method | Description | |
---|---|---|
BaseTileSegments ( int p, int q ) : Segment[] | ||
CellCenterBall ( int p, int q, int r ) : Vector3D |
Calculates the point of our simplex that is at the middle of an edge.
|
|
FaceCenterBall ( int p, int q, int r ) : Vector3D |
Calculates the point of our simplex that is at the middle of an edge.
|
|
Finite ( int t ) : bool | ||
FiniteOrInfinite ( int t ) : bool | ||
HoneycombEdgeUHS ( int p, int q, int r ) : |
||
Infinite ( int t ) : bool | ||
InteriorMirrors ( int p, int q ) : R3.Geometry.Sphere[] |
Calculates the 3 mirrors connected to the cell center. This works in all geometries and returns results in the UHS model (or the appropriate analogue).
|
|
MidEdgePointBall ( int p, int q, int r ) : Vector3D |
Calculates the point of our simplex that is at the middle of an edge.
|
|
MinkowskiInnerProduct ( |
||
MinkowskiNormalize ( |
||
RotateSphere ( |
Helper to rotate a sphere about the z axis.
|
|
TilePoints ( int p, int q, Vector3D &p1, Vector3D &p2, Vector3D &p3, Segment &seg ) : void |
Helper to construct some points we need for calculating simplex facets for a {p,q,r} honeycomb.
|
public static DualEdgeBall ( |
||
facets | ||
return | H3.Cell.Edge |
public static FCOrientMobius ( int p, int q ) : |
||
p | int | |
q | int | |
return |
public static GoursatTetrahedron ( double A, double B, double C, double A_, double B_, double C_ ) : Vector3D[] | ||
A | double | |
B | double | |
C | double | |
A_ | double | |
B_ | double | |
C_ | double | |
return | Vector3D[] |
public static GramSchmidt ( |
||
input | ||
innerProductValues | ||
return |
public static HoneycombEdgeBall ( |
||
facets | ||
vertex | Vector3D | |
return | H3.Cell.Edge |
public static HoneycombEdgeBall ( int p, int q, int r ) : H3.Cell.Edge | ||
p | int | |
q | int | |
r | int | |
return | H3.Cell.Edge |
public static HyperboloidToBall ( |
||
hyperboloidPoint | ||
return | Vector3D |
public static Mirrors ( Vector3D verts ) : R3.Geometry.Sphere[] | ||
verts | Vector3D | |
return | R3.Geometry.Sphere[] |
public static Mirrors ( int p, int q, int r, Vector3D &cellCenter, bool moveToBall = true, double scaling = -1 ) : R3.Geometry.Sphere[] | ||
p | int | |
q | int | |
r | int | |
cellCenter | Vector3D | |
moveToBall | bool | |
scaling | double | |
return | R3.Geometry.Sphere[] |
public static Mirrors ( int p, int q, int r, bool moveToBall = true, double scaling = -1 ) : R3.Geometry.Sphere[] | ||
p | int | |
q | int | |
r | int | |
moveToBall | bool | |
scaling | double | |
return | R3.Geometry.Sphere[] |
public static MirrorsEuclidean ( ) : R3.Geometry.Sphere[] | ||
return | R3.Geometry.Sphere[] |
public static MirrorsSpherical ( int p, int q, int r ) : R3.Geometry.Sphere[] | ||
p | int | |
q | int | |
r | int | |
return | R3.Geometry.Sphere[] |
public static PrepForFacetCentering ( int p, int q, |
||
p | int | |
q | int | |
spheres | ||
cellCenter | Vector3D | |
return | void |
public static ReverseRows ( |
||
m | ||
return |
public static SimplexEdgesBall ( int p, int q, int r ) : H3.Cell.Edge[] | ||
p | int | |
q | int | |
r | int | |
return | H3.Cell.Edge[] |
public static SimplexEdgesUHS ( int p, int q, int r ) : H3.Cell.Edge[] | ||
p | int | |
q | int | |
r | int | |
return | H3.Cell.Edge[] |
public static ToPovRay ( |
||
mirrors | ||
return | void |
public static VertexPointBall ( int p, int q, int r ) : Vector3D | ||
p | int | |
q | int | |
r | int | |
return | Vector3D |
public static VertexSpherical ( int p, int q, int r ) : Vector3D | ||
p | int | |
q | int | |
r | int | |
return | Vector3D |
public static VertsBall ( int p, int q, int r ) : Vector3D[] | ||
p | int | |
q | int | |
r | int | |
return | Vector3D[] |
public static VertsEuclidean ( ) : Vector3D[] | ||
return | Vector3D[] |