这真的是标题
身在北雷村男子技术职业学校,没得一手撩妹的技能,如何在这个竞争极大的市场有的一席之地呢!作为一名有浪漫情调的西电人,今天就教大家一个高端撩妹方式。
心形函数
二维
在网上轻轻松松get到二维心形函数的表达式:
(x^2-1+y^2)^3-x^2*y^3 = 0
我使用的是matlab,当然我知道大佬众多,或者你想用python啊别的啊都行,函数表达式已经给你了。随便操作。matlab代码超级简单,3行搞定(没有对图像进行一系列花里胡哨的操作,感兴趣可以深入了解)。
ezplot('(x^2-1+y^2)^3-x^2*y^3 = 0'); % 心形函数axis([-2 2 -1.6 1.6]); % 设置坐标轴,使得心看起来好看colormap('flag') % 心的颜色:红色
三维红心
心形函数除了可以画二维的,更可以做三维的,表达式:
(x^2+c*y^2+z^2-1)^3-x^2*z^3-c’*y^2*z^3=0
其中c是常数,影响心的扁平程度,c越大,心越扁平。我们先画一个红心。
我使用的函数中,c=9/4,c‘=80/9;
代码如下:
% 设置步长n = 100;x = linspace(-3,3,n);y = linspace(-3,3,n);z = linspace(-3,3,n);[X,Y,Z]=ndgrid(x,y,z); % 坐标系F = ((-(X.^2).*(Z.^3)-(9/80).*(Y.^2).*(Z.^3))+((X.^2)+(9/4).*(Y.^2)+(Z.^2)-1).^3);isosurface(F,0) % 隐函数lighting phong %亮caxis % 颜色映射axis equalcolormap('flag') % 绘图颜色view([55 34]) % 视角控制
三维彩心
心函数不用变,只需要调整一些参数,代码:
step = 0.05; % 设置步长[X,Y,Z] = meshgrid(-3:step:3,-3:step:3,-3:step:3); F = ((-(X.^2).*(Z.^3)-(9/80).*(Y.^2).*(Z.^3))+((X.^2)+(9/4).*(Y.^2)+(Z.^2)-1).^3);p = patch(isosurface(X,Y,Z,F,0,Z)); % 画图set(p,'facecolor','none','EdgeColor','interp');% 参数设置colormap(hsv);daspect([1 1 1 ])view(3)axis tightaxis equalaxis off
学了三种心形的画法了,还不快去给自己喜欢的女孩子安排一波!
记得关注哦,后面可能会有更好玩的代码呀!
文案|张润玉
排版|张润玉
审核|杨文豪 焦永平