Base.Vector class.
This class represents a 3D float vector. Useful to represent points in the 3D space.
The following constructors are supported:
Vector(x=0, y=0, z=0) x : float y : float z : float
Vector(vector) Copy constructor. vector : Base.Vector
Vector(seq) Define from a sequence of float. seq : sequence of float.
Gets or sets the length of this vector.
add(vector2) -> Base.Vector
Returns the sum of this vector and vector2
.
vector2 : Base.Vector
cross(vector2) -> Base.Vector
Returns the vector product (cross product) between this vector and vector2
.
vector2 : Base.Vector
distanceToLine(base, dir) -> float
Returns the distance between the point represented by this vector
and a line defined by a base point represented by base
and a
direction dir
.
base : Base.Vector dir : Base.Vector
distanceToLineSegment(point1, point2) -> Base.Vector
Returns the vector between the point represented by this vector and the point
on the line segment with the shortest distance. The line segment is defined by
point1
and point2
.
point1 : Base.Vector point2 : Base.Vector
distanceToPlane(base, normal) -> float
Returns the distance between this vector and a plane defined by a
base point represented by base
and a normal defined by normal
.
base : Base.Vector normal : Base.Vector
distanceToPoint(point2) -> float
Returns the distance to another point represented by point2
.
.
point : Base.Vector
dot(vector2) -> float
Returns the scalar product (dot product) between this vector and vector2
.
vector2 : Base.Vector
getAngle(vector2) -> float
Returns the angle in radians between this vector and vector2
.
vector2 : Base.Vector
isEqual(vector2, tol=0) -> bool
Checks if the distance between the points represented by this vector
and vector2
is less or equal to the given tolerance.
vector2 : Base.Vector tol : float
isOnLineSegment(vector1, vector2) -> bool
Checks if this vector is on the line segment generated by vector1
and vector2
.
vector1 : Base.Vector vector2 : Base.Vector
multiply(factor) -> Base.Vector
Multiplies in-place each component of this vector by a single factor. Equivalent to scale(factor, factor, factor).
factor : float
negative() -> Base.Vector
Returns the negative (opposite) of this vector.
normalize() -> Base.Vector
Normalizes in-place this vector to the length of 1.0.
projectToLine(point, dir) -> Base.Vector
Projects point
on a line that goes through the origin with the direction dir
.
The result is the vector from point
to the projected point.
The operation is equivalent to dir_n.cross(dir_n.cross(point)), where dir_n
is
the vector dir
normalized.
The method modifies this vector instance according to result and does not
depend on the vector itself.
point : Base.Vector dir : Base.Vector
projectToPlane(base, normal) -> Base.Vector
Projects in-place this vector on a plane defined by a base point
represented by base
and a normal defined by normal
.
base : Base.Vector normal : Base.Vector
scale(x, y, z) -> Base.Vector
Scales in-place this vector by the given factor in each component.
x : float x-component factor scale. y : float y-component factor scale. z : float z-component factor scale.
sub(vector2) -> Base.Vector
Returns the difference of this vector and vector2
.
vector2 : Base.Vector
Gets or sets the X component of this vector.
Gets or sets the Y component of this vector.
Gets or sets the Z component of this vector.
⏵ documentation index > API > [Poweruser Documentation](Category_Poweruser Documentation.md) > Vector API