MATLAB Answers

0

3d convex polygon from connectivity list and vertices

Asked by jahanzaib ahmad on 8 Apr 2019
i made 3d convex polygon
A=rand(10,3);
DT3 = delaunayTriangulation(A);
[C4,v4]= convexHull(DT3);
trisurf(C4,DT3.Points(:,1),DT3.Points(:,2),DT3.Points(:,3), ...
'FaceColor','w')
hold on
connect=C4;
e=[];
l=length( connect);
for i=1:l
connect1=connect(i,:);
a=connect1(1,1);
b=connect1(1,2);
c=connect1(1,3);
d=[DT3.Points(a,:);DT3.Points(b,:);DT3.Points(c,:)];
e=[e;d];
end
C4 is the connectivity list of polygons DT3.Points the vertices . i want to make the polygon back the reverse but few points connects to oher points and that connecting line comes inside the polygons .because i m making a new matrix from connectivity list
1 3 4
1 4 7
1 7 9
1 9 10
1 10 3
2 3 10
2 5 3
2 7 5
2 10 7
3 5 4
4 5 7
7 10 9
underlined 7 gets connected to 3 makes a line which is inside the polygon;
"Warning: Duplicate data points have been detected and removed.
The Triangulation indices are defined with respect to the unique set of points in delaunayTriangulation. "
becasue of the connectivity pattern and because i m not doing it right .how this can be solved ?

  0 Comments

Sign in to comment.

0 Answers