MATLAB: I want to know how to plot the intersection of a 3D picture with a plane.

intersectionplot

I want to know how to plot the intersection of a 3D picture with a plane.
For example, my matlab code is
x=-10:0.1:10;
y=x;
[x,y]=meshgrid(x,y);
z=1-5*x.^2+3*y.^2+7*x.*y+4*x-9*y;
mesh(x,y)
I want to look at the intersecting line with z=c or z=ax+by(c,a,b are constant)
what matlab code can implement?

Best Answer

I am not certain what you want.
Try these:
x=-10:0.1:10;
y=x;
[x,y]=meshgrid(x,y);
z=1-5*x.^2+3*y.^2+7*x.*y+4*x-9*y;
figure
c = 1;
mesh(x,y,z)
hold on
contour3(x,y,z, [c,c], 'LineWidth',2, 'Color','k') % One Contour Level At ‘c’
hold off
figure
c = 20*x+15*y;
mesh(x,y,z)
hold on
plot3(x,y,c, 'LineWidth',2, 'Color','g') % Plane Defined By ‘c’
hold off
I want to know how to plot the intersection of a 3D picture with a plane - 2019 05 18.png
Experiment to get different results.