天天看點

【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

來源:知乎

可以用于繪制兩個曲面的交線以及得到點資料。

繼續閱讀