Package org.robwork.sdurw_math
Class Vector3D
- java.lang.Object
-
- org.robwork.sdurw_math.Vector3D
-
public class Vector3D extends java.lang.Object
A 3D vector \mathbf{v}\in \mathbb{R}^3
\robabx{i}{j}{\mathbf{v}} = \left[ \begin{array}{c} v_x \\ v_y \\ v_z \end{array} \right]
Usage example:
const Vector3D<> v1(1.0, 2.0, 3.0); const Vector3D<> v2(6.0, 7.0, 8.0); const Vector3D<> v3 = cross(v1, v2); const double d = dot(v1, v2); const Vector3D<> v4 = v2 - v1;
-
-
Constructor Summary
Constructors Constructor Description Vector3D()
Creates a 3D vector initialized with 0'sVector3D(double x, double y, double z)
Creates a 3D vectorVector3D(long cPtr, boolean cMemoryOwn)
Vector3D(vector_d vec)
construct vector from std::vectorVector3D(Vector3D copy_vec)
Copy constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description EAA
add(EAA rhs)
Vector3D
add(Vector3D b)
Vector addition.Vector3D
addAssign(Vector3D v)
Vector addition.Vector3D
cross(Vector3D vec)
Calculate cross productvoid
delete()
Vector3D
devideAssign(double s)
Scalar division.Vector3D
divide(double s)
Scalar division.double
dot(Vector3D vec)
calculate the dot productEigenVector3d
e()
Returns Reference to Eigen VectorVector3D
elemAdd(double rhs)
Scalar addition.Vector3D
elemDivide(Vector3D rhs)
element wise division.Vector3D
elemMultiply(Vector3D rhs)
Elementweise multiplication.Vector3D
elemSubtract(double rhs)
Scalar subtraction.boolean
equals(EAA rhs)
boolean
equals(Vector3D b)
Compare with b for equality.double
get(long i)
static long
getCPtr(Vector3D obj)
Vector3D
multiply(double rhs)
Scalar multiplication.VelocityScrew6D
multiply(VelocityScrew6D rhs)
Wrench6D
multiply(Wrench6D rhs)
Vector3D
multiplyAssign(double s)
Scalar multiplication.Vector3D
negate()
Unary minus.
negative versiondouble
norm1()
Returns the Manhatten norm (1-norm) of the vectordouble
norm2()
Returns the Euclidean norm (2-norm) of the vectorVector3D
normalize()
normalize vector to get length 1double
normInf()
Returns the infinte norm ( \inf-norm) of the vectorboolean
notEqual(EAA rhs)
boolean
notEqual(Vector3D b)
Compare with b for inequality.void
set(long i, double d)
long
size()
The dimension of the vector (i.e.EAA
subtract(EAA rhs)
Vector3D
subtract(Vector3D b)
Vector subtraction.Vector3D
subtractAssign(Vector3D v)
Vector subtraction.java.lang.String
toString()
static Vector3D
x()
Get x vector (1,0,0)static Vector3D
y()
Get y vector (0,1,0)static Vector3D
z()
Get z vector (0,0,1)static Vector3D
zero()
Get zero vector.
-
-
-
Constructor Detail
-
Vector3D
public Vector3D(long cPtr, boolean cMemoryOwn)
-
Vector3D
public Vector3D()
Creates a 3D vector initialized with 0's
-
Vector3D
public Vector3D(double x, double y, double z)
Creates a 3D vector- Parameters:
x
- [in] xy
- [in] yz
- [in] z
-
Vector3D
public Vector3D(Vector3D copy_vec)
Copy constructor- Parameters:
copy_vec
- [in] vector to copy
-
Vector3D
public Vector3D(vector_d vec)
construct vector from std::vector- Parameters:
vec
- [in] the vector to construct from
-
-
Method Detail
-
getCPtr
public static long getCPtr(Vector3D obj)
-
delete
public void delete()
-
size
public long size()
The dimension of the vector (i.e. 3).
This method is provided to help support generic algorithms using
size() and operator[].- Returns:
- the size
-
zero
public static Vector3D zero()
Get zero vector.- Returns:
- vector.
-
x
public static Vector3D x()
Get x vector (1,0,0)- Returns:
- vector.
-
y
public static Vector3D y()
Get y vector (0,1,0)- Returns:
- vector.
-
z
public static Vector3D z()
Get z vector (0,0,1)- Returns:
- vector.
-
elemDivide
public Vector3D elemDivide(Vector3D rhs)
element wise division.- Parameters:
rhs
- [in] the vector being devided with- Returns:
- the resulting Vector3D
-
elemMultiply
public Vector3D elemMultiply(Vector3D rhs)
Elementweise multiplication.- Parameters:
rhs
- [in] vector- Returns:
- the element wise product
-
negate
public Vector3D negate()
Unary minus.
negative version
-
divide
public Vector3D divide(double s)
Scalar division.- Parameters:
s
- [in] the scalar to devide with- Returns:
- result of devision
-
multiply
public Vector3D multiply(double rhs)
Scalar multiplication.- Parameters:
rhs
- [in] the scalar to multiply with- Returns:
- the product
-
elemSubtract
public Vector3D elemSubtract(double rhs)
Scalar subtraction.
-
elemAdd
public Vector3D elemAdd(double rhs)
Scalar addition.
-
norm2
public double norm2()
Returns the Euclidean norm (2-norm) of the vector- Returns:
- the norm
-
norm1
public double norm1()
Returns the Manhatten norm (1-norm) of the vector- Returns:
- the norm
-
normInf
public double normInf()
Returns the infinte norm ( \inf-norm) of the vector- Returns:
- the norm
-
cross
public Vector3D cross(Vector3D vec)
Calculate cross product- Parameters:
vec
- [in] the vector to cross with- Returns:
- the cross product
-
dot
public double dot(Vector3D vec)
calculate the dot product- Parameters:
vec
- [in] the vecor to be dotted- Returns:
- the dot product
-
normalize
public Vector3D normalize()
normalize vector to get length 1- Returns:
- the normalized Vector
-
e
public EigenVector3d e()
Returns Reference to Eigen Vector- Returns:
- reference to underling eigen
-
get
public double get(long i)
-
set
public void set(long i, double d)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
multiplyAssign
public Vector3D multiplyAssign(double s)
Scalar multiplication.
-
devideAssign
public Vector3D devideAssign(double s)
Scalar division.
-
equals
public boolean equals(Vector3D b)
Compare with b for equality.- Parameters:
b
- [in] other vector.- Returns:
- True if a equals b, false otherwise.
-
notEqual
public boolean notEqual(Vector3D b)
Compare with b for inequality.- Parameters:
b
- [in] other vector.- Returns:
- True if a and b are different, false otherwise.
-
equals
public boolean equals(EAA rhs)
-
notEqual
public boolean notEqual(EAA rhs)
-
multiply
public VelocityScrew6D multiply(VelocityScrew6D rhs)
-
-