public final class Vector3 extends Object
This class provides methods of performing mathematical operations on the matrix, such as addition, subtraction, multiplication, division, dot product, cross product, and normalization.
| 限定符和类型 | 字段 | 说明 |
|---|---|---|
static Vector3 |
UNIT_X |
Indicates a constant unit vector pointing to the positive X-axis.
|
static Vector3 |
UNIT_Y |
Indicates a constant unit vector pointing to the positive Y-axis.
|
static Vector3 |
UNIT_Z |
Indicates a constant unit vector pointing to the positive Z-axis.
|
static Vector3 |
ZERO |
Indicates a constant vector with all components being zero.
|
| 构造器 | 说明 |
|---|---|
Vector3(float[] data,
int offset) |
A constructor used to create a
Vector3 instance based on a specified array and offset. |
Vector3(float vectorX,
float vectorY,
float vectorZ) |
A constructor used to create a
Vector3 instance based on specified vector components. |
| 限定符和类型 | 方法 | 说明 |
|---|---|---|
static Vector3 |
add(Vector3 lhs,
float rhs) |
Adds a float number to each component of the vector.
|
static Vector3 |
add(Vector3 lhs,
Vector3 rhs) |
Adds two vectors.
|
static Vector3 |
cross(Vector3 lhs,
Vector3 rhs) |
Obtains the cross product of two vectors.
|
static float |
distance(Vector3 lhs,
Vector3 rhs) |
Obtains the distance between two vectors.
|
static Vector3 |
divide(Vector3 lhs,
float rhs) |
Divides each component of the vector by a float number.
|
static Vector3 |
divide(Vector3 lhs,
Vector3 rhs) |
Divides two vectors.
|
static float |
dot(Vector3 lhs,
Vector3 rhs) |
Obtains the dot product of two vectors.
|
boolean |
equals(Object other) |
Indicates whether some other object is "equal to" this one.
|
float |
getLength() |
Obtains the length of this vector.
|
float |
getLengthSquared() |
Obtains the squared length of this vector.
|
Vector3 |
getNormalized() |
Normalizes this vector.
|
float |
getX() |
Obtains the component X in this vector.
|
float |
getY() |
Obtains the component Y in this vector.
|
float |
getZ() |
Obtains the component Z in this vector.
|
int |
hashCode() |
Returns a hash code value for the object.
|
static float |
length(float vectorX,
float vectorY,
float vectorZ) |
Obtains the length of a specified vector based on its components.
|
static float |
lengthSquared(float vectorX,
float vectorY,
float vectorZ) |
Obtains the squared length of a specified vector based on its components.
|
static Vector3 |
lerp(Vector3 lhs,
Vector3 rhs,
float value) |
Obtains the linear interpolation of two vectors.
|
static Vector3 |
max(Vector3 lhs,
Vector3 rhs) |
Obtains the maximum components of the two given vectors.
|
static Vector3 |
min(Vector3 lhs,
Vector3 rhs) |
Obtains the minimum components of the two given vectors.
|
static Vector3 |
multiply(Vector3 lhs,
float rhs) |
Multiplies a float number by each component of the vector.
|
static Vector3 |
multiply(Vector3 lhs,
Vector3 rhs) |
Multiplies two vectors.
|
static Vector3 |
normalize(float vectorX,
float vectorY,
float vectorZ) |
Normalizes the specified vector based on its components.
|
static Vector3 |
subtract(Vector3 lhs,
float rhs) |
Subtracts a float number from each component of the vector.
|
static Vector3 |
subtract(Vector3 lhs,
Vector3 rhs) |
Subtracts two vectors.
|
String |
toString() |
Returns a string representation of the object.
|
public static final Vector3 UNIT_X
public static final Vector3 UNIT_Y
public static final Vector3 UNIT_Z
public static final Vector3 ZERO
public Vector3(float[] data,
int offset)
Vector3 instance based on a specified array and offset.data - Indicates a float array. The array size must be greater than 3 so that you can obtain all
vector components starting from the offset.offset - Indicates the offset from which the array data starts to be read.public Vector3(float vectorX,
float vectorY,
float vectorZ)
Vector3 instance based on specified vector components.vectorX - Indicates the value of component X in the vector.vectorY - Indicates the value of component Y in the vector.vectorZ - Indicates the value of component Z in the vector.public static Vector3 add(Vector3 lhs, Vector3 rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static Vector3 add(Vector3 lhs, float rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static Vector3 subtract(Vector3 lhs, Vector3 rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static Vector3 subtract(Vector3 lhs, float rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static Vector3 multiply(Vector3 lhs, Vector3 rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static Vector3 multiply(Vector3 lhs, float rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static Vector3 divide(Vector3 lhs, Vector3 rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static Vector3 divide(Vector3 lhs, float rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static float distance(Vector3 lhs, Vector3 rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static float dot(Vector3 lhs, Vector3 rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static Vector3 cross(Vector3 lhs, Vector3 rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static Vector3 min(Vector3 lhs, Vector3 rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static Vector3 max(Vector3 lhs, Vector3 rhs)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.public static float length(float vectorX,
float vectorY,
float vectorZ)
vectorX - Indicates the value of component X in the vector.vectorY - Indicates the value of component Y in the vector.vectorZ - Indicates the value of component Z in the vector.public static float lengthSquared(float vectorX,
float vectorY,
float vectorZ)
vectorX - Indicates the value of component X in the vector.vectorY - Indicates the value of component Y in the vector.vectorZ - Indicates the value of component Z in the vector.public static Vector3 normalize(float vectorX, float vectorY, float vectorZ)
vectorX - Indicates the value of component X in the vector.vectorY - Indicates the value of component Y in the vector.vectorZ - Indicates the value of component Z in the vector.public static Vector3 lerp(Vector3 lhs, Vector3 rhs, float value)
lhs - Indicates the left-hand-side operand.rhs - Indicates the right-hand-side operand.value - Indicates the scale for measuring the linear interpolation. The value ranges from 0.0 to 1.0.public float getX()
public float getY()
public float getZ()
public float getLength()
public float getLengthSquared()
public Vector3 getNormalized()
public boolean equals(Object other)
Object
The equals method implements an equivalence relation
on non-null object references:
x, x.equals(x) should return
true.
x and y, x.equals(y)
should return true if and only if
y.equals(x) returns true.
x, y, and z, if
x.equals(y) returns true and
y.equals(z) returns true, then
x.equals(z) should return true.
x and y, multiple invocations of
x.equals(y) consistently return true
or consistently return false, provided no
information used in equals comparisons on the
objects is modified.
x,
x.equals(null) should return false.
The equals method for class Object implements
the most discriminating possible equivalence relation on objects;
that is, for any non-null reference values x and
y, this method returns true if and only
if x and y refer to the same object
(x == y has the value true).
Note that it is generally necessary to override the hashCode
method whenever this method is overridden, so as to maintain the
general contract for the hashCode method, which states
that equal objects must have equal hash codes.
equals 在类中 Objectother - the reference object with which to compare.true if this object is the same as the obj
argument; false otherwise.Object.hashCode(),
HashMappublic int hashCode()
ObjectHashMap.
The general contract of hashCode is:
hashCode method
must consistently return the same integer, provided no information
used in equals comparisons on the object is modified.
This integer need not remain consistent from one execution of an
application to another execution of the same application.
equals(Object)
method, then calling the hashCode method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hash tables.
As much as is reasonably practical, the hashCode method defined by
class Object does return distinct integers for distinct
objects. (This is typically implemented by converting the internal
address of the object into an integer, but this implementation
technique is not required by the
Java™ programming language.)
hashCode 在类中 ObjectObject.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)public String toString()
ObjecttoString method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())