How can I get a point cloud from a patch object?

조회 수: 11 (최근 30일)
Chris Virgin
Chris Virgin 2014년 7월 18일
답변: Chris Virgin 2014년 7월 23일
I've downloaded the IGESToolBox from here and brought in a flowpath from CAD. The IGESToolbox plots the supplied file as a patch;
patch('faces',TRI,'vertices',P','FaceColor',clr,'EdgeColor','none');
I would like to extract the point cloud from the patch so I can make a ndgrid or trimesh. However, I can't figure out how to get the data out of TRI and P. I've tried 3 different ways and I just end up with a funky wedge shape instead of the flowpath.
Thanks for looking

채택된 답변

Kelly Kearney
Kelly Kearney 2014년 7월 18일
I'm assuming from this example that TRI is nx3 and P is 3xm (i.e. your data is 3D)
trimesh uses the same face/vertex input as patch-with-face-vertex:
trimesh(TRI, P(1,:), P(2,:), P(3,:))
If you want the coordinates of all the triangular faces:
vx = P(:,1);
vy = P(:,2);
x = vx(TRI');
y = vy(TRI');

추가 답변 (1개)

Chris Virgin
Chris Virgin 2014년 7월 23일
I didn't know that about trimesh (or I missed it in the documentation).
That's exactly what I needed.
Thanks for your help!

카테고리

Help CenterFile Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by