How to calculate a curvature of 3D isosurface?

29 ビュー (過去 30 日間)
zilorina
zilorina 2020 年 1 月 15 日
コメント済み: darova 2020 年 1 月 17 日
I have isosurface(X, Y, Z, W, level) in 3D and I would like to calculate its curvature. So far I was using the following code: https://nl.mathworks.com/matlabcentral/fileexchange/24937-curvature-calculations-on-triangular-3d-surface
This code (as well as other analogical codes that I saw on fileexchange) will take the triangulation of my surface as an input parameter (i.e., the mesh). But I was wondering maybe there is a simpler way to calculate the curvature of the surface since I have a smooth surface that has been already fitted into my triangulated point cloud?

回答 (1 件)

darova
darova 2020 年 1 月 15 日
You can use surfnorm to extract normal vectors from surface
Choose close enough vectors to calculate curvature
Angle between vectors:
Distance between points: L
Curvature radius:
123.png
  2 件のコメント
zilorina
zilorina 2020 年 1 月 17 日
It is more complicated for 3d surface. Indeed you would need to calculate normals on triangular mesh (i.e., first, for triangles, then for vertices). I do not think surfnorm works for triangular mesh (isosurface). Then the problem will consist of calculating pricncipal curvatures (minimum and maximum curvatures out of all directions) from the second fundamental form.
darova
darova 2020 年 1 月 17 日
Can you please attach the data?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeScalar Volume Data についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by