필터 지우기
필터 지우기

Problem using boundary and trisurf functions to create a mesh with three points

조회 수: 2 (최근 30일)
Hi, I am having some difficulties using these functions. I have three points and I would like to create a mesh with them, if I have four points these work perfectly but when I only insert three points boundary returns and empty matrix. I would like to know whats wrong and if there is anyway I can fix it. What I want is to create a surface between those three points, maybe there is another way to do it but I cant figure it out. Thanks!
p(1,1) = -26,9030200000000;
p(1,2) = 74,5056900000000;
p(1,3) = 1,76957800000000
p(2,1) = -31,3498700000000;
p(2,2) = 71,4396500000000;
p(2,3)= 26,4499500000000;
p(3,1) = 26,9030200000000;
p(3,2) = 74,5056900000000
p(3,3) = 1,76957800000000;
k = boundary(p)
hold on
trisurf(k,p(:,1),p:,2),p(:,3),'Facecolor','red','FaceAlpha',1)
%'EdgeColor', 'none')
grid off

채택된 답변

John D'Errico
John D'Errico 2019년 3월 25일
You have THREE points, in a 3 dimensional space.
How many points determine a volume in 3-d? 4. Essentially, a tetrahedron in 3 dimensions is as simple as you can get. So if you have only 3 points, they determine a triangle. But they are not sufficient to determine a tetrahedron. And you certainly will not create a boundary surface in 3-d.
If your goal is as simple as creating a surface that spans those 3 points, then this is simple. Just use patch.
patch(p(:,1),p(:,2),p(:,3),'r')
box on
grid on
untitled.jpg

추가 답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by