已知三点绘制空间平面MATLAB
代码如下,直接进行使用即可:
function drawplane(points)
%points = [0.65612, 0.53440, 0.24175;0.62279, 0.51946, 0.25744;0.61216, 0.53959, 0.26394]
p0=points(1,:);
p1=points(2,:);
p2=points(3,:);
x0=p0(1);y0=p0(2);z0=p0(3);
x1=p1(1);y1=p1(2);z1=p1(3);
x2=p2(1);y2=p2(2);z2=p2(3);
%%
ux=x1-x2;uy=y1-y0;uz=z1-z0;
vx=x2-x0;vy=y2-y0;vz=z2-z0;
u=[ux,uy,uz];
v=[vx,vy,vz];
u_cross_v = [uy*vz-uz*vy, uz*vx-ux*vz, ux*vy-uy*vx]
point = p0
normal = u_cross_v
d = -point*normal'
[xx, yy ]= meshgrid(0:0.02:2, -1.5:0.02:0.5)
z = (-normal(1) .* xx - normal(2) * yy - d) .* 1. / normal(3)
hold on
surf(xx,yy,z,'FaceColor', 'none')