# Class Vector3D_F64

All Implemented Interfaces:
`Serializable`

public class Vector3D_F64 extends GeoTuple3D_F64<Vector3D_F64>
Spacial vector in 3D. A vector defines a direction.
• ## Field Summary

### Fields inherited from class georegression.struct.GeoTuple3D_F64

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

Constructors
Constructor
Description
`Vector3D_F64()`

```Vector3D_F64(double x, double y, double z)```

`Vector3D_F64(GeoTuple3D_F64 orig)`

```Vector3D_F64(Point3D_F64 a, Point3D_F64 b)```
Defines the vector using two points.
• ## Method Summary

Modifier and Type
Method
Description
`double`
`acute(Vector3D_F64 a)`
Returns the acute angle between the two vectors.
`Vector3D_F64`
`createNewInstance()`
Creates a new tuple instance of the same type.
`void`
```crossSetTo(Vector3D_F64 a, Vector3D_F64 b)```
Assigns this vector to the results of crossing the two passed in vectors.
`Vector3D_F64`
`crossWith(Vector3D_F64 b)`
Crosses this matrix with 'b' and returns the result
`void`
`divide(double value)`
In-place divide operation.
`double`
```dot(double x, double y, double z)```

`double`
`dot(Vector3D_F64 a)`
Dot product between this and 'a' = this.x * a.x + this.y * a.y + this.z * a.z
`void`
```minus(Point3D_F64 a, Point3D_F64 b)```
In-place minus operation.
`void`
`normalize()`

`Vector3D_F64`
`setTo(Vector3D_F64 src)`
Sets this equal to 'src'
`String`
`toString()`

### Methods inherited from class georegression.struct.GeoTuple3D_F64

`_setTo, distance, distance, distance2, distance2, divideIP, equals, getDimension, getIdx, hashCode, isIdentical, isIdentical, isIdentical, isNaN, norm, normSq, plus, plus, plusIP, plusIP, print, scale, setIdx, setTo, times, timesIP, toString, zero`

### Methods inherited from class georegression.struct.GeoTuple_F64

`copy, isInfinite`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`
• ## Constructor Details

• ### Vector3D_F64

public Vector3D_F64(GeoTuple3D_F64 orig)
• ### Vector3D_F64

public Vector3D_F64(double x, double y, double z)
• ### Vector3D_F64

public Vector3D_F64()
• ### Vector3D_F64

public Vector3D_F64
Defines the vector using two points. v = b - a;
Parameters:
`a` - (Input) Point
`b` - (Input) Point
• ## Method Details

• ### setTo

public Vector3D_F64 setTo(Vector3D_F64 src)
Description copied from class: `GeoTuple`
Sets this equal to 'src'
Overrides:
`setTo` in class `GeoTuple3D_F64<Vector3D_F64>`
Parameters:
`src` - The tuple being copied
Returns:
Reference to 'this' class instance. Used to chain operations.
• ### minus

public void minus
In-place minus operation. this = a - b.
Parameters:
`a` - Point
`b` - Point
• ### divide

public void divide(double value)
In-place divide operation. x /= value;
Parameters:
`value` - The value each component is divided by
• ### crossSetTo

public void crossSetTo
Assigns this vector to the results of crossing the two passed in vectors.
Parameters:
`a` - Vector
`b` - Vector
• ### crossWith

public Vector3D_F64 crossWith(Vector3D_F64 b)
Crosses this matrix with 'b' and returns the result
• ### createNewInstance

public Vector3D_F64 createNewInstance()
Description copied from class: `GeoTuple`

Creates a new tuple instance of the same type.

Specified by:
`createNewInstance` in class `GeoTuple<Vector3D_F64>`
Returns:
new tuple instance.
• ### toString

public String toString()
Overrides:
`toString` in class `Object`
• ### normalize

public void normalize()
• ### dot

public double dot(Vector3D_F64 a)
Dot product between this and 'a' = this.x * a.x + this.y * a.y + this.z * a.z
Parameters:
`a` - A vector
Returns:
dot product.
• ### dot

public double dot(double x, double y, double z)
• ### acute

public double acute(Vector3D_F64 a)
Returns the acute angle between the two vectors. Computed using the dot product.
Parameters:
`a` - Vector
Returns:
Acute angle in radians between 'this' and 'a'.