多语言展示
当前在线:1628今日阅读:126今日分享:42

MATLAB学习与使用:如何绘制三维心形图

MATLAB是MATrix & LABoratory(矩阵实验室)的缩写,是一款强大的科学软件,具有编程、绘图、仿真等功能。利用MATLAB绘制一款三维的心形图,然后送给心爱的姑娘,也是理工男撩妹的一项小技能。
工具/原料
1

MATLAB

2

三维心形图

方法/步骤
1

首先启动MATLAB,然后通过编辑器-->新建-->脚本,新建一个脚本窗口。

2

在脚本窗口中输入以下代码: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是实现结果(三维心形)的表达式。

3

然后点击保存(下图中红色按钮)和运行(下图中蓝色按钮),保存时自行选择保存路径和对.m脚本文件命名。命名时注意.m脚本文件的名字不要与代码中变量的名字相同。

4

点击运行,弹出绘图窗口如下,出现一个三维的心形图。

5

发现上面绘制的图形不是特别美观,下面改变绘图颜色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)可以省略。然后点击保存和运行,得到如下图形,明显漂亮很多。

6

另外,isosurface函数还可以得到等值面的顶点和面,然后调用patch画出来。即在第五步代码后接着输入如下代码:figure(2);heart3dd=isosurface(x,y,z,heart3d,0,x);patch(heart3dd);view(0,0);然后点击保存和运行,得到下面图形figure(1)和figure(2)。

推荐信息