class V3d

A 64 bits float 3-element vector.

x:double
y:double
z:double
V3d()

Uninitialized by default

V3d(a: double)

Initialize to a scalar (a,a,a)

V3d(a: double, b: double, c: double)

Initialize to given elements (a,b,c)

__eq__(o: V3d) → bool

Equality

__neq__(o: V3d) → bool

Inequality

__getitem__(i: int) → double

Element access by index.

__add__(v: V3d) → V3d

Component-wise addition

__sub__(v: V3d) → V3d

Component-wise subtraction

__mul__(v: V3d) → V3d

Component-wise multiplication

__mul__(a: double) → V3d

Component-wise multiplication

__truediv__(v: V3d) → V3d

Component-wise division

__truediv__(a: double) → V3d

Component-wise division

__neg__() → V3d

Component-wise multiplication by -1

equalWithAbsError(m: V3d, e: double) → bool

Compare two vectors and test if they are “approximately equal”: Return True if the coefficients of this and m are the same with an absolute error of no more than e, i.e., for all i, j:

abs (this[i][j] - m[i][j]) <= e

equalWithRelError(m: V3d, e: double) → bool

Compare two vectors and test if they are “approximately equal”: Return True if the coefficients of this and m are the same with a relative error of no more than e, i.e., for all i, j:

abs (this[i] - v[i][j]) <= e * abs (this[i][j])

dot(v: V3d) → double

Dot product

__xor__(v: V3d) → double

Dot product

cross(v: V3d) → double

Cross product

__mod__(v: V3d) → double

Cross product

negate() → V3d

Component-wise multiplication by -1

length() → double

Return the Euclidean norm

length2() → double

Return the square of the Euclidean norm, i.e. the dot product with itself.

normalize()

Normalize in place

normalizeNonNull()

Normalize without any checks for length()==0. Slightly faster than the other normalization routines, but if v.length() is 0.0, the result is undefined.

normalized() → V3d

Return a normalized vector. Does not modify *this.

normalizedNonNull() → V3d

Return a normalized vector. Does not modify *this, and does not check for length()==0. Slightly faster than the other normalization routines, but if v.length() is 0.0, the result is undefined.