三維繪圖

Download Report

Transcript 三維繪圖

MATLAB 程式設計入門篇:三維立體繪圖
練習題

(40%)畫出Rosenbrock function及其等高線圖


f(x, y) = (1 − x)2 + 100(y − x2)2
在x = [-1.5, 1.5], y = [0, 3]之間做圖





兩個方向各取50點以上
等高線圖包含50條以上的等高線
以figure指令開兩張圖(兩個視窗)分別繪製。
提示:修改「以meshgrid搭配mesh」的範例
範例圖如下頁
MATLAB 程式設計入門篇:三維立體繪圖
練習題

畫出Rosenbrock function及其等高線圖
MATLAB 程式設計入門篇:三維立體繪圖
練習題

(60%)畫出莫比烏斯帶


參考:wiki -莫比烏斯帶
提示:先使用以下三行後,再帶入參數式



u = linspace(0,2*pi,50);
v = linspace(-1,1,50);
[u v] = meshgrid(u,v);
MATLAB 程式設計入門篇:三維立體繪圖
練習題參考答案

Rosenbrock:
x = linspace(-1.5, 1.5, 50);
y = linspace(0, 3, 50);
[xx, yy] = meshgrid(x, y);
zz = (1-xx).^2 + 100*(yy-xx.^2).^2;
figure;mesh(xx, yy, zz);
figure;contour(xx,yy,zz,50);
MATLAB 程式設計入門篇:三維立體繪圖
練習題參考答案

莫比烏斯帶:
u = linspace(0,2*pi,50);
v = linspace(-1,1,50);
[u v] = meshgrid(u,v);
x = (1+v.*cos(u/2)).*cos(u);
y = (1+v.*cos(u/2)).*sin(u);
z = v.*sin(u/2);
surf(x,y,z);
shading interp;