Batman 方程

暗夜中 Batman 那凌厉的展翼蝙蝠图案……怎么用数学方程来描述?

StackExchange 的 Math 部分有人问了上面那个问题 Is this Batman equation for real?,嘻嘻,我觉得国内高中数学课程可以解决这个问题—-至少解决部分。

当然我们的共识是,Batman 那图章并无一个严格的标准图形,对观众来说,只要主要的元素和比例差不多,是都算数的。问问题的哥们展示了如下手稿,说有人声称是能画出图中 batman logo 的方程。

这哥们太懒了,也不直接上方程。回帖中有雷锋在 pastbin 上贴了写好的方程,我很荣幸地知会诸位,上述方程会让 wolframalpha.com 超时,所以我转向了正规军 Mathematica,可惜学艺不精,玩得不熟,总是报错。原帖上倒是有人用 Maple 画好了。

这就是那个方程:
((x/7)2 Sqrt[Abs[Abs[x] – 3]/(Abs[x] – 3)] + (y/3)2 Sqrt[Abs[y + (3 Sqrt[33])/7]/(y + (3 Sqrt[33])/7)] – 1) (Abs[x/2] – ((3 Sqrt[33] – 7)/112) x2 – 3 + Sqrt[1 - (Abs[Abs[x] – 2] – 1)2 ] – y) (9 Sqrt[Abs[(Abs[x] – 1) (Abs[x] – 3/4)]/((1 – Abs[x]) (Abs[x] – 3/4))] – 8 Abs[x] – y) (3 Abs[x] + .75 Sqrt[Abs[(Abs[x] – 3/4) (Abs[x] – 1/2)]/((3/4 – Abs[x]) (Abs[x] – 1/2))] – y) (9/4 Sqrt[Abs[(x - 1/2) (x + 1/2)]/((1/2 – x) (1/2 + x))] – y) ((6 Sqrt[10])/7 + (3/2 – Abs[x]/2) Sqrt[Abs[Abs[x] – 1]/(Abs[x] – 1)] – (6 Sqrt[10])/14 Sqrt[4 - (Abs[x] – 1)2 ] – y) == 0

前面没有画出自然是不能甘心的,今日又看到有哥们更新总结如下:
pl1 = ContourPlot[((x/7)^2 + (y/3)^2 - 1) == 0, {x, -8, 8}, {y, -5, 5}, RegionFunction -> ((Abs[#1] > 3 && #2 > -(3 Sqrt[33])/7) &)]
pl2 = ContourPlot[(Abs[x/2] – ((3 Sqrt[33] – 7)/112) x^2 – 3 + Sqrt[1 - (Abs[Abs[x] – 2] – 1)^2] – y) == 0, {x, -7, 7}, {y, -3, 3}]
pl3 = ContourPlot[(9 - 8 Abs[x] – y) == 0, {x, -7, 7}, {y, -3, 3}, RegionFunction -> ((3/4 < Abs[#] < 1) &)]
pl4 = ContourPlot[(3 Abs[x] + 3/4 - y) == 0, {x, -7, 7}, {y, -3, 3}, RegionFunction -> ((1/2 < Abs[#1] < 3/4) &)]
pl5 = ContourPlot[(9/4 - y) == 0 , {x, -7, 7}, {y, -3, 3}, RegionFunction -> ((Abs[#1] < 1/2) &)]
pl6 = ContourPlot[((6 Sqrt[10])/ 7 + (3/2 - Abs[x]/2) - (6 Sqrt[10])/14 Sqrt[ 4 - (Abs[x] - 1)^2] - y) == 0 , {x, -7, 7}, {y, -3, 3}, RegionFunction -> ((Abs[#1] > 1) &)]

Show[{pl1, pl2, pl3, pl4, pl5, pl6}]

赶紧复制粘贴,写过很好 :-)

画出的最终结果是

有点紧,不过是那个样子。

One thought on “Batman 方程

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>