Concavehull
This function tries to convert the convexhull of a 3D-pointcloud that was generated by Qhull/convexhulln into a (more) concave hull. Equally, output is in format k [n x 3] which defines n triangles as rows in XYZ. If the function finds a triangle that has 2 sides whose midpoints are further away than thresh from another point in the pointcloud, it deletes the triangle and substitutes it with three new triangles that are defined by the nearest points in the datacloud to the
old two midpoints.
The algorithm is surely not optimal yet and I'd be very happy myself if someone had ideas or even implementations for improvements. I still uploaded it, since I did look for something similar myself for a long time and did not find anything of use for me.
inputs: – XYZ: pointcloud of x-y-z-coordinates
thresh: threshold defining how close all of the midpoints of the
lines lie away from its closest point in the pointcloud to make
the algorithm stop. Still, even if set, the algorithm sometimes
stops before that, if the distance doesn't improve anymore. In
other words, the algorithm doesn't guarantee that the threshold
is always matched.
output: – k: triangulated indices (as output of concavehulln)
인용 양식
Andreas Horn (2025). Concavehull (https://kr.mathworks.com/matlabcentral/fileexchange/45644-concavehull), MATLAB Central File Exchange. 검색 날짜: .
MATLAB 릴리스 호환 정보
플랫폼 호환성
Windows macOS Linux카테고리
태그
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!