Using the isosurface() function for 3D coordinate sets

조회 수: 9 (최근 30일)
Johan Zúñiga
Johan Zúñiga 2023년 5월 23일
댓글: Johan Zúñiga 2023년 5월 24일
If I only have as input data a finite set (sample) of rectangular coordinates (x,y,z), of a three-dimensional structure with unknown shape, how can I generate the enveloping surface around the points from the isosurface() function?

답변 (1개)

Walter Roberson
Walter Roberson 2023년 5월 23일
The output of isosurface() is the data needed to construct a patch() object, so it contains information about the vertices and the face connections.
It is not clear what kind of representation you want for "the enclosing surface" ?
  댓글 수: 3
Walter Roberson
Walter Roberson 2023년 5월 23일
See boundary to get the vertices of the outer hull.
You would not use isosurface() for the case where you have scattered coordinates. isosurface() is for the case where you have a regular grid of coordinates.
Johan Zúñiga
Johan Zúñiga 2023년 5월 24일
Yes, I understand that the 'boundary' function allows me to build a polyhedral surface that surrounds the data set (x,y,z). However, I was wondering if there is a more "sophisticated" method than that. Someone told me that this is possible through the marching cubes algorithm and as far as I understand the 'isosurface' function is based on it. would you have a better suggestion?
The only drawback is that the 'isosurface' function has as input argument a volume data V matrix, but I don't know how to get it if I only know the set of points (x,y,z).

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Scalar Volume Data에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by