天天看点

【1106matlab学习】在三维空间里绘制两个曲面的交线

matlab绘图学习:

mesh函数:绘制网格曲面图

surf函数:绘制曲面图

例:绘制一个圆心为(3,4,5),半径为30的网格球面

N=12;%一个圆的测点数量
[X,Y,Z]=sphere(360/N);%30是画出来的球面的经纬分面数
X=3+30*X;%圆心为(3,4,5),半径为30
Y=4+30*Y;
Z=5+30*Z;
mesh(X,Y,Z);
           

fmesh:绘制三维网格图

fsurf:绘制三维曲面图

tips:要把曲面方程变成z=f(x,y)的形式才能绘制

例:绘制一个网格平面,平面方程为:(x-3)+3(y-4)+9(z-5)=0

fmesh(@(x,y)(1/9)*(-(x-3)-3*(y-4))+5);
           

综合:

clc
clear
close all
N=12;%一个圆的测点数量
[X,Y,Z]=sphere(360/N);%30是画出来的球面的经纬分面数
X=3+30*X;%圆心为(3,4,5),半径为30
Y=4+30*Y;
Z=5+30*Z;
surf(X,Y,Z);
%shading interp;%过渡均匀化,去掉网格线
hold on;
fsurf(@(x,y)(1/9)*(-(x-3)-3*(y-4))+5);
axis equal
axis([-40,40,-40,40,-40,40]);
           

绘图结果如下:

【1106matlab学习】在三维空间里绘制两个曲面的交线

contourslice 函数:用于可视化三元标量函数

主要参考:

作者:王赟 Maigo

链接:https://www.zhihu.com/question/48734216/answer/112701289

来源:知乎

可以用于绘制两个曲面的交线以及得到点数据。

继续阅读