Vector.angle_signed

Vector.angle_signed(other, normal)[source]

Compute the signed angle between this vector and another vector.

Parameters:
other[float, float, float] | compas.geometry.Vector

The other vector.

normal[float, float, float] | compas.geometry.Vector

The plane’s normal spanned by this and the other vector.

Returns:
float

The signed angle between the two vectors.

Examples

>>> u = Vector(1.0, 0.0, 0.0)
>>> v = Vector(0.0, 1.0, 0.0)
>>> u.angle_signed(v, Vector(0.0, 0.0, 1.0)) == 0.5 * math.pi
True
>>> u.angle_signed(v, Vector(0.0, 0.0, -1.0)) == -0.5 * math.pi
True