Vector

class compas.geometry.Vector(x, y, z=0.0, **kwargs)[source]

Bases: Primitive

A vector is defined by XYZ components and a homogenisation factor.

Parameters
  • x (float) – The X component of the vector.

  • y (float) – The Y component of the vector.

  • z (float) – The Z component of the vector.

Attributes
  • x (float) – The X coordinate of the point.

  • y (float) – The Y coordinate of the point.

  • z (float) – The Z coordinate of the point.

  • length (float, read-only) – The length of this vector.

Examples

>>> u = Vector(1, 0, 0)
>>> v = Vector(0, 1, 0)
>>> u
Vector(1.000, 0.000, 0.000)
>>> v
Vector(0.000, 1.000, 0.000)
>>> u.x
1.0
>>> u[0]
1.0
>>> u.length
1.0
>>> u + v
Vector(1.000, 1.000, 0.000)
>>> u + [0.0, 1.0, 0.0]
Vector(1.000, 1.000, 0.000)
>>> u * 2
Vector(2.000, 0.000, 0.000)
>>> u.dot(v)
0.0
>>> u.cross(v)
Vector(0.000, 0.000, 1.000)

Methods

Xaxis

Construct a unit vector along the X axis.

Yaxis

Construct a unit vector along the Y axis.

Zaxis

Construct a unit vector along the Z axis.

angle

Compute the smallest angle between this vector and another vector.

angle_signed

Compute the signed angle between this vector and another vector.

angle_vectors

Compute the smallest angle between corresponding pairs of two lists of vectors.

angles

Compute both angles between this vector and another vector.

angles_vectors

Compute both angles between corresponding pairs of two lists of vectors.

copy

Make a copy of this vector.

cross

The cross product of this vector and another vector.

cross_vectors

Compute the cross product of two lists of vectors.

dot

The dot product of this vector and another vector.

dot_vectors

Compute the dot product of two lists of vectors.

from_data

Construct a vector from a data dict.

from_start_end

Construct a vector from start and end points.

invert

Invert the direction of this vector

inverted

Returns a inverted copy of this vector

length_vectors

Compute the length of multiple vectors.

scale

Scale this vector by a factor n.

scaled

Returns a scaled copy of this vector.

sum_vectors

Compute the sum of multiple vectors.

transform

Transform this vector.

transform_collection

Transform a collection of vector objects.

transformed

Return a transformed copy of this vector.

transformed_collection

Create a collection of transformed vectors.

unitize

Scale this vector to unit length.

unitized

Returns a unitized copy of this vector.

Inherited Methods

from_json

Construct an object from serialized data contained in a JSON file.

from_jsonstring

Construct an object from serialized data contained in a JSON string.

to_data

Convert an object to its native data representation.

to_json

Serialize the data representation of an object to a JSON file.

to_jsonstring

Serialize the data representation of an object to a JSON string.

validate_data

Validate the object's data against its data schema.

validate_json

Validate the object's data against its json schema.