Set this
vector's components to their respective absolute values.
Compute the absolute values of the individual components of this
and store the result in dest
.
Vector3d.add(double x,
double y,
double z)
Increment the components of this vector by the given values.
Vector3d.add(double x,
double y,
double z,
Vector3d dest)
Add the supplied vector to this one.
Add the supplied vector to this one.
Vector3dc.add(double x,
double y,
double z,
Vector3d dest)
Increment the components of this vector by the given values and store the result in dest
.
Add the supplied vector to this one and store the result in dest
.
Add the supplied vector to this one and store the result in dest
.
Set each component of this vector to the smallest (closest to negative
infinity) double
value that is greater than or equal to that
component and is equal to a mathematical integer.
Compute for each component of this vector the smallest (closest to negative
infinity) double
value that is greater than or equal to that
component and is equal to a mathematical integer and store the result in
dest
.
Vector3d.cross(double x,
double y,
double z)
Set this vector to be the cross product of itself and (x, y, z)
.
Set this vector to be the cross product of this and v2.
Compute the cross product of this vector and (x, y, z)
and store the result in dest
.
Calculate the cross product of this and v2 and store the result in dest
.
Vector3d.div(double scalar)
Divide this Vector3d by the given scalar value.
Vector3d.div(double x,
double y,
double z)
Divide the components of this Vector3d by the given scalar values and store the result in this
.
Vector3d.div(double x,
double y,
double z,
Vector3d dest)
Divide this Vector3d component-wise by another Vector3dc.
Divide this Vector3d component-wise by another Vector3fc.
Vector3dc.div(double x,
double y,
double z,
Vector3d dest)
Divide the components of this Vector3f by the given scalar values and store the result in dest
.
Divide this Vector3d by the given scalar value and store the result in dest
.
Divide this by v
component-wise and store the result into dest
.
Divide this Vector3d component-wise by another Vector3f and store the result in dest
.
Find the point on the given line segment which is closest to the specified point (pX, pY, pZ)
, and store the result in result
.
Find the point on the given plane which is closest to the specified point (pX, pY, pZ)
and store the result in result
.
Intersectiond.findClosestPointOnRectangle(double aX,
double aY,
double aZ,
double bX,
double bY,
double bZ,
double cX,
double cY,
double cZ,
double pX,
double pY,
double pZ,
Vector3d res)
Find the point on a given rectangle, specified via three of its corners, which is closest to the specified point
(pX, pY, pZ)
and store the result into res
.
Set each component of this vector to the largest (closest to positive
infinity) double
value that is less than or equal to that
component and is equal to a mathematical integer.
Compute for each component of this vector the largest (closest to positive
infinity) double
value that is less than or equal to that
component and is equal to a mathematical integer and store the result in
dest
.
Add the component-wise multiplication of a * b
to this vector.
Add the component-wise multiplication of a * b
to this vector.
Add the component-wise multiplication of a * b
to this vector.
Add the component-wise multiplication of a * b
to this vector.
Add the component-wise multiplication of a * b
to this vector
and store the result in dest
.
Add the component-wise multiplication of a * b
to this vector
and store the result in dest
.
Add the component-wise multiplication of a * b
to this vector
and store the result in dest
.
Add the component-wise multiplication of a * b
to this vector
and store the result in dest
.
Add the component-wise multiplication of a * b
to this vector
and store the result in dest
.
Compute the corner coordinates of the frustum defined by this
matrix, which
can be a projection matrix or a combined modelview-projection matrix, and store the result
in the given point
.
Obtain the direction of a ray starting at the center of the coordinate system and going
through the near frustum plane.
Set the components of the given vector dest
to those of this
vector.
Set the components of the given vector dest
to those of this
vector.
Get the column at the given column
index, starting with 0
.
Get the first three components of the column at the given column
index, starting with 0
.
Get the column at the given column
index, starting with 0
.
Extract the Euler angles from the rotation represented by this
matrix and store the extracted Euler angles in dest
.
Extract the Euler angles from the rotation represented by the upper left 3x3 submatrix of this
and store the extracted Euler angles in dest
.
Extract the Euler angles from the rotation represented by the left 3x3 submatrix of this
and store the extracted Euler angles in dest
.
Get the euler angles in radians in rotation sequence XYZ
of this quaternion and store them in the
provided parameter eulerAngles
.
Get the euler angles in radians in rotation sequence YXZ
of this quaternion and store them in the
provided parameter eulerAngles
.
Get the euler angles in radians in rotation sequence ZXY
of this quaternion and store them in the
provided parameter eulerAngles
.
Extract the Euler angles from the rotation represented by this
matrix and store the extracted Euler angles in dest
.
Extract the Euler angles from the rotation represented by the upper left 3x3 submatrix of this
and store the extracted Euler angles in dest
.
Extract the Euler angles from the rotation represented by the left 3x3 submatrix of this
and store the extracted Euler angles in dest
.
Get the euler angles in radians in rotation sequence ZYX
of this quaternion and store them in the
provided parameter eulerAngles
.
Get the row at the given row
index, starting with 0
.
Get the first three components of the row at the given row
index, starting with 0
.
Get the scaling factors of this
matrix for the three base axes.
Get the scaling factors of this
matrix for the three base axes.
Get the scaling factors of this
matrix for the three base axes.
Get only the translation components (m30, m31, m32)
of this matrix and store them in the given vector xyz
.
Get only the translation components (m30, m31, m32)
of this matrix and store them in the given vector xyz
.
Vector3d.half(double x,
double y,
double z)
Compute the half vector between this and the vector (x, y, z)
.
Compute the half vector between this and the other vector.
Compute the half vector between this and the vector (x, y, z)
and store the result in dest
.
Compute the half vector between this and the other vector and store the result in dest
.
Compute a hermite interpolation between this
vector and its
associated tangent t0
and the given vector v
with its tangent t1
and store the result in
dest
.
Interpolationd.interpolateTriangle(double v0X,
double v0Y,
double f0X,
double f0Y,
double f0Z,
double v1X,
double v1Y,
double f1X,
double f1Y,
double f1Z,
double v2X,
double v2Y,
double f2X,
double f2Y,
double f2Z,
double x,
double y,
Vector3d dest)
Bilinearly interpolate the three-dimensional vector f over the given triangle and store the result in dest
.
Compute the interpolation factors (t0, t1, t2)
in order to interpolate an arbitrary value over a given
triangle at the given point (x, y)
.
Linearly interpolate this
and other
using the given interpolation factor t
and store the result in this
.
Linearly interpolate this
and other
using the given interpolation factor t
and store the result in dest
.
Set the components of this vector to be the component-wise maximum of this and the other vector.
Set the components of dest
to be the component-wise maximum of this and the other vector.
Set the components of this vector to be the component-wise minimum of this and the other vector.
Set the components of dest
to be the component-wise minimum of this and the other vector.
Vector3d.mul(double scalar)
Multiply this Vector3d by the given scalar value.
Vector3d.mul(double x,
double y,
double z)
Multiply the components of this Vector3d by the given scalar values and store the result in this
.
Vector3d.mul(double x,
double y,
double z,
Vector3d dest)
Multiply the given matrix mat
with this Vector3d.
Multiply the given matrix mat
with this Vector3d.
Multiply the given matrix with this Vector3d by assuming a third row in the matrix of (0, 0, 1)
and store the result in this
.
Multiply the given matrix with this Vector3d by assuming a third row in the matrix of (0, 0, 1)
and store the result in this
.
Multiply this Vector3d component-wise by another Vector3dc.
Multiply this Vector3d component-wise by another Vector3fc.
Vector3dc.mul(double x,
double y,
double z,
Vector3d dest)
Multiply the components of this Vector3f by the given scalar values and store the result in dest
.
Multiply this Vector3d by the given scalar value and store the result in dest
.
Multiply the given matrix mat
with this
and store the
result in dest
.
Multiply the given matrix mat
with this
and store the
result in dest
.
Multiply the given matrix mat
with this
by assuming a
third row in the matrix of (0, 0, 1)
and store the result in dest
.
Multiply the given matrix mat
with this
by assuming a
third row in the matrix of (0, 0, 1)
and store the result in dest
.
Multiply this by v
component-wise and store the result into dest
.
Multiply this Vector3d component-wise by another Vector3f and store the result in dest
.
Add the component-wise multiplication of this * a
to b
and store the result in this
.
Add the component-wise multiplication of this * a
to b
and store the result in this
.
Add the component-wise multiplication of this * a
to b
and store the result in dest
.
Add the component-wise multiplication of this * a
to b
and store the result in dest
.
Add the component-wise multiplication of this * a
to b
and store the result in dest
.
Multiply the given 4x4 matrix mat
with this
.
Multiply the given 4x4 matrix mat
with this
.
Multiply the given 4x3 matrix mat
with this
.
Multiply the given 4x3 matrix mat
with this
.
Multiply the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x3 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x3 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x4 matrix mat
with this
.
Multiply the given 4x4 matrix mat
with this
.
Multiply the given 4x3 matrix mat
with this
.
Multiply the given 4x3 matrix mat
with this
.
Multiply the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x3 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x3 matrix mat
with this
and store the
result in dest
.
Multiply the given matrix mat
this Vector3d, perform perspective division.
Multiply the given matrix mat
with this Vector3d, perform perspective division.
Multiply the given matrix mat
with this Vector3d, perform perspective division
and store the result in dest
.
Multiply the given matrix mat
with this Vector3d, perform perspective division
and store the result in dest
.
Multiply the given matrix mat
with this Vector3d, perform perspective division
and store the result in dest
.
Multiply the given matrix mat
with this Vector4d, perform perspective division
and store the (x, y, z)
result in dest
.
Multiply the transpose of the given matrix with this Vector3d and store the result in this
.
Multiply the transpose of the given matrix with this Vector3d and store the result in this
.
Multiply the transpose of the given matrix with this Vector3f and store the result in dest
.
Multiply the transpose of the given matrix with this Vector3f and store the result in dest
.
Multiply the transpose of the given 4x4 matrix mat
with this
.
Multiply the transpose of the given 4x4 matrix mat
with this
.
Multiply the transpose of the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the transpose of the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the transpose of the given 4x4 matrix mat
with this
.
Multiply the transpose of the given 4x4 matrix mat
with this
.
Multiply the transpose of the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the transpose of the given 4x4 matrix mat
with this
and store the
result in dest
.
Negate this vector and store the result in dest
.
Scale this vector to have the given length.
Scale this vector to have the given length and store the result in dest
.
Normalize this vector and store the result in dest
.
Obtain the direction of +X
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +X
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +X
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +X
before the rotation transformation represented by this
normalized quaternion is applied.
Obtain the direction of +Y
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Y
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Y
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Y
before the rotation transformation represented by this
normalized quaternion is applied.
Obtain the direction of +Z
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Z
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Z
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Z
before the rotation transformation represented by this
normalized quaternion is applied.
Obtain the position that gets transformed to the origin by this
matrix.
Obtain the position that gets transformed to the origin by this
matrix.
Obtain the position that gets transformed to the origin by
this
affine
matrix.
Transform this
vector so that it is orthogonal to the given vector v
and normalize the result.
Transform this
vector so that it is orthogonal to the given vector v
, normalize the result and store it into dest
.
Transform this
vector so that it is orthogonal to the given unit vector v
and normalize the result.
Transform this
vector so that it is orthogonal to the given unit vector v
, normalize the result and store it into dest
.
Compute the eye/origin of the inverse of the perspective frustum transformation defined by this
matrix,
which can be the inverse of a projection matrix or the inverse of a combined modelview-projection matrix, and store the result
in the given dest
.
Compute the eye/origin of the perspective frustum transformation defined by this
matrix,
which can be a projection matrix or a combined modelview-projection matrix, and store the result
in the given origin
.
Obtain the direction of +X
before the transformation represented by this
matrix is applied.
Obtain the direction of +X
before the transformation represented by this
matrix is applied.
Obtain the direction of +X
before the transformation represented by this
matrix is applied.
Obtain the direction of +X
before the rotation transformation represented by this
quaternion is applied.
Obtain the direction of +Y
before the transformation represented by this
matrix is applied.
Obtain the direction of +Y
before the transformation represented by this
matrix is applied.
Obtain the direction of +Y
before the transformation represented by this
matrix is applied.
Obtain the direction of +Y
before the rotation transformation represented by this
quaternion is applied.
Obtain the direction of +Z
before the transformation represented by this
matrix is applied.
Obtain the direction of +Z
before the transformation represented by this
matrix is applied.
Obtain the direction of +Z
before the transformation represented by this
matrix is applied.
Obtain the direction of +Z
before the rotation transformation represented by this
quaternion is applied.
Matrix4d.project(double x,
double y,
double z,
int[] viewport,
Vector3d winCoordsDest)
Matrix4dc.project(double x,
double y,
double z,
int[] viewport,
Vector3d winCoordsDest)
Project the given (x, y, z)
position via this
matrix using the specified viewport
and store the resulting window coordinates in winCoordsDest
.
Project the given position
via this
matrix using the specified viewport
and store the resulting window coordinates in winCoordsDest
.
Vector3d.reflect(double x,
double y,
double z)
Reflect this vector about the given normal vector.
Reflect this vector about the given normal vector.
Reflect this vector about the given normal vector and store the result in dest
.
Reflect this vector about the given normal vector and store the result in dest
.
Rotate this vector by the given quaternion quat
and store the result in this
.
Rotate this vector by the given quaternion quat
and store the result in dest
.
Vector3d.rotateAxis(double angle,
double x,
double y,
double z)
Rotate this vector the specified radians around the given rotation axis.
Rotate this vector the specified radians around the given rotation axis and store the result
into dest
.
Rotate this vector the specified radians around the X axis.
Rotate this vector the specified radians around the X axis and store the result
into dest
.
Rotate this vector the specified radians around the Y axis.
Rotate this vector the specified radians around the Y axis and store the result
into dest
.
Rotate this vector the specified radians around the Z axis.
Rotate this vector the specified radians around the Z axis and store the result
into dest
.
Set each component of this vector to the closest double that is equal to
a mathematical integer, with ties rounding to positive infinity.
Compute for each component of this vector the closest double that is equal to
a mathematical integer, with ties rounding to positive infinity and store
the result in dest
.
Set the x, y, and z components to the supplied value.
Vector3d.set(double[] xyz)
Set the three components of this vector to the first three elements of the given array.
Vector3d.set(double x,
double y,
double z)
Set the x, y and z components to the supplied values.
Vector3d.set(float[] xyz)
Set the three components of this vector to the first three elements of the given array.
Read this vector from the supplied
ByteBuffer
starting at the specified
absolute buffer position/index.
Read this vector from the supplied
DoubleBuffer
starting at the specified
absolute buffer position/index.
Set the first two components from the given v
and the z component from the given z
Set the first two components from the given v
and the z component from the given z
Set the first two components from the given v
and the z component from the given z
Set the x, y and z components to match the supplied vector.
Set the x, y and z components to match the supplied vector.
Set the x, y and z components to match the supplied vector.
Set the value of the specified component of this vector.
Set the values of this vector by reading 3 double values from off-heap memory,
starting at the given address.
Compute a smooth-step (i.e.
Vector3d.sub(double x,
double y,
double z)
Subtract (x, y, z)
from this vector.
Vector3d.sub(double x,
double y,
double z,
Vector3d dest)
Subtract the supplied vector from this one.
Subtract the supplied vector from this one.
Vector3dc.sub(double x,
double y,
double z,
Vector3d dest)
Subtract (x, y, z)
from this vector and store the result in dest
.
Subtract the supplied vector from this one and store the result in dest
.
Subtract the supplied vector from this one and store the result in dest
.
Transform the given vector by the rotation transformation described by this
AxisAngle4d
.
Transform the given vector by the rotation transformation described by this
AxisAngle4d
and store the result in
dest
.
Transform the vector (x, y, z)
by this matrix and store the result in dest
.
Transform the given vector by this matrix.
Transform the given vector by this matrix and store the result in dest
.
Transform/multiply the given vector (x, y, z)
by this matrix and store the result in dest
.
Transform/multiply the given vector by this matrix by assuming a third row in this matrix of (0, 0, 1)
and store the result in that vector.
Transform/multiply the given vector by this matrix by assuming a third row in this matrix of (0, 0, 1)
and store the result in dest
.
Transform/multiply the given vector (x, y, z)
by this matrix and store the result in dest
.
Transform/multiply the given vector by this matrix by assuming a third row in this matrix of (0, 0, 1)
and store the result in that vector.
Transform/multiply the given vector by this matrix and store the result in dest
.
Transform the given vector (x, y, z)
by this quaternion and store the result in dest
.
Transform the given vector by this quaternion.
Transform the given vector by this quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by this quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by this quaternion
and store the result in dest
.
Transform the given vector by this quaternion.
Transform the given vector by this quaternion and store the result in dest
.
Transform/multiply the 3D-vector (x, y, z)
, as if it was a 4D-vector with w=0, by
this matrix and store the result in dest
.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=0, by
this matrix and store the result in that vector.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=0, by
this matrix and store the result in dest
.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=0, by
this matrix and store the result in that vector.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=0, by
this matrix and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of
this quaternion and store the result in dest
.
Transform the given vector by the inverse of this quaternion.
Transform the given vector by the inverse of this quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of
this quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of this quaternion
and store the result in dest
.
Transform the given vector by the inverse of this quaternion.
Transform the given vector by the inverse of this quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of
this unit quaternion and store the result in dest
.
Transform the given vector by the inverse of this unit quaternion.
Transform the given vector by the inverse of this unit quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of
this unit quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of this unit quaternion
and store the result in dest
.
Transform the given vector by the inverse of this unit quaternion and store the result in dest
.
Transform/multiply the 3D-vector (x, y, z)
, as if it was a 4D-vector with w=1, by
this matrix and store the result in dest
.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=1, by
this matrix and store the result in that vector.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=1, by
this matrix and store the result in dest
.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=1, by
this matrix and store the result in that vector.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=1, by
this matrix and store the result in dest
.
Transform the vector (1, 0, 0)
by this quaternion.
Transform the vector (1, 0, 0)
by this quaternion.
Transform the vector (0, 1, 0)
by this quaternion.
Transform the vector (0, 1, 0)
by this quaternion.
Transform the vector (0, 0, 1)
by this quaternion.
Transform the vector (0, 0, 1)
by this quaternion.
Transform/multiply the vector (x, y, z, w)
by this matrix, perform perspective divide and store
(x, y, z)
of the result in dest
.
Transform/multiply the vector (x, y, z)
by this matrix, perform perspective divide and store the result in dest
.
Transform/multiply the given vector by this matrix, perform perspective divide and store the result in that vector.
Transform/multiply the given vector by this matrix, perform perspective divide and store the result in dest
.
Transform/multiply the given vector by this matrix, perform perspective divide
and store the x
, y
and z
components of the
result in dest
.
Transform the vector (x, y, z)
by the transpose of this matrix and store the result in dest
.
Transform the given vector by the transpose of this matrix.
Transform the given vector by the transpose of this matrix and store the result in dest
.
Transform the given vector (x, y, z)
by this unit quaternion and store the result in dest
.
Transform the given vector by this unit quaternion.
Transform the given vector by this unit quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by this unit quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by this unit quaternion
and store the result in dest
.
Transform the given vector by this unit quaternion and store the result in dest
.
Transform the vector (1, 0, 0)
by this unit quaternion.
Transform the vector (1, 0, 0)
by this unit quaternion.
Transform the vector (0, 1, 0)
by this unit quaternion.
Transform the vector (0, 1, 0)
by this unit quaternion.
Transform the vector (0, 0, 1)
by this unit quaternion.
Transform the vector (0, 0, 1)
by this unit quaternion.
Matrix4d.unproject(double winX,
double winY,
double winZ,
int[] viewport,
Vector3d dest)
Matrix4dc.unproject(double winX,
double winY,
double winZ,
int[] viewport,
Vector3d dest)
Unproject the given window coordinates (winX, winY, winZ)
by this
matrix using the specified viewport.
Unproject the given window coordinates winCoords
by this
matrix using the specified viewport.
Unproject the given window coordinates (winX, winY, winZ)
by this
matrix using the specified viewport.
Unproject the given window coordinates winCoords
by this
matrix using the specified viewport.
Set all components to zero.
Compute the absolute values of the individual components of this
and store the result in dest
.
Vector3d.add(double x,
double y,
double z,
Vector3d dest)
Vector3dc.add(double x,
double y,
double z,
Vector3d dest)
Increment the components of this vector by the given values and store the result in dest
.
Add the supplied vector to this one and store the result in dest
.
Add the supplied vector to this one and store the result in dest
.
Compute the extents of the coordinate system before this
affine
transformation was applied
and store the resulting corner coordinates in
corner
and the span vectors in
xDir
,
yDir
and
zDir
.
Compute for each component of this vector the smallest (closest to negative
infinity) double
value that is greater than or equal to that
component and is equal to a mathematical integer and store the result in
dest
.
Compute the cross product of this vector and (x, y, z)
and store the result in dest
.
Calculate the cross product of this and v2 and store the result in dest
.
Vector3d.div(double x,
double y,
double z,
Vector3d dest)
Divide this Vector3d component-wise by another Vector3dc.
Vector3dc.div(double x,
double y,
double z,
Vector3d dest)
Divide the components of this Vector3f by the given scalar values and store the result in dest
.
Divide this Vector3d by the given scalar value and store the result in dest
.
Divide this by v
component-wise and store the result into dest
.
Divide this Vector3d component-wise by another Vector3f and store the result in dest
.
Find the point on the given line segment which is closest to the specified point (pX, pY, pZ)
, and store the result in result
.
Find the point on the given plane which is closest to the specified point (pX, pY, pZ)
and store the result in result
.
Intersectiond.findClosestPointOnRectangle(double aX,
double aY,
double aZ,
double bX,
double bY,
double bZ,
double cX,
double cY,
double cZ,
double pX,
double pY,
double pZ,
Vector3d res)
Find the point on a given rectangle, specified via three of its corners, which is closest to the specified point
(pX, pY, pZ)
and store the result into res
.
static int
Intersectiond.findClosestPointOnTriangle(double v0X,
double v0Y,
double v0Z,
double v1X,
double v1Y,
double v1Z,
double v2X,
double v2Y,
double v2Z,
double pX,
double pY,
double pZ,
Vector3d result)
Determine the closest point on the triangle with the given vertices (v0X, v0Y, v0Z)
, (v1X, v1Y, v1Z)
, (v2X, v2Y, v2Z)
between that triangle and the given point (pX, pY, pZ)
and store that point into the given result
.
static int
Determine the closest point on the triangle with the vertices v0
, v1
, v2
between that triangle and the given point p
and store that point into the given result
.
static double
Intersectiond.findClosestPointsLineSegments(double a0X,
double a0Y,
double a0Z,
double a1X,
double a1Y,
double a1Z,
double b0X,
double b0Y,
double b0Z,
double b1X,
double b1Y,
double b1Z,
Vector3d resultA,
Vector3d resultB)
Find the closest points on the two line segments, store the point on the first line segment in resultA
and
the point on the second line segment in resultB
, and return the square distance between both points.
static double
Intersectiond.findClosestPointsLineSegmentTriangle(double aX,
double aY,
double aZ,
double bX,
double bY,
double bZ,
double v0X,
double v0Y,
double v0Z,
double v1X,
double v1Y,
double v1Z,
double v2X,
double v2Y,
double v2Z,
Vector3d lineSegmentResult,
Vector3d triangleResult)
Find the closest points on a line segment and a triangle.
Compute for each component of this vector the largest (closest to positive
infinity) double
value that is less than or equal to that
component and is equal to a mathematical integer and store the result in
dest
.
Add the component-wise multiplication of a * b
to this vector
and store the result in dest
.
Add the component-wise multiplication of a * b
to this vector
and store the result in dest
.
Add the component-wise multiplication of a * b
to this vector
and store the result in dest
.
Add the component-wise multiplication of a * b
to this vector
and store the result in dest
.
Add the component-wise multiplication of a * b
to this vector
and store the result in dest
.
Compute the axis-aligned bounding box of the frustum described by this
matrix and store the minimum corner
coordinates in the given min
and the maximum corner coordinates in the given max
vector.
Compute the corner coordinates of the frustum defined by this
matrix, which
can be a projection matrix or a combined modelview-projection matrix, and store the result
in the given point
.
Obtain the direction of a ray starting at the center of the coordinate system and going
through the near frustum plane.
Set the components of the given vector dest
to those of this
vector.
Set the components of the given vector dest
to those of this
vector.
Get the column at the given column
index, starting with 0
.
Get the first three components of the column at the given column
index, starting with 0
.
Get the column at the given column
index, starting with 0
.
Extract the Euler angles from the rotation represented by this
matrix and store the extracted Euler angles in dest
.
Extract the Euler angles from the rotation represented by the upper left 3x3 submatrix of this
and store the extracted Euler angles in dest
.
Extract the Euler angles from the rotation represented by the left 3x3 submatrix of this
and store the extracted Euler angles in dest
.
Get the euler angles in radians in rotation sequence XYZ
of this quaternion and store them in the
provided parameter eulerAngles
.
Get the euler angles in radians in rotation sequence YXZ
of this quaternion and store them in the
provided parameter eulerAngles
.
Get the euler angles in radians in rotation sequence ZXY
of this quaternion and store them in the
provided parameter eulerAngles
.
Extract the Euler angles from the rotation represented by this
matrix and store the extracted Euler angles in dest
.
Extract the Euler angles from the rotation represented by the upper left 3x3 submatrix of this
and store the extracted Euler angles in dest
.
Extract the Euler angles from the rotation represented by the left 3x3 submatrix of this
and store the extracted Euler angles in dest
.
Get the euler angles in radians in rotation sequence ZYX
of this quaternion and store them in the
provided parameter eulerAngles
.
Get the row at the given row
index, starting with 0
.
Get the first three components of the row at the given row
index, starting with 0
.
Get the scaling factors of this
matrix for the three base axes.
Get the scaling factors of this
matrix for the three base axes.
Get the scaling factors of this
matrix for the three base axes.
Get only the translation components (m30, m31, m32)
of this matrix and store them in the given vector xyz
.
Get only the translation components (m30, m31, m32)
of this matrix and store them in the given vector xyz
.
Compute the half vector between this and the vector (x, y, z)
and store the result in dest
.
Compute the half vector between this and the other vector and store the result in dest
.
Compute a hermite interpolation between this
vector and its
associated tangent t0
and the given vector v
with its tangent t1
and store the result in
dest
.
Interpolationd.interpolateTriangle(double v0X,
double v0Y,
double f0X,
double f0Y,
double f0Z,
double v1X,
double v1Y,
double f1X,
double f1Y,
double f1Z,
double v2X,
double v2Y,
double f2X,
double f2Y,
double f2Z,
double x,
double y,
Vector3d dest)
Bilinearly interpolate the three-dimensional vector f over the given triangle and store the result in dest
.
Compute the interpolation factors (t0, t1, t2)
in order to interpolate an arbitrary value over a given
triangle at the given point (x, y)
.
static boolean
Intersectiond.intersectCircleCircle(double aX,
double aY,
double radiusSquaredA,
double bX,
double bY,
double radiusSquaredB,
Vector3d intersectionCenterAndHL)
Test whether the one circle with center (aX, aY)
and square radius radiusSquaredA
intersects the other
circle with center (bX, bY)
and square radius radiusSquaredB
, and store the center of the line segment of
intersection in the (x, y)
components of the supplied vector and the half-length of that line segment in the z component.
static boolean
Test whether the one circle with center centerA
and square radius radiusSquaredA
intersects the other
circle with center centerB
and square radius radiusSquaredB
, and store the center of the line segment of
intersection in the (x, y)
components of the supplied vector and the half-length of that line segment in the z component.
static boolean
Intersectiond.intersectLineCircle(double x0,
double y0,
double x1,
double y1,
double centerX,
double centerY,
double radius,
Vector3d intersectionCenterAndHL)
Test whether the line defined by the two points (x0, y0)
and (x1, y1)
intersects the circle with center
(centerX, centerY)
and radius
, and store the center of the line segment of
intersection in the (x, y)
components of the supplied vector and the half-length of that line segment in the z component.
static boolean
Intersectiond.intersectLineCircle(double a,
double b,
double c,
double centerX,
double centerY,
double radius,
Vector3d intersectionCenterAndHL)
Test whether the line with the general line equation a*x + b*y + c = 0 intersects the circle with center
(centerX, centerY)
and radius
, and store the center of the line segment of
intersection in the (x, y)
components of the supplied vector and the half-length of that line segment in the z component.
static boolean
Intersectiond.intersectLineSegmentPlane(double p0X,
double p0Y,
double p0Z,
double p1X,
double p1Y,
double p1Z,
double a,
double b,
double c,
double d,
Vector3d intersectionPoint)
Determine whether the line segment with the end points (p0X, p0Y, p0Z)
and (p1X, p1Y, p1Z)
intersects the plane given as the general plane equation a*x + b*y + c*z + d = 0,
and return the point of intersection.
static boolean
Intersectiond.intersectLineSegmentTriangle(double p0X,
double p0Y,
double p0Z,
double p1X,
double p1Y,
double p1Z,
double v0X,
double v0Y,
double v0Z,
double v1X,
double v1Y,
double v1Z,
double v2X,
double v2Y,
double v2Z,
double epsilon,
Vector3d intersectionPoint)
Determine whether the line segment with the end points (p0X, p0Y, p0Z)
and (p1X, p1Y, p1Z)
intersects the triangle consisting of the three vertices (v0X, v0Y, v0Z)
, (v1X, v1Y, v1Z)
and (v2X, v2Y, v2Z)
,
regardless of the winding order of the triangle or the direction of the line segment between its two end points,
and return the point of intersection.
static boolean
Determine whether the line segment with the end points p0
and p1
intersects the triangle consisting of the three vertices (v0X, v0Y, v0Z)
, (v1X, v1Y, v1Z)
and (v2X, v2Y, v2Z)
,
regardless of the winding order of the triangle or the direction of the line segment between its two end points,
and return the point of intersection.
static int
Intersectiond.intersectSphereTriangle(double sX,
double sY,
double sZ,
double sR,
double v0X,
double v0Y,
double v0Z,
double v1X,
double v1Y,
double v1Z,
double v2X,
double v2Y,
double v2Z,
Vector3d result)
Test whether the given sphere with center (sX, sY, sZ)
intersects the triangle given by its three vertices, and if they intersect
store the point of intersection into result
.
Linearly interpolate this
and other
using the given interpolation factor t
and store the result in dest
.
Set the components of dest
to be the component-wise maximum of this and the other vector.
Set the components of dest
to be the component-wise minimum of this and the other vector.
Vector3d.mul(double x,
double y,
double z,
Vector3d dest)
Vector3dc.mul(double x,
double y,
double z,
Vector3d dest)
Multiply the components of this Vector3f by the given scalar values and store the result in dest
.
Multiply this Vector3d by the given scalar value and store the result in dest
.
Multiply the given matrix mat
with this
and store the
result in dest
.
Multiply the given matrix mat
with this
and store the
result in dest
.
Multiply the given matrix mat
with this
by assuming a
third row in the matrix of (0, 0, 1)
and store the result in dest
.
Multiply the given matrix mat
with this
by assuming a
third row in the matrix of (0, 0, 1)
and store the result in dest
.
Multiply this by v
component-wise and store the result into dest
.
Multiply this Vector3d component-wise by another Vector3f and store the result in dest
.
Add the component-wise multiplication of this * a
to b
and store the result in dest
.
Add the component-wise multiplication of this * a
to b
and store the result in dest
.
Add the component-wise multiplication of this * a
to b
and store the result in dest
.
Multiply the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x3 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x3 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x3 matrix mat
with this
and store the
result in dest
.
Multiply the given 4x3 matrix mat
with this
and store the
result in dest
.
double
double
double
Multiply the given 4x4 matrix mat
with this
, store the
result in dest
and return the w component of the resulting 4D vector.
double
Multiply the given 4x4 matrix mat
with this
, store the
result in dest
and return the w component of the resulting 4D vector.
Multiply the given matrix mat
with this Vector3d, perform perspective division
and store the result in dest
.
Multiply the given matrix mat
with this Vector3d, perform perspective division
and store the result in dest
.
Multiply the given matrix mat
with this Vector3d, perform perspective division
and store the result in dest
.
Multiply the given matrix mat
with this Vector4d, perform perspective division
and store the (x, y, z)
result in dest
.
Multiply the transpose of the given matrix with this Vector3f and store the result in dest
.
Multiply the transpose of the given matrix with this Vector3f and store the result in dest
.
Multiply the transpose of the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the transpose of the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the transpose of the given 4x4 matrix mat
with this
and store the
result in dest
.
Multiply the transpose of the given 4x4 matrix mat
with this
and store the
result in dest
.
Negate this vector and store the result in dest
.
Scale this vector to have the given length and store the result in dest
.
Normalize this vector and store the result in dest
.
Obtain the direction of +X
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +X
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +X
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +X
before the rotation transformation represented by this
normalized quaternion is applied.
Obtain the direction of +Y
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Y
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Y
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Y
before the rotation transformation represented by this
normalized quaternion is applied.
Obtain the direction of +Z
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Z
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Z
before the transformation represented by this
orthogonal matrix is applied.
Obtain the direction of +Z
before the rotation transformation represented by this
normalized quaternion is applied.
Obtain the position that gets transformed to the origin by this
matrix.
Obtain the position that gets transformed to the origin by this
matrix.
Obtain the position that gets transformed to the origin by
this
affine
matrix.
Transform this
vector so that it is orthogonal to the given vector v
, normalize the result and store it into dest
.
Transform this
vector so that it is orthogonal to the given unit vector v
, normalize the result and store it into dest
.
Compute the eye/origin of the inverse of the perspective frustum transformation defined by this
matrix,
which can be the inverse of a projection matrix or the inverse of a combined modelview-projection matrix, and store the result
in the given dest
.
static void
Create a view and off-center perspective projection matrix from a given eye
position, a given bottom left corner position p
of the near plane rectangle
and the extents of the near plane rectangle along its local x
and y
axes, and store the resulting matrices
in projDest
and viewDest
.
Compute the eye/origin of the perspective frustum transformation defined by this
matrix,
which can be a projection matrix or a combined modelview-projection matrix, and store the result
in the given origin
.
Obtain the direction of +X
before the transformation represented by this
matrix is applied.
Obtain the direction of +X
before the transformation represented by this
matrix is applied.
Obtain the direction of +X
before the transformation represented by this
matrix is applied.
Obtain the direction of +X
before the rotation transformation represented by this
quaternion is applied.
Obtain the direction of +Y
before the transformation represented by this
matrix is applied.
Obtain the direction of +Y
before the transformation represented by this
matrix is applied.
Obtain the direction of +Y
before the transformation represented by this
matrix is applied.
Obtain the direction of +Y
before the rotation transformation represented by this
quaternion is applied.
Obtain the direction of +Z
before the transformation represented by this
matrix is applied.
Obtain the direction of +Z
before the transformation represented by this
matrix is applied.
Obtain the direction of +Z
before the transformation represented by this
matrix is applied.
Obtain the direction of +Z
before the rotation transformation represented by this
quaternion is applied.
Matrix4d.project(double x,
double y,
double z,
int[] viewport,
Vector3d winCoordsDest)
Matrix4dc.project(double x,
double y,
double z,
int[] viewport,
Vector3d winCoordsDest)
Project the given (x, y, z)
position via this
matrix using the specified viewport
and store the resulting window coordinates in winCoordsDest
.
Project the given position
via this
matrix using the specified viewport
and store the resulting window coordinates in winCoordsDest
.
Reflect this vector about the given normal vector and store the result in dest
.
Reflect this vector about the given normal vector and store the result in dest
.
Rotate this vector by the given quaternion quat
and store the result in dest
.
Rotate this vector the specified radians around the given rotation axis and store the result
into dest
.
Rotate this vector the specified radians around the X axis and store the result
into dest
.
Apply rotation of angles.x
radians about the X axis, followed by a rotation of angles.y
radians about the Y axis and
followed by a rotation of angles.z
radians about the Z axis.
Apply rotation of angles.x
radians about the X axis, followed by a rotation of angles.y
radians about the Y axis and
followed by a rotation of angles.z
radians about the Z axis.
Rotate this vector the specified radians around the Y axis and store the result
into dest
.
Apply rotation of angles.y
radians about the Y axis, followed by a rotation of angles.x
radians about the X axis and
followed by a rotation of angles.z
radians about the Z axis.
Apply rotation of angles.y
radians about the Y axis, followed by a rotation of angles.x
radians about the X axis and
followed by a rotation of angles.z
radians about the Z axis.
Apply rotation of angles.y
radians about the Y axis, followed by a rotation of angles.x
radians about the X axis and
followed by a rotation of angles.z
radians about the Z axis.
Rotate this vector the specified radians around the Z axis and store the result
into dest
.
Apply rotation of angles.z
radians about the Z axis, followed by a rotation of angles.y
radians about the Y axis and
followed by a rotation of angles.x
radians about the X axis.
Apply rotation of angles.z
radians about the Z axis, followed by a rotation of angles.y
radians about the Y axis and
followed by a rotation of angles.x
radians about the X axis.
Compute for each component of this vector the closest double that is equal to
a mathematical integer, with ties rounding to positive infinity and store
the result in dest
.
Compute a smooth-step (i.e.
Vector3d.sub(double x,
double y,
double z,
Vector3d dest)
Vector3dc.sub(double x,
double y,
double z,
Vector3d dest)
Subtract (x, y, z)
from this vector and store the result in dest
.
Subtract the supplied vector from this one and store the result in dest
.
Subtract the supplied vector from this one and store the result in dest
.
static boolean
Test whether two oriented boxes given via their center position, orientation and half-size, intersect.
Transform the given vector by the rotation transformation described by this
AxisAngle4d
.
Transform the given vector by the rotation transformation described by this
AxisAngle4d
and store the result in
dest
.
Transform the vector (x, y, z)
by this matrix and store the result in dest
.
Transform the given vector by this matrix.
Transform the given vector by this matrix and store the result in dest
.
Transform/multiply the given vector (x, y, z)
by this matrix and store the result in dest
.
Transform/multiply the given vector by this matrix by assuming a third row in this matrix of (0, 0, 1)
and store the result in that vector.
Transform/multiply the given vector by this matrix by assuming a third row in this matrix of (0, 0, 1)
and store the result in dest
.
Transform/multiply the given vector (x, y, z)
by this matrix and store the result in dest
.
Transform/multiply the given vector by this matrix by assuming a third row in this matrix of (0, 0, 1)
and store the result in that vector.
Transform/multiply the given vector by this matrix and store the result in dest
.
Transform the given vector (x, y, z)
by this quaternion and store the result in dest
.
Transform the given vector by this quaternion.
Transform the given vector by this quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by this quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by this quaternion
and store the result in dest
.
Transform the given vector by this quaternion.
Transform the given vector by this quaternion and store the result in dest
.
Transform the axis-aligned box given as the minimum corner
(minX, minY, minZ)
and maximum corner
(maxX, maxY, maxZ)
by
this
affine
matrix and compute the axis-aligned box of the result whose minimum corner is stored in
outMin
and maximum corner stored in
outMax
.
Transform the axis-aligned box given as the minimum corner
min
and maximum corner
max
by
this
affine
matrix and compute the axis-aligned box of the result whose minimum corner is stored in
outMin
and maximum corner stored in
outMax
.
Transform the axis-aligned box given as the minimum corner (minX, minY, minZ)
and maximum corner (maxX, maxY, maxZ)
by this
matrix and compute the axis-aligned box of the result whose minimum corner is stored in outMin
and maximum corner stored in outMax
.
Transform the axis-aligned box given as the minimum corner min
and maximum corner max
by this
matrix and compute the axis-aligned box of the result whose minimum corner is stored in outMin
and maximum corner stored in outMax
.
Transform/multiply the 3D-vector (x, y, z)
, as if it was a 4D-vector with w=0, by
this matrix and store the result in dest
.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=0, by
this matrix and store the result in that vector.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=0, by
this matrix and store the result in dest
.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=0, by
this matrix and store the result in that vector.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=0, by
this matrix and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of
this quaternion and store the result in dest
.
Transform the given vector by the inverse of this quaternion.
Transform the given vector by the inverse of this quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of
this quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of this quaternion
and store the result in dest
.
Transform the given vector by the inverse of this quaternion.
Transform the given vector by the inverse of this quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of
this unit quaternion and store the result in dest
.
Transform the given vector by the inverse of this unit quaternion.
Transform the given vector by the inverse of this unit quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of
this unit quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by the inverse of this unit quaternion
and store the result in dest
.
Transform the given vector by the inverse of this unit quaternion and store the result in dest
.
Transform/multiply the 3D-vector (x, y, z)
, as if it was a 4D-vector with w=1, by
this matrix and store the result in dest
.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=1, by
this matrix and store the result in that vector.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=1, by
this matrix and store the result in dest
.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=1, by
this matrix and store the result in that vector.
Transform/multiply the given 3D-vector, as if it was a 4D-vector with w=1, by
this matrix and store the result in dest
.
Transform the vector (1, 0, 0)
by this quaternion.
Transform the vector (1, 0, 0)
by this quaternion.
Transform the vector (0, 1, 0)
by this quaternion.
Transform the vector (0, 1, 0)
by this quaternion.
Transform the vector (0, 0, 1)
by this quaternion.
Transform the vector (0, 0, 1)
by this quaternion.
Transform/multiply the vector (x, y, z, w)
by this matrix, perform perspective divide and store
(x, y, z)
of the result in dest
.
Transform/multiply the vector (x, y, z)
by this matrix, perform perspective divide and store the result in dest
.
Transform/multiply the given vector by this matrix, perform perspective divide and store the result in that vector.
Transform/multiply the given vector by this matrix, perform perspective divide and store the result in dest
.
Transform/multiply the given vector by this matrix, perform perspective divide
and store the x
, y
and z
components of the
result in dest
.
Transform the vector (x, y, z)
by the transpose of this matrix and store the result in dest
.
Transform the given vector by the transpose of this matrix.
Transform the given vector by the transpose of this matrix and store the result in dest
.
Transform the given vector (x, y, z)
by this unit quaternion and store the result in dest
.
Transform the given vector by this unit quaternion.
Transform the given vector by this unit quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by this unit quaternion and store the result in dest
.
Transform the given vector (x, y, z)
by this unit quaternion
and store the result in dest
.
Transform the given vector by this unit quaternion and store the result in dest
.
Transform the vector (1, 0, 0)
by this unit quaternion.
Transform the vector (1, 0, 0)
by this unit quaternion.
Transform the vector (0, 1, 0)
by this unit quaternion.
Transform the vector (0, 1, 0)
by this unit quaternion.
Transform the vector (0, 0, 1)
by this unit quaternion.
Transform the vector (0, 0, 1)
by this unit quaternion.
Matrix4d.unproject(double winX,
double winY,
double winZ,
int[] viewport,
Vector3d dest)
Matrix4dc.unproject(double winX,
double winY,
double winZ,
int[] viewport,
Vector3d dest)
Unproject the given window coordinates (winX, winY, winZ)
by this
matrix using the specified viewport.
Unproject the given window coordinates winCoords
by this
matrix using the specified viewport.
Unproject the given window coordinates (winX, winY, winZ)
by this
matrix using the specified viewport.
Unproject the given window coordinates winCoords
by this
matrix using the specified viewport.
Unproject the given 2D window coordinates (winX, winY)
by this
matrix using the specified viewport
and compute the origin and the direction of the resulting ray which starts at NDC z = -1.0
and goes through NDC z = +1.0
.
Unproject the given window coordinates winCoords
by this
matrix using the specified viewport
and compute the origin and the direction of the resulting ray which starts at NDC z = -1.0
and goes through NDC z = +1.0
.
Unproject the given 2D window coordinates (winX, winY)
by this
matrix using the specified viewport
and compute the origin and the direction of the resulting ray which starts at NDC z = -1.0
and goes through NDC z = +1.0
.
Unproject the given 2D window coordinates winCoords
by this
matrix using the specified viewport
and compute the origin and the direction of the resulting ray which starts at NDC z = -1.0
and goes through NDC z = +1.0
.