필터 지우기
필터 지우기

Equally distributed points of known distance on a 3D solid body/3d surface

조회 수: 7 (최근 30일)
Sabrina Myburgh
Sabrina Myburgh 2022년 8월 24일
답변: Sarthak 2023년 9월 13일
Hi,
I am trying to plot a pattern of points on a solid 3d body (a cone of known dimension), which can also be a 3d conic surface. I need the points on the surface/body to be in an equal triangular pattern or tesselation such that the distance between points in always an equal known, changeable value (such as 10mm for example). I require the x,y,z coordinates of these points on the cone. I also need to be able to change the distance between the points (i.e. the side length). Something like the image below, but the sides need to be equilateral and I need to be able to specify the triangle dimension. I thought using a mesh might be the easiest way.
I have found several meshing tools, however none of them let me change/specify the distance constraint. I have also tried for a 3d surface but have the same issue. Is there a way to do this in Matlab? Otherwise is there perhaps a better method of getting the same result? I have the stl file of the body, as well as the 3d surface.
Any assistance would be appreciated.
Thanks and kind regards,
Sabrina
  댓글 수: 2
John D'Errico
John D'Errico 2022년 8월 24일
I would point out that the triangulation you show is not truly equidistant, but merely a good one, perhaps reasonably close. However, I don't think there is a tool in MATLAB that will produce such a triangulation for a fully general surface. It would be nice, as others have asked for something similar, surprisingly often.
Sabrina Myburgh
Sabrina Myburgh 2022년 8월 24일
Hi John,
Thanks for the reply. It does not have to be exact, rather reasonably close. As long as I can specify the distance between points it is fine. Any suggestions?
Thanks,
Sabrina

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

답변 (1개)

Sarthak
Sarthak 2023년 9월 13일
Hi Sabrina,
I understand that you need the points on the surface/body to be in an equal triangular pattern.
You can use the “surf” function to plot the surface of the body, and then use the “trimesh” function to create a triangular mesh of the surface. You can then use the “trisurf” function to plot the triangular mesh.
There is no current way to set the spacing between adjacent triangles in a triangular mesh in MATLAB. You can still create a triangular mesh of a surface, but you will not be able to control the spacing between the triangles.
For more information about the above functions, you can refer to the documentation of trimesh and trisurf.

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by