Update formatting

This commit is contained in:
Hanno Braun 2025-04-10 11:49:54 +02:00
parent d37ca389e2
commit 9cf8c0b01d

View File

@ -56,21 +56,22 @@ fn half_edges_to_points(face: &Face, target: &mut Vec<TriangulationPoint>) {
.map(|half_edge| half_edge.start.point)
.map(|point_global| {
// Here, we project a 3D point (from the vertex) into the face's
// surface, creating a 2D point. Through the surface, this 2D point has
// a position in 3D space.
// surface, creating a 2D point. Through the surface, this 2D
// point has a position in 3D space.
//
// But this position isn't necessarily going to be the same as the
// position of the original 3D point, due to numerical inaccuracy.
// But this position isn't necessarily going to be the same as
// the position of the original 3D point, due to numerical
// inaccuracy.
//
// This doesn't matter. Neither does the fact, that other faces might
// share the same vertices and project them into their own surfaces,
// creating more redundancy.
// This doesn't matter. Neither does the fact, that other faces
// might share the same vertices and project them into their own
// surfaces, creating more redundancy.
//
// The reason that it doesn't, is that we're using the projected 2D
// points _only_ for this local triangulation. Once that tells us how
// the different 3D points must connect, we use the original 3D points
// to build those triangles. We never convert the 2D points back into
// 3D.
// The reason that it doesn't, is that we're using the projected
// 2D points _only_ for this local triangulation. Once that
// tells us how the different 3D points must connect, we use the
// original 3D points to build those triangles. We never convert
// the 2D points back into 3D.
let point_surface =
face.surface.geometry.project_point(point_global);