layerview.visualization.linalg module
Linear algebra utilities.
- layerview.visualization.linalg.angle_inner(a: LVecBase2d, b: LVecBase2d)[source]
Return angle between vector 1 and vector 2, expressed in radians.
Does NOT take vector ordering into account.
Examples
Vector order does NOT matter. >>> a = LVecBase2d(1, 0) >>> b = LVecBase2d(0, 1) >>> angle_inner(a, b) == angle_inner(b, a) >>> True
- Parameters:
a (LVecBase2d) –
b (LVecBase2d) –
- Returns:
Angle between a and b, expressed in radians.
- Return type:
float
- layerview.visualization.linalg.angle_signed(a: LVecBase2d, b: LVecBase2d)[source]
Return angle between vector a and vector b, expressed in radians.
Takes angle signedness (positive/negative) into account
Examples
Reversing vector order >>> a = LVecBase2d(1, 0) >>> b = LVecBase2d(0, 1) >>> angle_signed(a, b) >>> 1.5707963267948966 >>> angle_signed(b, a) >>> -1.5707963267948966 >>> angle_signed(a, b) == - angle_signed(b, a) >>> True
- Parameters:
a (LVecBase2d) –
b (LVecBase2d) –
- Returns:
Inner angle between a and b, expressed in radians.
- Return type:
float
- layerview.visualization.linalg.vec_rotated(vector: LVecBase2d, pivot: LVecBase2d, angle: float)[source]
Return vector rotated by angle around pivot.
- Parameters:
vector (LVecBase2d) – The point to rotate.
pivot (LVecBase2d) – The point to rotate about.
angle (float) – Rotation angle, expressed in radians.
- Returns:
rotated – Point rotated about pivot by the specified angle.
- Return type:
LVecBase2d