|
|
| File Information |
| Description |
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.
|
| MATLAB release |
MATLAB 7.9 (2009b)
|
| Zip File Content |
|
| Other Files |
edge_tangents.m, edge_tangents_double.c, edge_tangents_double.m, license.txt, make_halfway_vertices.m, makenewfacelist.m, refinepatch.m, vertex_neighbours.m, vertex_neighbours_double.c, vertex_neighbours_double.m
|
|
Tags for This File
|
| Everyone's Tags |
|
| Tags I've Applied |
|
| Add New Tags |
Please login to tag files.
|
| Comments and Ratings (5) |
| 17 Oct 2007 |
hazem wannous
|
|
|
| 18 Oct 2007 |
Dirk-Jan Kroon
|
|
|
| 16 Nov 2007 |
Duane Hanselman
|
|
|
| 28 Apr 2008 |
ivan scardanzan
|
|
|
| 24 Apr 2009 |
Edward Bender
|
|
|
| Updates |
| 18 Oct 2007 |
Matlab code used an unknown function val_even , to determine even or odd value.. |
| 16 Feb 2010 |
Know also c-code files are available, and mesh no longer have to be closed. |
| 16 Feb 2010 |
Fixed NaN bug in case of all neighbor vertices
Fixed Crash bug in case of vertex not present in face-list. |
|
MATLAB Central Terms of Use
NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for
all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content.
Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available
via MATLAB Central.
Read the complete Terms prior to use.
Contact us at files@mathworks.com