蝴蝶曲线最初是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)