MATLAB是MATrix & LABoratory(矩陣實驗室)的縮寫,是一款強大的科學軟件,具有編程、繪圖、仿真等功能。利用MATLAB繪制一款三維的心形圖,然后送給心愛的姑娘,也是理工男撩妹的一項小技能。
工具/材料
MATLAB
三維心形圖
操作方法
01
首先啟動MATLAB,然后通過編輯器-->新建-->腳本,新建一個腳本窗口。
02
在腳本窗口中輸入以下代碼:
close all; clear all; clc
[x,y,z]=meshgrid(linspace(-5,5));
heart3d=(x.^2+(9/4)*y.^2+z.^2-1).^3-x.^2.*z.^3-(9/80)*y.^2.*z.^3;
isosurface(x,y,z,heart3d,0,x);
其中,isosurface是可以畫隱函數等值線或曲面的函數;meshgrid是生成網格采樣點的函數;linspace是創建向量的指令,例如linspace(x1,x2,N)用于創建x1,x2之間的N點行向量,N缺省為100;heart3d=(x.^2+(9/4)*y.^2+z.^2-1).^3-x.^2.*z.^3-(9/80)*y.^2.*z.^3是實現結果(三維心形)的表達式。
03
然后點擊保存(下圖中紅色按鈕)和運行(下圖中藍色按鈕),保存時自行選擇保存路徑和對.m腳本文件命名。命名時注意.m腳本文件的名字不要與代碼中變量的名字相同。
04
點擊運行,彈出繪圖窗口如下,出現一個三維的心形圖。
05
發現上面繪制的圖形不是特別美觀,下面改變繪圖顏色colormap(),進行增亮brighten(),設置光源位置camlight xxx,設置光照模式lighting xxx和進行視角控制view(xx,xx),即在第二步代碼后接著輸入如下代碼:
colormap([1 0 0]);%繪圖顏色紅色
brighten(0.5);%增亮
camlight right;%光源位置
lighting phong;%光照模式
%view(0,0);%視角的控制
其中視覺控制view(xx,xx)可以省略。然后點擊保存和運行,得到如下圖形,明顯漂亮很多。
06
另外,isosurface函數還可以得到等值面的頂點和面,然后調用patch畫出來。即在第五步代碼后接著輸入如下代碼:
figure(2);
heart3dd=isosurface(x,y,z,heart3d,0,x);
patch(heart3dd);
view(0,0);
然后點擊保存和運行,得到下面圖形figure(1)和figure(2)。
好了,以上就是大致內容了,(END)
聲明:該文觀點僅代表作者本人,天晴資訊網系信息發布平臺,僅提供信息存儲空間服務。