Triangular Mesh Refinement

版本 1.2.0.0 (9.5 KB) 作者: Dirk-Jan Kroon
This function will refine a triangular mesh with 4-split spline interpolation
7.1K 次下载
更新时间 2010/2/16

查看许可证

This function "refinepatch" can refine any triangular mesh surface ( patch) with 4-split spline interpolation, see screenshot.

Literature:
The spline interpolation of the face edges is done by the Opposite Edge Method, described in: "Construction of Smooth Curves and Surfaces from Polyhedral Models" by Leon A. Shirman

How it works:
The tangents (normals) and velocity on the edge points of all edges are calculated. Which are later used for b-spline interpolation when splitting the edges.
A tangent on an 3D line or edge is under defined and can rotate along the line, thus an (virtual) opposite vertex is used to fix the tangent and make it more like a surface normal.
B-spline interpolate a half way vertices between all existing vertices using the velocity and tangent from the edge points. After splitting a new face list is constructed with 4 times as many faces.

Implementation:
Some Matlab files are also available as MEX files to allow quick refinement of large meshes.

Please Leave a comment, if you find a bug, like the code or know improvements.

引用格式

Dirk-Jan Kroon (2024). Triangular Mesh Refinement (https://www.mathworks.com/matlabcentral/fileexchange/16215-triangular-mesh-refinement), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2009b
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.2.0.0

Fixed NaN bug in case of all neighbor vertices
Fixed Crash bug in case of vertex not present in face-list.

1.1.0.0

Know also c-code files are available, and mesh no longer have to be closed.

1.0.0.0

Matlab code used an unknown function val_even , to determine even or odd value..