Class pmr.euclid.Vector3
`All Packages  Class Hierarchy  This Package  Previous  Next  Index`

# Class pmr.euclid.Vector3

```java.lang.Object
|
+----pmr.euclid.Status
|
+----pmr.euclid.Vector3
```

public class Vector3
extends Status
Vector3 - 3-dimensional vector

A vector has thre components giving it a length and a direction (whose sign is important),but no position. Vectors are often normalised to unti length.

Vectors and points are very closely related and some people use them interchangeabley. A Point3 has a position and cannot be normlaised. In very many routines, however, Vectors and Points can either be used interchangeably, or there are equivalent routines or they can be converted using cross-constructors. (They cannot be interconverted through casts).

The default vector is 0.0, 0.0, 0.0. Some operations on this will result in ZerolengthVector Exceptions.

Author:
(C) P. Murray-Rust, 1996

Vector3()
null constructor
Vector3(Choice3)
axial unit vector constructor: unit vectors along X, Y, Z axes
Vector3(double, double, double)
formed from vector components
Vector3(double[])
formed from vector components
Vector3(Point3)
make a vector from a point
Vector3(RealArray)
copy constructor from RealArray:
Vector3(Vector3)
copy constructor:
clone(Point3)
from Point3
clone(Vector3)
cross(Vector3)
Vector product
dot(double[])
dot product - protected
dot(Vector3)
dot product
elementAt(int)
subscript operator: counts from ZERO
equals(Vector3)
are two vectors equal lengths?
angle between two vectors
getArray()
get the vector components
getLength()
return vector length
getScalarTripleProduct(Vector3, Vector3)
getUnitVector()
isIdenticalTo(Vector3)
are two vectors identical?
isZero()
is a vector null?
longerThan(Vector3)
vector length > vector length?
main(String[])
tests Vector3 routines = new Vector3
multiplyBy(double)
scalar multiplication v = v*f
negative()
normalise()
Normalise vector
plus(Vector3)
projectOnto(Vector3)
projection of this onto v3
setElementAt(int, double)
subscript operator: counts from ZERO
shallowCopy(Vector3)
shallowCopy
subtract(Vector3)
toString()
transform(Transform3)
transform a vector
Vector3
```  public Vector3()
```
null constructor
Vector3
```  public Vector3(double x,
double y,
double z)
```
formed from vector components
Vector3
```  public Vector3(double array[])
```
formed from vector components
Vector3
```  public Vector3(Choice3 axis)
```
axial unit vector constructor: unit vectors along X, Y, Z axes
Vector3
```  public Vector3(Vector3 v)
```
copy constructor:
Vector3
```  public Vector3(RealArray f)
```
copy constructor from RealArray:
Vector3
```  public Vector3(Point3 p)
```
make a vector from a point
shallowCopy
```  public void shallowCopy(Vector3 v)
```
shallowCopy
clone
```  public Vector3 clone(Vector3 v)
```
clone
```  public Vector3 clone(Point3 p)
```
from Point3
getArray
```  public double[] getArray()
```
get the vector components
equals
```  public boolean equals(Vector3 v)
```
are two vectors equal lengths?
longerThan
```  public boolean longerThan(Vector3 v)
```
vector length > vector length?
multiplyBy
```  public Vector3 multiplyBy(double f)
```
scalar multiplication v = v*f
plus
```  public Vector3 plus(Vector3 v3)
```
subtract
```  public Vector3 subtract(Vector3 v3)
```
negative
```  public Vector3 negative()
```
elementAt
```  public double elementAt(int n)
```
subscript operator: counts from ZERO
setElementAt
```  public Vector3 setElementAt(int n,
double f)
```
subscript operator: counts from ZERO
isIdenticalTo
```  public boolean isIdenticalTo(Vector3 v)
```
are two vectors identical?
isZero
```  public boolean isZero()
```
is a vector null?
transform
```  public Vector3 transform(Transform3 t)
```
transform a vector
cross
```  public Vector3 cross(Vector3 v3)
```
Vector product
normalise
```  public Vector3 normalise()
```
Normalise vector
getUnitVector
```  public Vector3 getUnitVector()
```
getLength
```  public double getLength()
```
return vector length
dot
```  public double dot(Vector3 v3)
```
dot product
dot
```  protected double dot(double v3[])
```
dot product - protected
```  public Angle getAngleMadeWith(Vector3 v2) throws ZeroLengthVectorException
```
angle between two vectors
Throws: ZeroLengthVectorException
v2 or this is zero length
getScalarTripleProduct
```  public double getScalarTripleProduct(Vector3 v2,
Vector3 v3)
```
projectOnto
```  public Vector3 projectOnto(Vector3 v3) throws ZeroLengthVectorException
```
projection of this onto v3
Throws: ZeroLengthVectorException
v2 or this is zero length
toString
```  public String toString()
```
Overrides:
toString in class Object
main
```  public static void main(String args[])
```
tests Vector3 routines = new Vector3

`All Packages  Class Hierarchy  This Package  Previous  Next  Index`