//! Miscellaneous math functions. use crate::vector::Vec3; /// Calculates the surface normal of a triangle. #[must_use] pub fn calc_triangle_surface_normal( egde_a: &Vec3<f32>, edge_b: &Vec3<f32>, edge_c: &Vec3<f32>, ) -> Vec3<f32> { let v1 = edge_b - egde_a; let v2 = edge_c - egde_a; v1.cross(&v2).normalize() }