三维旋转心形图(matlab 含源码及注释)

一、二维心形线

(1)笛卡尔心形线,分为开口向左、右、上、下的四种。可用极坐标方程画图,在此不做演示。读者感兴趣或需要可自行百度查找。

(2)第二种心形线

方程:

实现代码:

ezplot('(x^2 + y^2 - 1)^3 = x^2*y^3',[-2,2,-2,2])

 (3)桃心形线

参数方程:

实现代码:

t=0:0.1:2*pi;
x=16 * (sin(t)).^3;
y=13 * cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
plot(x,y,'r');

 (4)等等等,感兴趣的同学可以去自行搜索

二、三维旋转心形图

        了解了这么多二维的心形线,那么我们自然会想,是否可以画出三维的心形图形呢。答案当然是肯定的。,该三元方程如下。

         此时三维心形图已经画出,接下来我们可以将此三维图进行旋转处理。我使用的方法是使用for循环,每个一定时间旋转一定的角度,实现旋转。

 实现代码:

f=@(x,y,z)(x.^2 + (9./4).* y.^2 + z.^2 - 1).^3 - x.^2. * z.^3 - (9./80).* y.^2. * z.^3;  %方程
[x,y,z]=meshgrid(linspace(-2,2));
fun=f(x,y,z);
isosurface(x,y,z,fun,0);                %绘制三维隐函数图像函数
axis equal;                                   %将横轴纵轴的定标系数设成相同值,即刻度等长
view(3);                                        %设置默认的三维视角
colormap([1 0.1 0.1])                   %设置指定颜色图的图窗坐标区

for i=0:1:360                                %设置循环进行旋转
    view(sin(i),cos(i))                     %前者是角度,后者是仰视角
    view(i,20);
    pause(0.02);
end

实现效果在此不做演示,能转就完了,哈哈。

创作不易,如果该文章对您有所帮助,请留下宝贵一赞,如有问题可私信。谢谢!

  • 18
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值