v_angle_sign#

static GeometryOperators.v_angle_sign(va, vb, vn, right_handed=True)[source]#

Evaluate the signed angle between two geometry vectors. The sign is evaluated respect to the normal to the plane containing the two vectors as per the following rule. In case of opposite vectors, it returns an angle equal to 180deg (always positive). Assuming that the plane normal is normalized (vb == 1), the signed angle is simplified. For the right-handed rotation from Va to Vb: - atan2((va x Vb) . vn, va . vb). For the left-handed rotation from Va to Vb: - atan2((Vb x va) . vn, va . vb).

Parameters:
vaList

List of [x, y, z] coordinates for the first vector.

vbList

List of [x, y, z] coordinates for the second vector.

vnList

List of [x, y, z] coordinates for the plane normal.

right_handedbool

Whether to consider the right-handed rotation from va to vb. The default is True. When False, left-hand rotation from va to vb is considered.

Returns:
float

Angle in radians.