triangle_coordinate_system#

iskra.geometry.coordinate_system.triangle_coordinate_system(triangles: Tensor) tuple[Tensor, Tensor, Tensor][SOURCE]#

Build frame (normal, tangent and binormal) from triangles.

Constructs a 3D coordinate frame for triangles. It treats vertex 0 as the origin, normal is the normalized cross product \(e_{01} \times e_{02}\), tangent is the normalized edge \(e_{01}\), and binormal is normal-cross-tangent.

Parameters:

triangles (Tensor[Float, [Bs, 3, 3]]) – Triangles

Returns:
  • (Tensor[Float, [Bs, 3]]) – Normal vectors.

  • ​​ (Tensor[Float, [Bs, 3]]) – Tangent vectors.

  • ​​​ (Tensor[Float, [Bs, 3]]) – Binormal vectors.