# 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

 ToString Converts the instance to a string. 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. sha256 Compute a hash of the data for comparison during version control using the sha256 algorithm. 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.