| java.lang.Object org.geotools.math.Plane
Plane | public class Plane implements Cloneable,Serializable(Code) | | Equation of a plane in a three-dimensional space (x,y,z).
The plane equation is expressed by
Plane.c ,
Plane.cx and
Plane.cy coefficients as
below:
z(x,y) = c +
cx*x + cy*y
Those coefficients can be set directly, or computed by a linear regression of this plane
through a set of three-dimensional points.
version: $Id: Plane.java 22443 2006-10-27 20:47:22Z desruisseaux $ author: Martin Desruisseaux author: Howard Freeland since: 2.0 |
Field Summary | |
public double | c The c coefficient for this plane. | public double | cx The cx coefficient for this plane. | public double | cy The cy coefficient for this plane. |
Constructor Summary | |
public | Plane() Construct a new plane. |
Method Summary | |
public Object | clone() Returns a clone of this plane. | public boolean | equals(Object object) Compare this plane with the specified object for equality. | public int | hashCode() Returns a hash code value for this plane. | public void | setPlane(Point3d P1, Point3d P2, Point3d P3) Computes the plane's coefficients from the specified points. | public void | setPlane(double[] x, double[] y, double[] z) Compute the plane's coefficients from a set of points. | public String | toString() Returns a string representation of this plane. | final public double | x(double y, double z) Compute the x value for the specified (y,z) point.
The x value is computed using the following equation:
x(y,z) = (z - (c+cy*y)) / cx
Parameters: y - The x value. Parameters: z - The y value. | final public double | y(double x, double z) Compute the y value for the specified (x,z) point.
The y value is computed using the following equation:
y(x,z) = (z - (c+cx*x)) / cy
Parameters: x - The x value. Parameters: z - The y value. | final public double | z(double x, double y) Compute the z value for the specified (x,y) point.
The z value is computed using the following equation:
z(x,y) = c + cx*x + cy*y
Parameters: x - The x value. Parameters: y - The y value. |
c | public double c(Code) | | The c coefficient for this plane. This coefficient appears in the place equation
c+cx*x+cy*y.
|
cx | public double cx(Code) | | The cx coefficient for this plane. This coefficient appears in the place equation
c+cx*x+cy*y.
|
cy | public double cy(Code) | | The cy coefficient for this plane. This coefficient appears in the place equation
c+cx*x+cy*y.
|
Plane | public Plane()(Code) | | Construct a new plane. All coefficients are set to 0.
|
clone | public Object clone()(Code) | | Returns a clone of this plane.
|
equals | public boolean equals(Object object)(Code) | | Compare this plane with the specified object for equality.
|
hashCode | public int hashCode()(Code) | | Returns a hash code value for this plane.
|
setPlane | public void setPlane(Point3d P1, Point3d P2, Point3d P3) throws ArithmeticException(Code) | | Computes the plane's coefficients from the specified points. Three points
are enough for determining exactly the plan, providing that the points are
not colinear.
throws: ArithmeticException - If the three points are colinear. |
setPlane | public void setPlane(double[] x, double[] y, double[] z) throws MismatchedSizeException(Code) | | Compute the plane's coefficients from a set of points. This method use
a linear regression in the least-square sense. Result is undertermined
if all points are colinear.
Parameters: x - vector of x coordinates Parameters: y - vector of y coordinates Parameters: z - vector of z values throws: MismatchedSizeException - if x, y and zdon't have the same length. |
toString | public String toString()(Code) | | Returns a string representation of this plane.
The string will contains the plane's equation, as below:
z(x,y) =
Plane.c +
Plane.cx *x +
Plane.cy *y
|
x | final public double x(double y, double z)(Code) | | Compute the x value for the specified (y,z) point.
The x value is computed using the following equation:
x(y,z) = (z - (c+cy*y)) / cx
Parameters: y - The x value. Parameters: z - The y value. The x value. |
y | final public double y(double x, double z)(Code) | | Compute the y value for the specified (x,z) point.
The y value is computed using the following equation:
y(x,z) = (z - (c+cx*x)) / cy
Parameters: x - The x value. Parameters: z - The y value. The y value. |
z | final public double z(double x, double y)(Code) | | Compute the z value for the specified (x,y) point.
The z value is computed using the following equation:
z(x,y) = c + cx*x + cy*y
Parameters: x - The x value. Parameters: y - The y value. The z value. |
|
|