clojure.math.geometry documentation

Vector algebra.

EuclideanVector

Types with basic vector arithmetics: plus, minus, scale, dot.

Known imlpementations:

  Clojure seqables,
  double arrays,
  Common-Math's Vector2D and Vector3D,
  EJML's DenseMatrix64F.

HasCross

Vectors which support a cross product: cross.

Known implementations:

   Clojure seqables of length 3 or 2
   double arrays of length 3 or 2,
   Common-Math's Vector2D and Vector3D.

For 2D vectors cross returns a scalar.

HasEuclideanNorm

Defines an Euclidean norm and distance: norm, normalize, dist.

Known imlpementations:

  Clojure seqables,
  double arrays,
  Common-Math's Vector2D and Vector3D,
  EJML's DenseMatrix64F.

cross

(cross x y)
Returns a cross product  between two three-dimensional vectors.

dist

(dist x y)
Euclidean distance between two vectors.

dot

(dot x y)
Calculates a dot product beween two vectors.

minus

(minus x y)
Subtracts vector y from x.

norm

(norm x)
Calculates an Euclidean norm of the vector.

normalize

(normalize x)
Returns a vector of length 1 coaligned with the original vector x.

plus

(plus x y)
Calculates a sum of vectors x and y.

scale

(scale x alpha)
Multiplies a vector x by a scalar alpha.