public class ProjectiveSpace extends java.lang.Object implements GeometryIF
Modifier and Type | Field and Description |
---|---|
protected NumberVectorSpace |
m_vectorspace |
AFFINE_GEOMETRY, AFFINE2D_GEOMETRY, AFFINE3D_GEOMETRY, EUCLIDEAN2D_GEOMETRY, EUCLIDEAN3D_GEOMETRY, HYPERBOLIC2D_GEOMETRY, NO_GEOMETRY_TYPE, PROJECTIVEND_GEOMETRY
Constructor and Description |
---|
ProjectiveSpace(java.lang.Class entryClass,
int dim,
int extDim)
Creates an ProjectiveSpace with all data based on numbers with class
type
entryClass . |
ProjectiveSpace(NumberTuple projPointCoord)
Creates a zero dimensional ProjectiveSpace (that is in fact a point),
with environmental dimension equal to the dimension of the
projPointCoord minus one. |
ProjectiveSpace(NumberVectorSpace aVecSpace) |
ProjectiveSpace(ProjectiveSpace[] spacev) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(ProjectiveSpace aSpace) |
NumberTuple[] |
getAffineBasis() |
NumberMatrix |
getBasisMatrixRef() |
int |
getDimension()
Returns the internal dimension of this
ProjectiveSpace , which
would be 0 for a point, 1 for a line, ... |
int |
getEnvDimension()
Returns the environmental space dimension of this ProjectiveSpace.
|
int |
getGeomType()
Returns the geometry type of the current geometric object.
|
java.lang.Class |
getNumberClass()
Returns the class type of the underlying number class (currently something
like MDouble.class, MRational.class, ...)
|
NumberTuple[] |
getProjectiveBasis()
Returns the basis vector array of the underlying
NumberVectorSpace
of this ProjectiveSpace . |
GeometryIF |
groupAction(GroupElementIF g)
Shouldn't this method call m_vectorspace.groupAction()?
|
ProjectiveSpace |
intersected(ProjectiveSpace aProjectiveSpace)
This computes the intersection of
ProjectiveSpace
with aProjectiveSpace and afterwards returned by this method. |
boolean |
isInfinite() |
protected boolean |
isValidAffineCoordinateIndex(int i) |
ProjectiveSpace |
setAffineBasis(NumberTuple[] coord) |
ProjectiveSpace |
setProjectiveBasis(NumberTuple[] projCoordBasis)
Sets the basis of the underlying
NumberVectorSpace to
projCoordBasis . |
protected NumberVectorSpace m_vectorspace
public ProjectiveSpace(java.lang.Class entryClass, int dim, int extDim)
entryClass
. dim
defines the dimension of this
ProjectiveSpace
,
i.e. a zero dimensional space would be a projective point, a one dimensional
space would be a projective line, ...
extDim
describes the dimension of the environmental space.public ProjectiveSpace(NumberVectorSpace aVecSpace)
public ProjectiveSpace(ProjectiveSpace[] spacev)
public ProjectiveSpace(NumberTuple projPointCoord)
projPointCoord
minus one.public boolean equals(ProjectiveSpace aSpace)
public ProjectiveSpace intersected(ProjectiveSpace aProjectiveSpace)
ProjectiveSpace
with aProjectiveSpace
and afterwards returned by this method.
This and aProjectiveSpace
remain unchangedpublic int getGeomType()
GeometryIF
GeometryIF
.getGeomType
in interface GeometryIF
public boolean isInfinite()
public int getDimension()
ProjectiveSpace
, which
would be 0 for a point, 1 for a line, ...public int getEnvDimension()
public GeometryIF groupAction(GroupElementIF g)
groupAction
in interface GeometryIF
public NumberTuple[] getProjectiveBasis()
NumberVectorSpace
of this ProjectiveSpace
.
This method has side effects: Working on the data of the returned
vectors will affect this ProjectiveSpace also.public ProjectiveSpace setProjectiveBasis(NumberTuple[] projCoordBasis)
NumberVectorSpace
to
projCoordBasis
.
It is expected that the elements in projCoordBasis
are
linearly independent.public ProjectiveSpace setAffineBasis(NumberTuple[] coord)
public NumberTuple[] getAffineBasis()
public java.lang.Class getNumberClass()
getNumberClass
in interface NumberTypeDependentIF
protected boolean isValidAffineCoordinateIndex(int i)
public NumberMatrix getBasisMatrixRef()
Further documentation and examples can be found under www.mathletfactory.de.