diff --git a/src/specializations/Tetrahedron.jl b/src/specializations/Tetrahedron.jl index f9f9873c..fee91ccf 100644 --- a/src/specializations/Tetrahedron.jl +++ b/src/specializations/Tetrahedron.jl @@ -34,7 +34,16 @@ function _parametric(tetrahedron::Meshes.Tetrahedron) throw(DomainError((t₁, t₂, t₃), msg)) end - # Take a triangular cross-section at t3 + """ + # Algorithm: + - Form a barycentric tetrahedron bounded by the points [0, 0, 0], [1, 0, 0], + [0, 1, 0], and [0, 0, 1]. + - Use t₃ to take a triangular cross-section of the tetrahedron at points + [t₃, 0, 0], [0, t₃, 0], and [0, 0, t₃]. + - Use t₂ to take a line segment cross-section of the triangle between + points [t₂t₃, 0, t₃ - t₂t₃] and [0, t₂t₃, t₃ - t₂t₃]. + - Use t₁ to select a point along this line segment, i.e. ā + t₁(b̄ - ā). + """ u₁ = (t₂ * t₃) - (t₁ * t₂ * t₃) u₂ = t₁ * t₂ * t₃ u₃ = t₃ - (t₂ * t₃)