V
- Vector implementation typepublic abstract class MultiDimensionalEuclideanVector<V extends MultiDimensionalEuclideanVector<V>> extends EuclideanVector<V>
Constructor and Description |
---|
MultiDimensionalEuclideanVector() |
Modifier and Type | Method and Description |
---|---|
abstract V |
orthogonal()
Get a unit vector orthogonal to the instance.
|
abstract V |
orthogonal(V dir)
Get a unit vector orthogonal to the current vector and pointing in the direction
of
dir . |
abstract V |
project(V base)
Get the projection of the instance onto the given base vector.
|
abstract V |
reject(V base)
Get the rejection of the instance from the given base vector.
|
directionTo, eq, getCheckedNorm, isZero, lerp, vectorTo
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
add, add, angle, distance, distanceSq, dot, getZero, multiply, negate, norm, normalize, normalizeOrNull, normSq, subtract, subtract, withNorm
getDimension, isFinite, isInfinite, isNaN
public MultiDimensionalEuclideanVector()
public abstract V project(V base)
base
. Vector projection and rejection onto
a given base are related by the equation
v = vprojection + vrejection
base
- base vectorbase
IllegalArgumentException
- if the norm of the base vector is zero, NaN, or infinitereject(MultiDimensionalEuclideanVector)
public abstract V reject(V base)
base
. This operation can be interpreted as
returning the orthogonal projection of the instance onto the hyperplane
orthogonal to base
. Vector projection and rejection onto
a given base are related by the equation
v = vprojection + vrejection
base
- base vectorbase
IllegalArgumentException
- if the norm of the base vector is zero, NaN, or infiniteproject(MultiDimensionalEuclideanVector)
public abstract V orthogonal()
IllegalArgumentException
- if the norm of the current instance is zero, NaN, or infinitepublic abstract V orthogonal(V dir)
dir
. This method is equivalent to calling dir.reject(vec).normalize()
except that no intermediate vector object is produced.dir
- the direction to use for generating the orthogonal vectordir
that does not lie along the current vectorIllegalArgumentException
- if either vector norm is zero, NaN or infinite, or the
given vector is collinear with this vector.Copyright © 2016–2021 The Apache Software Foundation. All rights reserved.