来客网

你相信这是条数学曲线吗?

声明:本文转载自 「陈奎孚博客」, 或因排版与篇幅原因进行过编辑,内容未经本站独立核实,不代表本站立场、观点或建议。 如涉及版权问题,请联系我们,核实后立即删除。 [ 免责声明 ]

蝴蝶曲线最初是Temple H.Fay.发现的。曲线有参数式和极坐标两种形式。

文章配图

参数式为

文章配图

文章配图

极坐标形式为

文章配图

Mathematica使用极坐标方式画图非常方便。用代码:

PolarPlot[E^Sin[q] - 2 Cos[4 q] + Sin[(2 q - Pi)/24]^5, {q, 0, 2 Pi}]就可以画出下面的"单薄“的蝴蝶了。

文章配图

如果想让蝴蝶看起来更像回事,那么可以把代码中的极角参数q多转几圈(上图只转了一圈),比如代码PolarPlot[E^Sin[q] - 2 Cos[4 q] + Sin[(2 q - Pi)/24]^5, {q, 0, 20 Pi}]产生了如下效果

文章配图

其实极坐标式的第三项不是很关键,如果把它去掉(代码:PolarPlot[E^Sin[q] - 2 Cos[4 q] , {q, 0, 2 Pi}]),效果如下。它是蝴蝶外形的主框架。

文章配图

第三项在极坐标画图转圈过程,微调极径的长度,使得圈圈不重合,从而蝴蝶的图案得以丰富。其关键是对极径扰动,其扰动周期与2Pi尽量不同步,这样每周的图案都有点差异,实现饱满感。所以第三项不用这么复杂,比如改成Cos[q/11]就实现了如下效果(代码PolarPlot[-E^Sin[q] + 2 Cos[4 q] + Cos[q/11], {q, 0, 20 Pi}])

文章配图

如果想更漂亮一些,可以去坐标轴,可以上色,如代码PolarPlot[E^Sin[q] - 2 Cos[4 q] + Cos[q/11], {q, 0, 20 Pi},  Axes -> False, ColorFunction -> (Hue[#3] &), PlotStyle -> Thick,  ColorFunctionScaling -> False]就得到这样漂亮的蝴蝶。

文章配图

评论 (0)