|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jcae.mesh.amibe.metrics.Metric2D
public class Metric2D
2D metrics. This class provides metrics on the tangent plane.
A Metric3D
is computed and projected onto the tangent plane.
This metric is then attached to the Vertex
at which it is
computed, and is used to compute distance to other vertices in
Calculus3D
.
It can be shown that vertices at a distance D
of a point
lies on an ellipsis centered at P
.
If multiple constraints are combined, ellipsis are intersected so that the
resulting metrics fulfill all requirements. There are several ways to
perform this intersection, here is how it is done in
Matrix2D.intersection(Matrix2D)
.
If A
and B
are 2D metrics, there exists
a matrix P
such that A=tP d(a1,a2) P
and B=tP d(b1,b2) P
, where d(x,y)
is the
diagonal matrix of coefficients x
and y
.
Then the metric C=tP d(max(a1,b1),max(a2,b2)) P
defines an ellipsis which is interior to both ellipsis.
Constructor Summary | |
---|---|
Metric2D()
|
|
Metric2D(CADGeomSurface surf,
Vertex pt,
MeshParameters mp)
Creates a Metric2D instance at a given point. |
Method Summary | |
---|---|
double |
det()
Return the determinant of this matrix. |
double |
distance2(double[] p1,
double[] p2)
Returns square distance between two points with this metrics. |
double |
dot(double x0,
double y0,
double x1,
double y1)
Return the dot product of two vectors in this Riemannian metrics. |
double[] |
getBounds2D()
Return width and height of surrounding bounding box. |
static boolean |
interpolateSpecial(Metric2D mFirstInv,
Metric2D mSecond,
Metric2D mRet)
Compute interpolation between two metrics. |
boolean |
inv(Metric2D ret)
Compute inverse matrix and stores result into its argument. |
boolean |
isPseudoIsotropic()
Test whether this metrics is Euclidian. |
double[] |
orth(double x0,
double y0)
Return an orthogonal vector in this metrics. |
java.lang.String |
stringCoefs()
|
java.lang.String |
stringCoefs(double scaleX,
double scaleY)
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Metric2D(CADGeomSurface surf, Vertex pt, MeshParameters mp)
Metric2D
instance at a given point.
surf
- geometrical surfacept
- node where metrics is computed.public Metric2D()
Method Detail |
---|
public double det()
public boolean inv(Metric2D ret)
false
if metric is singular, true
otherwise.public static boolean interpolateSpecial(Metric2D mFirstInv, Metric2D mSecond, Metric2D mRet)
SmoothNodes2D
with A fixed and B being iteratively A's neighbours.
mFirstInv
- inverse metric at first pointmSecond
- metric at second pointmRet
- allocated metric to store result
true
if interpolated metric can be computed, false
otherwisepublic double[] getBounds2D()
public double dot(double x0, double y0, double x1, double y1)
x0
- first coordinate of the first vector.y0
- second coordinate of the first vector.x1
- first coordinate of the second vector.y1
- second coordinate of the second vector.
public double[] orth(double x0, double y0)
x0
- first coordinatey0
- second coordinate
public boolean isPseudoIsotropic()
true
if this metrics is quasi-Euclidian,
false
otherwise.public double distance2(double[] p1, double[] p2)
p1
- coordinates of the first nodep2
- coordinates of the second node
public java.lang.String stringCoefs()
public java.lang.String stringCoefs(double scaleX, double scaleY)
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |