Class PVectors3L
java.lang.Object
com.io7m.jtensors.core.parameterized.vectors.PVectors3L
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> PVector3L<T> Calculate the absolute ofv0.static <T> PVector3L<T> Addv0tov1.static <T> PVector3L<T> Addv0tov1 * r.static <T> PVector3L<T> Clamp the values invbyv_minandv_max.static <T> PVector3L<T> crossProduct(PVector3L<T> v0, PVector3L<T> v1) Calculate the cross product of the vectorsv0andv1.static <T> longCalculate the distance betweenv0andv1.static <T> longdotProduct(PVector3L<T> v0, PVector3L<T> v1) Calculate the scalar product of the vectorsv0andv1.static <T> PVector3L<T> interpolateBilinear(PVector3L<T> x0y0, PVector3L<T> x1y0, PVector3L<T> x0y1, PVector3L<T> x1y1, double px, double py) Bilinearly interpolate betweenx0y0,x1y0,x0y1,x1y1.static <T> PVector3L<T> interpolateLinear(PVector3L<T> v0, PVector3L<T> v1, double alpha) Linearly interpolate betweenv0andv1by the amountalpha.static <T> doubleCalculate the magnitude of the vectorv0.static <T> longmagnitudeSquared(PVector3L<T> v0) Calculate the squared magnitude of the vectorv0.static <T> PVector3L<T> Multiplyv0byv1.static <T> PVector3L<T> Calculate the negation ofv.static <T> PVector3L<T> Scalev0byr.static <T> PVector3L<T> Subtractv1fromv0.static <A> PVector3L<A> static <A> Vector3LtoUnparameterized(PVector3L<A> v) static <T> PVector3L<T> zero()The zero vector.
-
Method Details
-
absolute
-
add
-
multiply
-
addScaled
-
clamp
Clamp the values invbyv_minandv_max.- Type Parameters:
T- A phantom type parameter * @param v The source vector- Parameters:
v_min- The minimum vectorv_max- The maximum vector- Returns:
(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()))
-
crossProduct
-
distance
-
dotProduct
-
interpolateLinear
Linearly interpolate between
v0andv1by the amountalpha.The
alphaparameter controls the degree of interpolation, such that:interpolateLinear(v0, v1, 0.0) = v0interpolateLinear(v0, v1, 1.0) = v1
- Type Parameters:
T- A phantom type parameter * @return((1 - alpha) * v0) + (alpha * v1)- Parameters:
v0- The left input vectorv1- The right input vectoralpha- The interpolation value in the range[0, 1]
-
interpolateBilinear
public static <T> PVector3L<T> interpolateBilinear(PVector3L<T> x0y0, PVector3L<T> x1y0, PVector3L<T> x0y1, PVector3L<T> x1y1, double px, double py) Bilinearly interpolate between
x0y0,x1y0,x0y1,x1y1.The
pxandpyparameters 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) = x1y1
- Type Parameters:
T- A phantom type parameter * @return The bilinearly interpolated value- Parameters:
x0y0- 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]
-
magnitudeSquared
Calculate the squared magnitude of the vectorv0.- Type Parameters:
T- A phantom type parameter * @param v0 The vector- Returns:
- The squared magnitude of the vector
-
magnitude
Calculate the magnitude of the vectorv0.- Type Parameters:
T- A phantom type parameter * @param v0 The vector- Returns:
- The magnitude of the vector
-
negate
-
scale
-
subtract
-
zero
The zero vector.- Type Parameters:
T- A phantom type parameter- Returns:
(0, 0, 0)
-
toUnparameterized
-
toParameterized
-