public class PnPCA
extends java.lang.Object
Constructor and Description |
---|
PnPCA() |
Modifier and Type | Method and Description |
---|---|
static PdVector |
getBarycenter(PgElementSet geom)
Compute the barycenter of an element set.
|
static PdVector |
getBarycenter(PgElementSet geom,
int[] indices)
Compute the barycenter of a subset of an element set.
|
static PdVector |
getBarycenter(PgTetraSet geom)
Compute the barycenter of an element set.
|
static PdVector |
getBarycenter(PgTetraSet geom,
int[] indices)
Compute the barycenter of a tetra set.
|
static PdMatrix |
getCovarianceMatrix(PgElementSet geom)
Compute the covariance matrix of an element set.
|
static PdMatrix |
getCovarianceMatrix(PgElementSet geom,
PdVector center)
Compute the covariance matrix of an element set.
|
static PdMatrix |
getCovarianceMatrix(PgElementSet geom,
PdVector center,
int[] indices)
Compute the covariance matrix of a subset of an element set.
|
static PdMatrix |
getCovarianceMatrix(PgTetraSet geom)
Compute the covariance matrix of a tetra set.
|
static PdMatrix |
getCovarianceMatrix(PgTetraSet geom,
PdVector center)
Compute the covariance matrix of a tetra set.
|
static PdMatrix |
getCovarianceMatrix(PgTetraSet geom,
PdVector center,
int[] indices)
Compute the covariance matrix of a tetra set.
|
static PdVector |
getNormal(PgElementSet geom,
PdVector center)
Compute the normal of the best-fitting plane to an element set.
|
static PdVector |
getNormal(PgElementSet geom,
PdVector center,
int[] indices)
Compute the normal of the best-fitting plane to a subset of an element set.
|
static PdVector |
getNormal(PgTetraSet geom,
PdVector center)
Compute the normal of the best-fitting plane to a tetra set.
|
static PdVector |
getNormal(PgTetraSet geom,
PdVector center,
int[] indices)
Compute the normal of the best-fitting plane to a subset of a tetra set.
|
static PdVector |
getWeightedBarycenter(PgTetraSet geom,
PdMatrix[] tensorField,
int[] indices)
Compute the barycenter of a tetra set.
|
static PdVector |
getWeightedBarycenter(PgTetraSet geom,
PgVectorField vf,
int[] indices)
Compute the barycenter of a tetra set.
|
static PdMatrix |
getWeightedCovarianceMatrix(PgTetraSet geom,
PdMatrix[] tensorField,
PdVector center,
int[] indices)
Compute the covariance matrix of a tetra set.
|
static PdMatrix |
getWeightedCovarianceMatrix(PgTetraSet geom,
PgVectorField vf,
PdVector center,
int[] indices)
Compute the covariance matrix of a tetra set.
|
static PdVector |
getWeightedNormal(PgTetraSet geom,
PgVectorField vf,
PdVector center,
int[] indices)
Compute the normal of the best-fitting plane to a subset of a tetra set.
|
static void |
transformCoordinateSystem(PgGeometry geom,
PdVector origin,
PdVector[] basis,
int nov,
int noe)
This method expresses a PgPointSet (given in standard basis) in a new coordinate system, given by a new origin and
basis.
|
static void |
transformToNormalPosition(PgElementSet geom)
Translates and rotates a surface, such that its barycenter lies in the origin
and the three eigenvectors of the covariance matrix are aligned to the axes.
|
public static PdMatrix getCovarianceMatrix(PgElementSet geom)
geom
- The element set to analyzepublic static PdMatrix getCovarianceMatrix(PgElementSet geom, PdVector center)
geom
- The element set to analyzecenter
- The center of covariance analysis (expectation)public static PdMatrix getCovarianceMatrix(PgElementSet geom, PdVector center, int[] indices)
geom
- The element set to analyzecenter
- The center of covariance analysis (expectation)indices
- The indices of the subsetpublic static PdMatrix getCovarianceMatrix(PgTetraSet geom)
geom
- The tetra set to analyzepublic static PdMatrix getCovarianceMatrix(PgTetraSet geom, PdVector center)
geom
- The tetra set to analyzecenter
- The center of covariance analysis (expectation)public static PdMatrix getCovarianceMatrix(PgTetraSet geom, PdVector center, int[] indices)
geom
- The tetra set to analyzecenter
- The center of covariance analysis (expectation)indices
- Set of elements, which are treated by this methodpublic static PdMatrix getWeightedCovarianceMatrix(PgTetraSet geom, PgVectorField vf, PdVector center, int[] indices)
geom
- The tetra set to analyzecenter
- The center of covariance analysis (expectation)public static PdMatrix getWeightedCovarianceMatrix(PgTetraSet geom, PdMatrix[] tensorField, PdVector center, int[] indices)
geom
- The tetra set to analyzetensorField
- center
- The center of covariance analysis (expectation)indices
- public static PdVector getBarycenter(PgElementSet geom)
geom
- The element setpublic static PdVector getBarycenter(PgTetraSet geom)
geom
- The element setpublic static PdVector getBarycenter(PgElementSet geom, int[] indices)
geom
- The element setindices
- The indices of the subsetpublic static PdVector getBarycenter(PgTetraSet geom, int[] indices)
geom
- The tetra setindices
- The indices of the subsetpublic static PdVector getWeightedBarycenter(PgTetraSet geom, PgVectorField vf, int[] indices)
geom
- The tetra setindices
- The indices of the subsetpublic static PdVector getNormal(PgElementSet geom, PdVector center)
geom
- the element setcenter
- the barycenter of the element setpublic static PdVector getNormal(PgTetraSet geom, PdVector center)
geom
- the tetra setcenter
- the barycenter of the tetra setpublic static PdVector getNormal(PgElementSet geom, PdVector center, int[] indices)
geom
- the element setcenter
- the barycenter of the element setindices
- the indices of the subsetpublic static PdVector getNormal(PgTetraSet geom, PdVector center, int[] indices)
geom
- the tetra setcenter
- the barycenter of the element setindices
- the indices of the subsetpublic static PdVector getWeightedNormal(PgTetraSet geom, PgVectorField vf, PdVector center, int[] indices)
geom
- the tetra setcenter
- the barycenter of the tetra setindices
- the indices of the subsetpublic static PdVector getWeightedBarycenter(PgTetraSet geom, PdMatrix[] tensorField, int[] indices)
geom
- the tetra settensorField
- specifies the weightsindices
- the indices of the subsetpublic static void transformToNormalPosition(PgElementSet geom)
public static void transformCoordinateSystem(PgGeometry geom, PdVector origin, PdVector[] basis, int nov, int noe)
geom
- The point cloud, which we want to express in new coordinates.origin
- The new location to which the coordinate system gets moved.basis
- The new basis for our new coordinate system.nov
- The number of vertices of the underlying geometrynoe
- The number of elements of the underlying geometry"