From c69c72575bec1237495ab58d12249f02d210fe6c Mon Sep 17 00:00:00 2001 From: Alexis Date: Sat, 18 Oct 2025 10:19:41 +0800 Subject: [PATCH] fix 3d curvature calculation --- src/levelset.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/levelset.jl b/src/levelset.jl index 9bd6f50..16b55b7 100644 --- a/src/levelset.jl +++ b/src/levelset.jl @@ -129,7 +129,8 @@ function curvature(ϕ::LevelSet, I) ϕzz = D2⁰(ϕ, I, 3) ϕxy = D2(ϕ, I, (2, 1)) ϕxz = D2(ϕ, I, (3, 1)) - κ = (ϕxx * (ϕy)^2 - 2 * ϕy * ϕx * ϕxy + ϕyy * ϕx^2 + ϕx^2 * ϕzz - 2 * ϕx * ϕz * ϕxz + ϕz^2 * ϕxx + ϕy^2 * ϕzz - 2 * ϕy * ϕz * ϕyz + ϕz^2 * ϕyy) / (ϕx^2 + ϕy^2)^3 / 2 + ϕyz = D2(ϕ, I, (3, 2)) + κ = (ϕxx * ϕy^2 + ϕyy * ϕx^2 + ϕxx * ϕz^2 + ϕzz * ϕx^2 + ϕyy * ϕz^2 + ϕzz * ϕy^2 - 2 * ϕx * ϕz * ϕxz - 2 * ϕy * ϕz * ϕyz - 2 * ϕy * ϕx * ϕxy) / (ϕx^2 + ϕy^2 + ϕz^2)^(3 / 2) return κ else # generic method