Chapter 8 複數與三維繪圖
Hung-Yuan Fan (范洪源)
Department of Mathematics, National Taiwan Normal University, Taiwan
Spring 2017
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
Outline
8.1 複數資料 8.2 多維陣列 8.3 三維圖形
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 2/63
Section 8.1
複數資料
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
複數資料的使⽤時機
複數(complex numbers)是包含實數及虛數的⼀種數字。
⼤多數描述電機與機械系統⾏為的微分⽅程式,也都會產⽣
複數型態的解。
複數的使⽤很廣泛,我們必須深入了解複數的使⽤及其處理
⽅法,才能順利解決問題。
複數的⼀般形式為:
c = a + bi (直⾓座標表⽰法)
= z cos θ + (z sin θ)i = ze iθ , (極座標表⽰法) 其中 i = √
−1 或是 i 2 = −1。
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 4/63
複數的座標⽰意圖
Figure: 直⾓座標的複樹表⽰ (左) 和極座標的複樹表⽰ (右)
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
兩座標間的轉換
極座標轉直⾓坐標 (z, θ) 7−→ (a, b):
a = z cos θ, b = z sin θ 直⾓坐標轉極座標 (a, b) 7−→ (z, θ):
z = √
a 2 + b 2 , θ = tan −1 b
a ,
其中幅⾓ θ 可以由函式atan2(b,a) 或 atan2d(b,a) 求得,
且輸出⾓度範圍是 −π ≤ θ ≤ π 或 −180 ◦ ≤ θ ≤ 180 ◦ 。
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 6/63
複數的基本運算
對於任何兩個複數 c 1 = a 1 + b 1 i = z 1 e iθ 1 和 c 2 = a 2 + b 2 i = z 2 e iθ 2 , 定義加減乘除如下:
直⾓坐標形式:
c 1 ± c 2 = (a 1 ± a 2 ) + (b 1 ± b 2 )i,
c 1 × c 2 = (a 1 a 2 − b 1 b 2 ) + (a 1 b 2 + b 1 a 2 )i, c 1
c 2 = a 1 a 2 + b 1 b 2
a 2 2 + b 2 2 + b 1 a 2 − a 1 b 2 a 2 2 + b 2 2 i 極坐標形式:
c 1 ± c 2 = (z 1 cos θ 1 ± z 2 cos θ 2 ) + (z 1 sin θ 1 ± z 2 sin θ 2 )i, c 1 × c 2 = (z 1 z 2 )e i(θ 1 +θ 2 ) , c 1
c 2 = z 1
z 2 e i(θ 1 −θ 2 )
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
複數變數的初始化
1
使⽤內建值 i 或 j 來產⽣複數值,這兩個值在 MATLAB 都被預設為 √
−1。
>> c1 = 4 + i*3 c1 =
4.0000 + 3.0000i
2
直接在數字的虛數部分之後,加上 i 或 j 來指定複數的虛 數部分。
>> c1 = 4 + 3i c1 =
4.0000 + 3.0000i
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 8/63
在複數間使⽤關係運算⼦
關係運算⼦ >, > =, < 與 < = 只會比較複數的實數部分。
>> c1 = 4 + 3i; c2 = 3 + 8i;
>> c1 > c2 ans =
1 % 代表敘述式 c1 > c2 是對的 (true)!
較合理的關係運算是比較複數的絕對值
|c| = z = √ a 2 + b 2 的⼤⼩,⽽不是比較複數實部的⼤⼩。
>> compare_abs = [abs(c1), abs(c2)]
compare_abs =
5.0000 8.5440
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
複數函式
MATLAB 包含了許多⽀援複數運算的函式。
這些函式可以分成三種類別:
1
型態轉換函式: real、imag 等函式。
2
絕對值與⾓度函式: abs、angle 等函式。
3
數學函數: 包含了指數函數、對數函數、三⾓函數與平⽅根 函數。例如,MATLAB 的 sin、cos、log、sqrt 等函式也 可以處理複數資料型態。
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 10/63
⼀些⽀援複數資料型態的函式
函式 描述
conj(c) 計算 c 的共軛複數。如果 c = a + bi,
則 conj(c) = a –bi。
real(c) 傳回複數 c 的實數部份 (real part)。
imag(c) 傳回複數 c 的虛數部份 (imaginary part)。
isreal(c) 如果陣列 c 內的元素沒有虛數部分,
則傳回 true 值 (1) 。
abs(c) 傳回複數 c 的絕對值⼤⼩。
angle(c) 由 atan2(imag(c),real(c)) 的式⼦,計算並
傳回複數 c 的⾓度。
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
複數資料的圖形
MATLAB 複數資料的圖形與實數資料的圖形會有些微的不同。
以繪製複數值函數 (complex-valued function)
y(t) = e −0.2t (cos t + i sin t), 0 ≤ t ≤ 4π 的圖形為例。
複數值函數的繪圖 t = 0:pi/20:4*pi;
y = exp(-0.2*t).*(cos(t)+i*sin(t));
plot(t,y,'LineWidth',2);
title(' \bf Plot of Complex Function vs Time');
xlabel(' \bf \it t');
ylabel(' \bf \it y(t)');
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 12/63
範例的繪圖結果 (承上⾴)
Figure: 函式 plot 不能畫出複數值函數的圖形!
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
⽅法⼀: 複數值函數圖形的呈現 t = 0:pi/20:4*pi;
y = exp(-0.2*t).*(cos(t)+i*sin(t));
plot(t,real(y),'b-','LineWidth',2);
hold on;
plot(t,imag(y),'r--','LineWidth',2);
title(' \bf Plot of Complex Function vs Time');
xlabel(' \bf \it t');
ylabel(' \bf \it y(t)');
legend('real part','imag. part');
hold off;
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 14/63
範例的繪圖結果 (承上⾴)
Figure: 在同⼀張圖形中呈現複數值函數的實部和虛部
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
⽅法⼆: 複數值函數圖形的呈現 t = 0:pi/20:4*pi;
y = exp(-0.2*t).*(cos(t)+i*sin(t));
plot(y,'b-','LineWidth',2);
title(' \bf Plot of Phase Portrait (相位圖)');
xlabel(' \bf Real Part');
ylabel(' \bf Imaginary Part');
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 16/63
範例的繪圖結果 (承上⾴)
Figure: 複數值函數的實部對虛部之相位圖
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
⽅法三: 複數值函數圖形的呈現 t = 0:pi/20:4*pi;
y = exp(-0.2*t).*(cos(t)+i*sin(t));
polar(angle(y),abs(y));
title(' \bf Plot of Phase Portrait (極座標圖)');
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 18/63
範例的繪圖結果 (承上⾴)
Figure: 以極座標表⽰複數值函數的相位圖
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
⽅法四: 複數值函數圖形的呈現 (動畫版) t = linspace(0,4*pi,4e4);
y = exp(-0.2*t).*(cos(t)+i*sin(t));
comet(real(y),imag(y));
title(' \bf Plot of Phase Portrait (相位圖動畫版)');
xlabel(' \bf Real Part');
ylabel(' \bf Imaginary Part');
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 20/63
範例的繪圖結果 (承上⾴)
Figure: 複數值函數的實部對虛部之相位圖動畫版
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
Section 8.2 多維陣列
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 22/63
⼆維與三維陣列
陣列的維度多於⼆維,稱為多維陣列。
三維陣來必須以列、⾏與⾴三個維度來描述。
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
三維陣列的建立
1
由⼀維或是⼆維陣列所⽣成。
>> a = [1 2 3 4; 5 6 7 8; 9 10 11 12];
>> a(:,:,2) = zeros(3,4)
% 變數 a 是⼀個 3 × 4 × 2 的陣列。
2
由 MATLAB 內建函式⽣成。
>> b = ones(4,4,2)
>> c = randn(2,2,3)
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 24/63
檢查多維陣列的維度和⼤⼩
函式 ndims: ⽤來取得多維陣列的維度。
>> ndims(c) ans =
3
函式 size: ⽤來取得多維陣列的⼤⼩。
>> size(c) ans =
2 2 3
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
Section 8.3 三維圖形
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 26/63
三維空間曲線的繪圖
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
函式 plot3 的範例 (1/2) t = linspace(0,30,120);
plot3(t.*sin(t),t.*cos(t),t,'-ro');
title(' \bf Plot of 3D Parametric Curve');
xlabel(' \bf x');
ylabel(' \bf y');
zlabel(' \bf z');
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 28/63
範例的繪圖結果 (承上⾴)
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
函式 plot3 的範例 (2/2) t = linspace(0,30,120);
plot3(t.*sin(t),t.*cos(t),t,'-ro',...
t.*sin(t),t.*cos(t),-t,'-bd');
title(' \bf Plot of 3D Parametric Curve');
xlabel(' \bf x');
ylabel(' \bf y');
zlabel(' \bf z');
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 30/63
範例的繪圖結果 (承上⾴)
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
如何繪製函數 z = f(x, y) 的圖形?
對於函數 f(x, y) ⽽⾔,每給⼀組 (x, y),便能計算其函數值 z = f(x, y)。
只要給予 (x, y) 的組數夠多,即可繪出函數的三維曲⾯圖。
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 32/63
描繪三維圖形的步驟
Step 1 建立 x 軸和 y 軸⽅向上的⼆維陣列 xx 與 yy。
直接使⽤宣告式由鍵盤輸入兩陣列的所有元素。
使⽤函式 meshgrid ⾃動⽣成兩陣列。
Step 2 建立 z 軸⽅向上的⼆維陣列 zz。
直接使⽤宣告式由鍵盤輸入陣列 zz 的元素。
由函數 z = f(x, y) 的形式與陣列運算建立⼆維陣列 zz。
Step 3 使⽤內建函式繪製三維圖形和等⾼線圖。
mesh(xx,yy,zz): 產⽣⼀個網格圖 (mesh) 或是線框圖 (wireframe)。
surf(xx,yy,zz): 產⽣⼀個曲⾯圖 (surface)。
contour(xx,yy,zz): 產⽣⼀個等⾼線圖 (contour)。
建議使⽤ title、xlabel、ylabel、zlabel 等函式增加圖
形的可讀性。
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
MATLAB 如何定義這些⼆維陣列? (1/2)
對於 x、y 軸上取樣的網格點 (grid points) 或資料點
x = [x 1 , x 2 , · · · , x n ], y = [y 1 , y 2 , · · · , y m ], MATLAB 定義⼆維陣列 xx 與 yy 具有下列矩陣形式:
xx =
x 1 x 2 · · · x n
x 1 x 2 · · · x n
.. . .. . .. . x 1 x 2 · · · x n
∈ R m × n , yy =
y 1 y 1 · · · y 1
y 2 y 2 · · · y 2
.. . .. . .. . y m y m · · · y m
∈ R m × n
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 34/63
MATLAB 如何定義這些⼆維陣列? (2/2)
因此,與 z 軸⽅向有關的⼆維陣列 zz 應當定義為
zz =
f(x 1 , y 1 ) f(x 2 , y 1 ) · · · f( x n , y 1 ) f(x 1 , y 2 ) f(x 2 , y 2 ) · · · f( x n , y 2 )
.. . .. . .. . f(x 1 , y m ) f(x 2 , y m ) · · · f( x n , y m )
∈ R m × n ,
其中,m 是向量 y 的元素個數且 n 是向量 x 的元素個數。
Note: 使⽤元素對元素的陣列運算和 f 的形式 ,我們可以輕易地
建構⼆維陣列 zz!
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
範例
若考慮在 x = 1, 2, 3, 和 y = 1, 2, 3, 4 點上繪出雙⾃變量函數
z = f(x, y) = √ x 2 + y 2 的圖形, 則 MATLAB 會如何設定陣列 xx 和 yy?
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 36/63
範例的解答 (承上⾴)
>> xx = [1 2 3; 1 2 3; 1 2 3; 1 2 3]
xx =
1 2 3 1 2 3 1 2 3 1 2 3
>> yy = [1 1 1; 2 2 2; 3 3 3; 4 4 4]
yy =
1 1 1
2 2 2
3 3 3
4 4 4
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
使⽤ meshgrid 函式建立陣列
>> vx = 1:3; vy = 1:4;
>> [xx,yy] = meshgrid(vx,vy)
% 輸出⼆維陣列xx 、 yy與上⾴範例的結果相同!
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 38/63
承上例,我們可以畫出 z = f(x, y) 的網格圖:
>> zz = sqrt(xx.ˆ2+yy.ˆ2); % 建立函數值的⼆維陣列 zz
>> mesh(xx,yy,zz)
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
同理,我們也可以畫出 z = f(x, y) 的曲⾯圖:
>> surf(xx,yy,zz)
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 40/63
範例
嘗試在 −4 ≤ x ≤ 4 以及 −3 ≤ y ≤ 3 區間上,設定資料點的取 樣間距為 0.1,繪製函數
z = f(x, y) = e −0.5(x 2 +0.5(x −y) 2 )
的網格圖、曲⾯圖和等⾼線圖。
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
使⽤函式 mesh 的程式碼 (承上例)
[xx,yy] = meshgrid(-4:0.1:4,-3:0.1:3);
zz = exp(-0.5*(xx.ˆ2+0.5*(xx-yy).ˆ2));
mesh(xx,yy,zz);
title(' \bf Mesh Plot');
xlabel(' \bf x');
ylabel(' \bf y');
zlabel(' \bf z');
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 42/63
範例的繪圖結果 (承上⾴)
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
使⽤函式 surf 的程式碼 (承上例)
[xx,yy] = meshgrid(-4:0.1:4,-3:0.1:3);
zz = exp(-0.5*(xx.ˆ2+0.5*(xx-yy).ˆ2));
surf(xx,yy,zz);
title(' \bf Surf Plot');
xlabel(' \bf x');
ylabel(' \bf y');
zlabel(' \bf z');
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 44/63
範例的繪圖結果 (承上⾴)
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
使⽤函式 contour 的程式碼 (承上例) [xx,yy] = meshgrid(-4:0.1:4,-3:0.1:3);
zz = exp(-0.5*(xx.ˆ2+0.5*(xx-yy).ˆ2));
contour(xx,yy,zz);
title(' \bf Contour Plot');
xlabel(' \bf x');
ylabel(' \bf y');
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 46/63
範例的繪圖結果 (承上⾴)
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
函式 meshc 與 waterfall
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 48/63
使⽤函式 waterfall 的程式碼 (承上例) [xx,yy] = meshgrid(-4:0.1:4,-3:0.1:3);
zz = exp(-0.5*(xx.ˆ2+0.5*(xx-yy).ˆ2));
waterfall(xx,yy,zz);
title(' \bf Waterfall Plot');
xlabel(' \bf x');
ylabel(' \bf y');
zlabel(' \bf z');
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
範例的繪圖結果 (承上⾴)
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 50/63
使⽤函式 meshc 的程式碼 x = linspace(-8,8,30);
y = x; [xx,yy] = meshgrid(x,y);
expr = sqrt(xx.ˆ2+yy.ˆ2);
zz = sin(expr)./(expr+eps);
meshc(xx,yy,zz);
title(' \bf Meshc Plot');
xlabel(' \bf x');
ylabel(' \bf y');
zlabel(' \bf z');
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
範例的繪圖結果 (承上⾴)
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 52/63
函式 surf 與 surfc
Note: 若vx 、 vy分別為 x�y 軸資料點所形成的向量,則 mesh(vx,vy,zz)、meshc(vx,vy,zz) 分別和指令 mesh(xx,yy,zz)、meshc(xx,yy,zz) 繪圖效果⼀樣。
surf(vx,vy,zz)、suurfc(vx,vy,zz) 分別和指令
surf(xx,yy,zz)、surfc(xx,yy,zz) 繪圖效果⼀樣。
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
使⽤函式 surfc 的程式碼 (承上例) x = linspace(-8,8,30);
y = x; [xx,yy] = meshgrid(x,y);
expr = sqrt(xx.ˆ2+yy.ˆ2);
zz = sin(expr)./(expr+eps);
surfc(xx,yy,zz);
title(' \bf Surfc Plot');
xlabel(' \bf x');
ylabel(' \bf y');
zlabel(' \bf z');
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 54/63
範例的繪圖結果 (承上⾴)
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
簡易的三維繪圖函式
只要給予函數字串與範圍,下列函式可快速的繪出三維的圖形:
函式 說明
ezmesh('f',[xmin,xmax,ymin,ymax],n) 以 n ×n 個網格點繪出 f 的三維圖形,
若省略 x�y 範圍或 n 值,則預設值是
−2π ≤ x, y ≤ 2π 且 n = 60 ezmeshc('f',[xmin,xmax,ymin,ymax],n) 同上,但圖形下⽅顯⽰等⾼線圖 ezsurf('f',[xmin,xmax,ymin,ymax],n) 同 ezmesh,但網格⾯會塗上顏⾊
ezsurfc('f',[xmin,xmax,ymin,ymax],n) 同上,但圖形下⽅顯⽰等⾼線圖
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 56/63
函式 ezmesh 的範例
>> ezmesh('exp(-0.2*x)*cos(t)',[-pi,2*pi,-2,12],36)
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
函式 ezsurf 的範例
>> ezsurf('yˆ2-xˆ2',36) % z = f(x, y) = y 2 − x 2 的圖形
% 函數圖形是⼀個雙曲拋物⾯ (Hyperbolic Paraboloid)。
% 原點 (0, 0) 是⼀個鞍點 (saddle point)。
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 58/63
雙參數的空間曲⾯
若空間曲⾯上任何⼀點 (x, y, z) 滿⾜下列雙參數⽅程式:
x = f(u, v), y = g(u, v), z = h(u, v),
其中參數區間為 u min ≤ u ≤ u max 和 v min ≤ v ≤ v max ,我們可利
⽤函式 ezsurf 與 ezmesh 輕易地繪出參數曲⾯的圖形。
ezsurf('f','g','h',[umin, umax,vmin,vmax]): 繪製 參數曲⾯圖
ezmesh('f','g','h',[umin, umax,vmin,vmax]): 繪製 參數網格圖
曲⾯透明度可⽤函式alpha(value)調整,其中 value 是介
於 0 到 1 的實數且預設值是 1。
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
單位圓形柱⾯⾯圖
>> ezsurf('cos(u)','sin(u)','v',[0,2*pi,-1e4,1e4])
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 60/63
單位球體的曲⾯圖 (1/2)
>> ezsurf('sin(u)*cos(v)','sin(u)*sin(v)','cos(u)',
[0,pi,0,2*pi])
. . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . .
. .
. . . . .
單位球體的曲⾯圖 (2/2)
>> ezsurf('sin(u)*cos(v)','sin(u)*sin(v)','cos(u)', [0,pi,0,2*pi])
>> alpha(0) % 完全透明的單位球體!
Hung-Yuan Fan (范洪源), Dep. of Math., NTNU, Taiwan Chap. 8, Computer Programming 62/63