public class Vec4f extends AbstractFloatVec<Vec4f>
Describes a vector in 3 dimensional space (homogeneous coordinates).
- Author:
- Dr. Peter Droste, Omix Visualization
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description int
closest(Vec4f[] vecs)
Returns the index of the vector closest to this.Vec4f
copy()
Clones the coordinateVec4f
cross(Vec4f c)
Cross productVec4f
dot(float multiplicator)
Scalingfloat
dot(Vec4f multiplicator)
Scalar productboolean
equals(Object obj)
Determines if the vector is equals another objectfloat
getAngle(Vec4f coordinate)
Computes the angle between two vectors.float
getLength()
Length of the vectorfloat
getW()
float
getX()
float
getY()
float
getZ()
boolean
isComplementOf(Vec4f cc)
Determines if this is complement of given vector.boolean
isDirection()
Determines if vector describes direction or location.boolean
isInfinite()
Determines if one coordinate component is infinity.boolean
isLocation()
Determines if vector describes direction or location.boolean
isNaN()
Determines if one coordinate component is NaN.Vec4f
minus(Vec4f cc)
SubtractionVec4f
negate()
NegationVec4f
normalize()
NormalizationVec4f
plus(Vec4f cc)
Additionvoid
set(float x, float y, float z, float w)
Change the single coordinates of this vector.void
set(Vec4f c)
Change the coordinates of this vector.
this := cvoid
setW(float w)
void
setX(float x)
void
setY(float y)
void
setZ(float z)
double[]
toDouble()
Returns the vector as double array.float[]
toFloat()
Returns the vector as float array.String
toString()
-
Constructor Details
-
Method Details
-
isDirection
public boolean isDirection()Determines if vector describes direction or location.- Returns:
- true if direction.
-
isLocation
public boolean isLocation()Determines if vector describes direction or location.- Returns:
- true if location.
-
getX
public float getX() -
getY
public float getY() -
getZ
public float getZ() -
getW
public float getW() -
setX
public void setX(float x) -
setY
public void setY(float y) -
setZ
public void setZ(float z) -
setW
public void setW(float w) -
set
Description copied from class:AbstractVec
Change the coordinates of this vector.
this := c- Specified by:
set
in classAbstractVec<Vec4f>
- See Also:
AbstractVec.set(omix.util.math.vector.AbstractVec)
-
set
public void set(float x, float y, float z, float w)Change the single coordinates of this vector.- Parameters:
x
-y
-z
-w
-
-
copy
Clones the coordinate- Returns:
- T
-
dot
Description copied from class:AbstractFloatVec
Scalar product- Specified by:
dot
in classAbstractFloatVec<Vec4f>
- Returns:
- this⋅multiplicator
- See Also:
AbstractFloatVec.dot(omix.util.math.vector.AbstractFloatVec)
-
normalize
Description copied from class:AbstractVec
Normalization- Specified by:
normalize
in classAbstractVec<Vec4f>
- Returns:
- this / |this|
- See Also:
AbstractVec.normalize()
-
negate
Description copied from class:AbstractVec
Negation- Specified by:
negate
in classAbstractVec<Vec4f>
- Returns:
- -this
- See Also:
AbstractVec.negate()
-
plus
Description copied from class:AbstractVec
Addition- Specified by:
plus
in classAbstractVec<Vec4f>
- Returns:
- this+v
- See Also:
AbstractVec.plus(omix.util.math.vector.AbstractVec)
-
dot
Description copied from class:AbstractFloatVec
Scaling- Specified by:
dot
in classAbstractFloatVec<Vec4f>
- Returns:
- this⋅m
- See Also:
AbstractFloatVec.dot(float)
-
minus
Description copied from class:AbstractVec
Subtraction- Specified by:
minus
in classAbstractVec<Vec4f>
- Returns:
- this-v
- See Also:
AbstractVec.minus(omix.util.math.vector.AbstractVec)
-
cross
Cross product- Parameters:
c
-- Returns:
- a new vector representing the cross product: this × c
-
isComplementOf
Determines if this is complement of given vector.- Parameters:
cc
-- Returns:
- complement?
-
getLength
public float getLength()Description copied from class:AbstractFloatVec
Length of the vector- Specified by:
getLength
in classAbstractFloatVec<Vec4f>
- Returns:
- |this|
- See Also:
AbstractFloatVec.getLength()
-
getAngle
Description copied from class:AbstractFloatVec
Computes the angle between two vectors.- Specified by:
getAngle
in classAbstractFloatVec<Vec4f>
- Returns:
- angle in radians
- See Also:
AbstractFloatVec.getAngle(omix.util.math.vector.AbstractFloatVec)
-
equals
Description copied from class:AbstractVec
Determines if the vector is equals another object- Specified by:
equals
in classAbstractVec<Vec4f>
- Returns:
- this==object
- See Also:
AbstractVec.equals(java.lang.Object)
-
toString
- Overrides:
toString
in classObject
- See Also:
Object.toString()
-
toDouble
public double[] toDouble()Description copied from class:AbstractVec
Returns the vector as double array.- Specified by:
toDouble
in classAbstractVec<Vec4f>
- Returns:
- new double[]{...}
- See Also:
AbstractVec.toDouble()
-
toFloat
public float[] toFloat()Description copied from class:AbstractVec
Returns the vector as float array.- Specified by:
toFloat
in classAbstractVec<Vec4f>
- Returns:
- new float[]{...}
- See Also:
AbstractVec.toFloat()
-
closest
Returns the index of the vector closest to this.- Parameters:
vecs
- array of vectors.- Returns:
- the closest of the given vectors
-
isNaN
public boolean isNaN()Description copied from class:AbstractVec
Determines if one coordinate component is NaN.- Specified by:
isNaN
in classAbstractVec<Vec4f>
- Returns:
- is NaN
- See Also:
AbstractVec.isNaN()
-
isInfinite
public boolean isInfinite()Description copied from class:AbstractVec
Determines if one coordinate component is infinity.- Specified by:
isInfinite
in classAbstractVec<Vec4f>
- Returns:
- is infinity
- See Also:
AbstractVec.isInfinite()
-