Struct cgmath::Plane
[−]
[src]
pub struct Plane<S> {
pub n: Vector3<S>,
pub d: S,
}A 3-dimensional plane formed from the equation: A*x + B*y + C*z - D = 0.
Fields
n: a unit vector representing the normal of the plane where:n.x: corresponds toAin the plane equationn.y: corresponds toBin the plane equationn.z: corresponds toCin the plane equation
d: the distance value, corresponding toDin the plane equation
Notes
The A*x + B*y + C*z - D = 0 form is preferred over the other common
alternative, A*x + B*y + C*z + D = 0, because it tends to avoid
superfluous negations (see Real Time Collision Detection, p. 55).
Fields
n | |
d |
Methods
impl<S: BaseFloat> Plane<S>
fn new(n: Vector3<S>, d: S) -> Plane<S>
Construct a plane from a normal vector and a scalar distance. The
plane will be perpendicular to n, and d units offset from the
origin.
fn from_abcd(a: S, b: S, c: S, d: S) -> Plane<S>
Arguments
a: thexcomponent of the normalb: theycomponent of the normalc: thezcomponent of the normald: the plane's distance value
fn from_vector4(v: Vector4<S>) -> Plane<S>
Construct a plane from the components of a four-dimensional vector
fn from_vector4_alt(v: Vector4<S>) -> Plane<S>
Construct a plane from the components of a four-dimensional vector
Assuming alternative representation: A*x + B*y + C*z + D = 0
fn from_points(a: Point3<S>, b: Point3<S>, c: Point3<S>) -> Option<Plane<S>>
Constructs a plane that passes through the the three points a, b and c
fn from_point_normal(p: Point3<S>, n: Vector3<S>) -> Plane<S>
Construct a plane from a point and a normal vector.
The plane will contain the point p and be perpendicular to n.
fn normalize(&self) -> Option<Plane<S>>
Normalize a plane.