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)
声明:该文观点仅代表作者本人,天晴资讯网系信息发布平台,仅提供信息存储空间服务。