用matlab畫一個長方體並且給每面上色的簡單方法?

當我們用matlab畫三維圖形時,我們常常聯想到用一些很酷炫的數學函式去進行作圖,但是很多時候,我們也需要一些很笨的方法來表達我們的想法。畢竟我們的腦海中可能並沒有那麼多優秀的數學函式。

用matlab畫一個長方體並且給每面上色的簡單方法

工具/原料

matlab2014b中文版

電腦

方法/步驟

首先我們開啟matlab,並且開啟一個新建的編輯視窗,如圖所示:

用matlab畫一個長方體並且給每面上色的簡單方法

然後,我們在新建的編輯視窗輸入下面的程式碼,這樣我們可以到下面圖片所示的效果:

clc,clear,clf;x=[0 20 20 0 0 0 0 0 0 0 0 20 20 20 20 20 20 20 0];y=[0 0 0 0 0 0 20 20 0 20 20 20 20 0 0 20 20 20 20];z=[0 0 40 40 0 40 40 0 0 0 40 40 0 0 40 40 0 0 0];plot3(x,y,z,'r');

用matlab畫一個長方體並且給每面上色的簡單方法

此時,我們考慮怎麼在這樣一個長方體中給每一個面上一個顏色呢?此時我們不得不借助matlab的內建函式。輸入下面的程式碼,我們發現果然圖片發生了變化,得到的上色的效果。如圖所示:

hold on;fill3([0 20 20 0],[0 0 0 0],[0 0 40 40],'r');

用matlab畫一個長方體並且給每面上色的簡單方法

然後我們再次進行嘗試,給任意一個面上顏色。然後我們輸入下面的程式碼,結果也可在下圖中見到:

hold on;fill3([0 0 0 0 ],[0 20 20 0],[40 40 0 0],'m');

用matlab畫一個長方體並且給每面上色的簡單方法

當然,我們也可以忽略第二步中的程式碼,直接從第三步驟使用fill3函式。第二部主要是給我們一個立體的概念,方便我們填充顏色。其實並不是必要的。當我們去掉第二部的程式碼時,效果是這樣的:

用matlab畫一個長方體並且給每面上色的簡單方法

然後我們採用和第三四步驟一樣的方法,對每一個面填充顏色。輸入下面的程式碼,可以看到下面的圖片:

hold on;fill3([0 0 20 20 ],[20 20 20 20],[0 40 40 0],'g');hold on;fill3([20 20 20 20 ],[0 0 20 20],[0 40 40 0],'b');hold on;fill3([0 0 20 20 ],[0 20 20 0],[40 40 40 40],'y');hold on;fill3([0 0 20 20 ],[0 20 20 0],[0 0 0 0],'c');

用matlab畫一個長方體並且給每面上色的簡單方法

用matlab畫一個長方體並且給每面上色的簡單方法

最後,我們用三維旋轉的方式,檢視最後的效果。果然是完美的建立了一個長方體,並且我們還進行了上色。當然這是一個空心的長方體。但是他是三維的確定無疑。

用matlab畫一個長方體並且給每面上色的簡單方法

用matlab畫一個長方體並且給每面上色的簡單方法

注意事項

matlab2014b是我目前試用版本,但是這個經驗並不限制在這個版本才能使用

請大家看後,自己琢磨一下別的方法,這個是比較笨的只借助一個函式的方法。

相關問題答案