spim.vecmath

## Class Vector3d

• All Implemented Interfaces:
Serializable, Cloneable

```public class Vector3d
extends Tuple3d
implements Serializable```
A 3-element vector that is represented by double-precision floating point x,y,z coordinates. If this value represents a normal, then it should be normalized.
Serialized Form

• ### Fields inherited from class spim.vecmath.Tuple3d

`x, y, z`
• ### Constructor Summary

Constructors
Constructor and Description
`Vector3d()`
Constructs and initializes a Vector3d to (0,0,0).
`Vector3d(double[] v)`
Constructs and initializes a Vector3d from the array of length 3.
```Vector3d(double x, double y, double z)```
Constructs and initializes a Vector3d from the specified xyz coordinates.
`Vector3d(Tuple3d t1)`
Constructs and initializes a Vector3d from the specified Tuple3d.
`Vector3d(Tuple3f t1)`
Constructs and initializes a Vector3d from the specified Tuple3f.
`Vector3d(Vector3d v1)`
Constructs and initializes a Vector3d from the specified Vector3d.
`Vector3d(Vector3f v1)`
Constructs and initializes a Vector3d from the specified Vector3f.
• ### Method Summary

All Methods
Modifier and Type Method and Description
`double` `angle(Vector3d v1)`
Returns the angle in radians between this vector and the vector parameter; the return value is constrained to the range [0,PI].
`void` ```cross(Vector3d v1, Vector3d v2)```
Sets this vector to the vector cross product of vectors v1 and v2.
`double` `dot(Vector3d v1)`
Returns the dot product of this vector and vector v1.
`double` `length()`
Returns the length of this vector.
`double` `lengthSquared()`
Returns the squared length of this vector.
`void` `normalize()`
Normalizes this vector in place.
`void` `normalize(Vector3d v1)`
Sets the value of this vector to the normalization of vector v1.
• ### Methods inherited from class spim.vecmath.Tuple3d

`absolute, absolute, add, add, clamp, clamp, clamp, clamp, clampMax, clampMax, clampMax, clampMax, clampMin, clampMin, clampMin, clampMin, clone, epsilonEquals, equals, equals, get, get, getX, getY, getZ, hashCode, interpolate, interpolate, interpolate, interpolate, negate, negate, scale, scale, scaleAdd, scaleAdd, set, set, set, set, setX, setY, setZ, sub, sub, toString`
• ### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`
• ### Constructor Detail

• #### Vector3d

```public Vector3d(double x,
double y,
double z)```
Constructs and initializes a Vector3d from the specified xyz coordinates.
Parameters:
`x` - the x coordinate
`y` - the y coordinate
`z` - the z coordinate
• #### Vector3d

`public Vector3d(double[] v)`
Constructs and initializes a Vector3d from the array of length 3.
Parameters:
`v` - the array of length 3 containing xyz in order
• #### Vector3d

`public Vector3d(Vector3d v1)`
Constructs and initializes a Vector3d from the specified Vector3d.
Parameters:
`v1` - the Vector3d containing the initialization x y z data
• #### Vector3d

`public Vector3d(Vector3f v1)`
Constructs and initializes a Vector3d from the specified Vector3f.
Parameters:
`v1` - the Vector3f containing the initialization x y z data
• #### Vector3d

`public Vector3d(Tuple3f t1)`
Constructs and initializes a Vector3d from the specified Tuple3f.
Parameters:
`t1` - the Tuple3f containing the initialization x y z data
• #### Vector3d

`public Vector3d(Tuple3d t1)`
Constructs and initializes a Vector3d from the specified Tuple3d.
Parameters:
`t1` - the Tuple3d containing the initialization x y z data
• #### Vector3d

`public Vector3d()`
Constructs and initializes a Vector3d to (0,0,0).
• ### Method Detail

• #### cross

```public final void cross(Vector3d v1,
Vector3d v2)```
Sets this vector to the vector cross product of vectors v1 and v2.
Parameters:
`v1` - the first vector
`v2` - the second vector
• #### normalize

`public final void normalize(Vector3d v1)`
Sets the value of this vector to the normalization of vector v1.
Parameters:
`v1` - the un-normalized vector
• #### normalize

`public final void normalize()`
Normalizes this vector in place.
• #### dot

`public final double dot(Vector3d v1)`
Returns the dot product of this vector and vector v1.
Parameters:
`v1` - the other vector
Returns:
the dot product of this and v1
• #### lengthSquared

`public final double lengthSquared()`
Returns the squared length of this vector.
Returns:
the squared length of this vector
• #### length

`public final double length()`
Returns the length of this vector.
Returns:
the length of this vector
• #### angle

`public final double angle(Vector3d v1)`
Returns the angle in radians between this vector and the vector parameter; the return value is constrained to the range [0,PI].
Parameters:
`v1` - the other vector
Returns:
the angle in radians in the range [0,PI]