How to find surface intersection of 2 surfaces created using trisurf function ?

3 vues (au cours des 30 derniers jours)
Suraj Gurav
Suraj Gurav le 12 Nov 2019
Commenté : darova le 25 Nov 2019
Hello All,
I have plotted two surfaces using trisurf function and now interested in getting a line or contour plot as the intersection of these two surfaces.
In the code given below,
fovsurface.vertex=[0 0 0;311.5 260 2562;311.5 -260 2562;-311.5 260 2562;-311.5 -260 2562];
fovsurface.face=[1 2 3;1 2 4;1 4 5;1 3 5];
surface1=trisurf(fovsurface.face, fovsurface.vertex(:,1), fovsurface.vertex(:,2), fovsurface.vertex(:,3),'FaceAlpha',0.5,'FaceColor','r')
daspect([1,1,1]);
hold on
% Creating box
ver = [1 1 0;
0 1 0;
0 1 1;
1 1 1;
0 0 1;
1 0 1;
1 0 0;
0 0 0];
% Define the faces of the unit cubic
fac = [1 2 3 4;
4 3 5 6;
6 7 8 5;
1 2 8 7;
6 7 1 4;
2 3 5 8];
origin=[0,0,2500]; % define vertex of the box, need to think about suitable origin
X=500;Y=500;Z=500; % length of the sides of the box
cube = [ver(:,1)*X+origin(1),ver(:,2)*Y+origin(2),ver(:,3)*Z+origin(3)];
box1=trisurf(fac,cube(:,1), cube(:,2), cube(:,3), 'EdgeColor','y', 'FaceColor','y','FaceAlpha',1.0);
direction=[1 0 0]
rotate(box1,direction,25) % rotate the box1 by 25° about x axis
I am trying to get the intersection of surface1 and the box1. Can anyone please help me or suggest me a solution for this problem.
Thanks in Advance
  5 commentaires
Suraj Gurav
Suraj Gurav le 25 Nov 2019
Hello darova,
Thank you for highlighting this triangulation of surface.
you are right, the cube was not triangulated and may be thats why I was not getting correct output.
darova
darova le 25 Nov 2019
Do you have correct results now?

Connectez-vous pour commenter.

Réponses (0)

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by