Geometry#

Geometry functions.

volmdlr.geometry.angle_principal_measure(angle, min_angle=-3.141592653589793)#

Return angle between O and 2 pi.

volmdlr.geometry.clockwise_angle(vector1, vector2)#

Return the clockwise angle in radians between vector1 and vector2.

volmdlr.geometry.clockwise_interior_from_circle3d(start, end, circle)#

Return the clockwise interior point between start and end on the circle.

volmdlr.geometry.cos_image(x1: float, x2: float) tuple[int, int] | tuple[int, float] | tuple[float, int] | list[float]#

Return the interval image of cosinus function between two values.

volmdlr.geometry.direction_to_euler_angles(u: Vector3D, v=None)#

Return one possibility of euler angles from a vector indicating a direction.

volmdlr.geometry.euler_angles_to_transfer_matrix(psi, theta, phi)#

Give Transition Matrix from euler angles.

Angles in radians

volmdlr.geometry.get_transfer_matrix_from_basis(basis_a, basis_b)#

Get the matrix of transformation that applied to the basis A gives basis B.

volmdlr.geometry.huygens2d(Ix, Iy, Ixy, area, point1, point2)#

Area acts the same way as the mass in 3D.

volmdlr.geometry.offset_angle(trigo, angle_start, angle_end)#

Calculate the offset and angle.

Seems unused

volmdlr.geometry.rotation_matrix(axis: Vector3D, angle: float) array#

Compute a rotation matrix from an axis and a radians angle.

Parameters:
  • axis (Vector3D) – The rotation axis.

  • angle (float) – The rotation angle.

Returns:

The computed rotation matrix.

Return type:

numpy.array

volmdlr.geometry.sin_cos_angle(u1, u2)#

Return an angle between 0 and 2*PI verifying cos(theta)=u1, sin(theta)=u2.

Parameters:
  • u1 (float) – The value of the cosinus of the returned angle

  • u2 (float) – The value of the sinus of the returned angle

Returns:

The angle verifying the two equations

Return type:

float

volmdlr.geometry.sin_image(x1: float, x2: float) tuple[float, float]#

Return the interval image of sinus function between two values.

volmdlr.geometry.transfer_matrix_to_euler_angles(r_matrix)#

Return the Euler angle from a transfer matrix.

volmdlr.geometry.vectors3d_angle(vector1, vector2)#

Compute the angle between two 3 dimensional vectors.

Parameters:
  • vector1 (volmdlr.Vector3D) – The fist 3 dimensional vector

  • vector2 (volmdlr.Vector3D) – The second 3 dimensional vectors

Returns:

The angle between the two vectors

Return type:

float