MATLAB Answers

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

1 view (last 30 days)
Suraj Gurav
Suraj Gurav on 12 Nov 2019
Commented: darova on 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 Comments

Sign in to comment.

Answers (0)

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!