| Modifier and Type | Method and Description |
|---|---|
static Vector3F |
absolute(Vector3F v0)
Calculate the absolute of
v0. |
static Vector3F |
add(Vector3F v0,
Vector3F v1)
Add
v0 to v1. |
static Vector3F |
addScaled(Vector3F v0,
Vector3F v1,
double r)
Add
v0 to v1 * r. |
static Vector3F |
clamp(Vector3F v,
Vector3F v_min,
Vector3F v_max)
Clamp the values in
v by v_min and v_max. |
static Vector3F |
crossProduct(Vector3F v0,
Vector3F v1)
Calculate the cross product of the vectors
v0 and v1. |
static double |
distance(Vector3F v0,
Vector3F v1)
Calculate the distance between
v0 and v1. |
static double |
dotProduct(Vector3F v0,
Vector3F v1)
Calculate the scalar product of the vectors
v0 and v1. |
static Vector3F |
interpolateBilinear(Vector3F x0y0,
Vector3F x1y0,
Vector3F x0y1,
Vector3F x1y1,
double px,
double py)
Bilinearly interpolate between
x0y0, x1y0, x0y1, x1y1. |
static Vector3F |
interpolateLinear(Vector3F v0,
Vector3F v1,
double alpha)
Linearly interpolate between
v0 and v1 by the amount alpha. |
static double |
magnitude(Vector3F v0)
Calculate the magnitude of the vector
v0. |
static double |
magnitudeSquared(Vector3F v0)
Calculate the squared magnitude of the vector
v0. |
static Vector3F |
negate(Vector3F v)
Calculate the negation of
v. |
static Vector3F |
normalize(Vector3F v0)
Normalize the vector
v0. |
static Vector3F |
scale(Vector3F v0,
double r)
Scale
v0 by r. |
static Vector3F |
subtract(Vector3F v0,
Vector3F v1)
Subtract
v1 from v0. |
static Vector3F |
zero()
The zero vector.
|
public static Vector3F absolute(Vector3F v0)
v0.(abs v0.x, abs v0.y, abs v0.z)
* @param v0 The vectorpublic static Vector3F add(Vector3F v0, Vector3F v1)
v0 to v1.v1 - The right vector(v0.x + v1.x, v0.y + v0.y, v0.z + v1.z)
* @param v0 The left vectorpublic static Vector3F addScaled(Vector3F v0, Vector3F v1, double r)
v0 to v1 * r.v1 - The right vectorr - The scaling value(v0.x + (v1.x * r), v0.y + (v0.y * r), v0.z + (v1.z * r))
* @param v0 The left vectorpublic static Vector3F clamp(Vector3F v, Vector3F v_min, Vector3F v_max)
v by v_min and v_max.v_min - The minimum vectorv_max - The maximum vector(max(min(v.x, v_max.x()), v_min.x()),
max(min(v.y, v_max.y()), v_min.y()),
max(min(v.z, v_max.z()), v_min.z()))
* @param v The source vectorpublic static Vector3F crossProduct(Vector3F v0, Vector3F v1)
v0 and v1.
* @param v0 The left vectorv1 - The right vectorpublic static double distance(Vector3F v0, Vector3F v1)
v0 and v1.v1 - The right vectorv0 and v1.
* @param v0 The left vectorpublic static double dotProduct(Vector3F v0, Vector3F v1)
v0 and v1.
* @param v0 The left vectorv1 - The right vectorpublic static Vector3F interpolateLinear(Vector3F v0, Vector3F v1, double alpha)
Linearly interpolate between v0 and v1 by the amount alpha.
The alpha parameter controls the degree of interpolation, such that:
interpolateLinear(v0, v1, 0.0) = v0interpolateLinear(v0, v1, 1.0) = v1v0 - The left input vectorv1 - The right input vectoralpha - The interpolation value in the range [0, 1]
* @return ((1 - alpha) * v0) + (alpha * v1)public static Vector3F interpolateBilinear(Vector3F x0y0, Vector3F x1y0, Vector3F x0y1, Vector3F x1y1, double px, double py)
Bilinearly interpolate between x0y0, x1y0, x0y1, x1y1.
The px and py parameters control the degree of interpolation, such that:
interpolateBilinear(x0y0, x1y0, x0y1, x1y1, 0.0, 0.0) = x0y0interpolateBilinear(x0y0, x1y0, x0y1, x1y1, 1.0, 0.0) = x1y0interpolateBilinear(x0y0, x1y0, x0y1, x1y1, 0.0, 1.0) = x0y1interpolateBilinear(x0y0, x1y0, x0y1, x1y1, 1.0, 1.0) = x1y1x0y0 - The top left input vectorx1y0 - The top right input vectorx0y1 - The bottom left input vectorx1y1 - The bottom right input vectorpx - The X interpolation value in the range [0, 1]py - The Y interpolation value in the range [0, 1]
* @return The bilinearly interpolated valuepublic static double magnitudeSquared(Vector3F v0)
v0.
* @param v0 The vectorpublic static double magnitude(Vector3F v0)
v0.
* @param v0 The vectorpublic static Vector3F negate(Vector3F v)
v.(-v.x, -v.y, -v.z)
* @param v The vectorpublic static Vector3F normalize(Vector3F v0)
Normalize the vector v0.
If the magnitude of the vector is zero, the function returns v0.
v0public static Vector3F scale(Vector3F v0, double r)
v0 by r.r - The scaling value(v0.x * r, v0.y * r, v0.z * r)
* @param v0 The left vectorpublic static Vector3F subtract(Vector3F v0, Vector3F v1)
v1 from v0.v1 - The right vector(v0.x - v1.x, v0.y - v0.y, v0.z - v1.z)
* @param v0 The left vectorpublic static Vector3F zero()
(0, 0, 0) Copyright © 2017 <code@io7m.com> http://io7m.com