情人节特献:有心之函数必然就有分手函数

标签: Brain Storm 函数 Mathematica 图形 恋爱 | 发表时间:2011-02-13 18:20 | 作者:Matrix67 KK
出处:http://www.matrix67.com/blog

    首先,祝大家情人节快乐。不过,对于单身 Geek 来说,情人节或许并不快乐。情人节可以说是各种 Geek 们永久的伤痛了。即使是热爱数学的你,或许看到已经被转发到烂的“心之函数”今日再度走红,心中也会觉得不爽:我们发明出来的 Geek 玩物,竟然都被你们这些非 Geek 人士拿去装 Geek 泡妞用了,最终情人节宅在家里面向显示器编程度过平凡一天的反而还是我们这群 Geek 。

  

    于是乎,“订完全部大床房”、“买光影院单号位”、“扎破所有安全套”等经典段子年年少不了。当然,我也没有闲着。为什么有 Geek 式的爱情祝福,就没有 Geek 式的分手诅咒?我计划着创作一个“分手函数”,它的函数图像是一个裂成两半的心。


    要制造分手函数,首先要有一个等待被恶搞的心形原型。我所选用的原型函数则是 2006 年 5 月 4 日本 Blog 所发文章里的函数(看到五年前的文章真是让我感慨万千啊)。这个函数的形式相当对称美观: 17 x^2 - 16|x|y + 17 y^2 < 225 。用 Mathematica 画出来大概是这样:

  

    这个心形函数的成因非常简单,去掉中间一项的绝对值后你就明白了:

  

    原来,17 x^2 - 16 x y + 17 y^2 < 225 将会画出一个椭圆,因此给 x 加上绝对值,相当于把平面直角坐标系 y 轴右半部分镜像过来,就得到一个大致的心形了。我们的目标,便是要沿着 y 轴方向给这颗心加上一道的裂缝。

    裂缝一般都是锯齿形的。什么函数也是锯齿形的呢?最常用的估计就是三角函数和取余函数了吧。这里,我决定用大家熟知的并且也是相对容易控制的正弦函数来描绘裂缝的形状。考虑二元函数 f(x, y) = x ,由于所有 x 坐标相同的点函数值都一样,它的“等高线图像”就是一条条简单的竖直线,如图所示:

  

    那么,函数 f(x, y) = x + sin(y) 就是对上图中纵坐标为 y 的所有点偏移 sin(y) 的量,也就把一个个带状区域扭成了波浪。

  

    不过,这个波浪似乎还不够剧烈,离我们的“裂缝”要求远了些。我们不妨加大正弦函数的频率:

  

    哇, f(x, y) = x + sin(5 y) 的周期倒是变短了,不过这波动得也太剧烈了一些。看来,我们应该让 x 的变化也稍微剧烈一些,让它能适应 sin(5 y) 的步伐。于是,我把 f(x, y) 改成了 5 x + sin(5 y)

  

    这就有点裂缝的味道了。注意,图里看上去裂缝带有些宽,这无所谓——这只是生成图形中等高线画得比较稀而已。光从无差异曲线的分布形状来看,我们已经实现裂缝效果了。

    但是,怎样把这个裂缝应用到之前的心之函数里呢?注意到心之函数其实是一个不等式 17 x^2 - 16|x|y + 17 y^2 < 225 。如果我们能找一个两侧值小、靠近 y 轴部分陡然增大的波浪形函数 f(x, y) 就好了。把这样的 f(x, y) 加到心之函数上,就相当于给 y 轴附近的一个波浪形范围加上一个大得出奇的值,让不等式左边超过 225 ,出现裂缝状的空缺;同时,这以外的部分 f(x, y) 几乎为 0,该小于 225 的还是小于 225 , 该大于 225 的还是大于 225 ,对心形不会造成任何实质性的影响。

    什么操作能够让一个函数变得两边小到几乎为 0 ,靠近 y 轴的地方陡然增大呢?答案是“绝对值分之一”。

  

    把它应用到之前的 f(x, y) 上(函数也就变成 1/|5 x + sin(5 y)| 了):

  

    哈哈,这个有效果,中间的函数值陡然增大,大到都亮得发白了。

    让我们把这个 f(x, y) 加到心之函数上,也就是说画出不等式 17 x^2 - 16|x|y + 17 y^2 + 1/|5 x + sin(5 y)| < 225 :

  

    咦?怎么没有效果呢?且慢,仔细看图的中间,已经有一些要裂开的痕迹了。我想到了一个可能的原因:裂缝带的函数值还不够大。心形图形是由所有满足 17 x^2 - 16|x|y + 17 y^2 小于 225 的点组成的,但是这些点的函数值并不是刚好 225 ,以至于加上了一个大数后仍然比 225 小。为了扩大裂缝的影响,让我们把 1/|5 x + sin(5 y)| 的分子改成 150 :

  

    让我们祈祷这次裂缝的函数值足以把心形破坏掉吧:

  

    哈哈,这次成功了,裂开的心形!我原创的“分手方程”就此出炉了: 17 x^2 - 16|x|y + 17 y^2 + 150/|5 x + sin(5 y)| < 225 。让我们把这个不等式本身标在图上,方便在网络上传播:

  

    不过,这个分手函数有一些美中不足的地方:它用到了分式运算,不能和已有的部分很好地合并在一起,很容易看出这是由心形函数和裂缝函数拼合而成的,看上去有些平凡。另外,对于某些特殊的取值(比如 x 和 y 都为 0 ),不等式左边有可能因分母为 0 而无意义,虽然在分母上加个很小的常数可以避免,但作为完美主义者我仍然感觉很不爽。

    这个方程有诸多不完美之处,如何构造一个看上去更酷的方程呢?写了这么多我也有些累了,脑子有点不够使了。既然“情侣去死去死团”年年都少不了 Geek 方阵, Geek 恋爱困境似乎百年不能动摇;如何寻找更完美的分手函数,不妨留着我们明年再来讨论。

相关 [情人节 函数 分手] 推荐:

情人节特献:有心之函数必然就有分手函数

- KK - Matrix67: My Blog
    首先,祝大家情人节快乐. 不过,对于单身 Geek 来说,情人节或许并不快乐. 情人节可以说是各种 Geek 们永久的伤痛了. 即使是热爱数学的你,或许看到已经被转发到烂的“心之函数”今日再度走红,心中也会觉得不爽:我们发明出来的 Geek 玩物,竟然都被你们这些非 Geek 人士拿去装 Geek 泡妞用了,最终情人节宅在家里面向显示器编程度过平凡一天的反而还是我们这群 Geek.

情人节玫瑰

- Billy - 译言-每日精品译文推荐
 她叫Rose,玫瑰花的意思,她最爱的也是红色玫瑰花. 丈夫每年都会送她一束红玫瑰,扎着漂亮的蝴蝶结. 那一年丈夫去世了,花店仍然送来一束红玫瑰,上面的卡片上写着“你是我深爱的人”,和往年一样. 丈夫每年都送她玫瑰花,卡片上也照旧写着“今年比去年今天更爱你. 他知道这是最后一次收到他送的花了. 她想,亲爱的丈夫一定是提前订了玫瑰花,在他还不知道自己就要离开这个世界的时候.

情人节的问候的说XDDD

- Rainman - 怪奇文芸見世物小屋
今天是一部分人甜甜蜜蜜一部分人哭天抢地的情人节的说XD,这样该被诅咒的日子里CHA研是完全没有气力更新了……. 所以就由一直在寂寞地经营着豆瓣上的《CHARGEMAN研. 》小组 的唔嗯君来为大家带来这一篇情人节的问候吧XDDD. 我              是       治        愈       系      的       分       割              线.

剧情函数库

- SourBell - 学而时嘻之
(《新知客》,2010年10月). 著名物理学家徐一鸿先生在《可怕的对称》这本书中谈到对称性群的时候提到一个很有意思的笑话. 有一个客人随他的朋友参加一个笑话俱乐部的聚会. 另一个站起来叫道,“S—5”,引得所有的人都笑了起来. 这个迷惑不解的客人问道,这是怎么回事. 他的朋友解释道:“所有可能的笑话,当然不能计细小的差别,都已经被归类编上号了,我们心里都知道这些编号指的是什么.

函数图像(二)

- DreamToTrue - C++博客-λ-calculus(惊愕到手了欧耶)
    今天终于把雏形给做出来了. 主要的方法是牛顿迭代法,把屏幕上的所有点都收敛到函数图像上面. 为了提速,我是用了ThreadTool.QueueUserWorkItem和Parallel.For,还把那颗函数的语法树用Linq.Expression编译成了机器码. 下面的这些图都是二十秒钟左右就可以画出来的了.

Oracle函数介绍

- - CSDN博客数据库推荐文章
在SQL中有两种函数一种是单行函数,一种是多行函数.在sql与pl/sql中都自带了很多类型的函数,比如有字符、数字、日期、转换和混合型等多种函数用于处理单行数据,因此这些都被称为单行函数.这些函数都可以被用于select、where和oder by等子句中.下面我们就来分析单行函数,在这里我列举了oracle中一些常用的单行函数进行操作.希望你所有收获:.

MySql常用函数

- - CSDN博客数据库推荐文章
MySql函数众多,这里只是列举了一部分常用的函数. ABS(x)                                         // 返回x的绝对值. BIN(x)            //返回x的二进制(OCT返回八进制,HEX返回十六进制). CEILING(x)                                 //返回大于x的最小整数值.

小清新的七夕 不一样的情人节

- Yosef - 每日鲜果精选
有没有想过小清新的七夕会是什么样的呢. 如今,小清新成为了一种品质精神、生活态度,在我们的生活中时刻蔓延,并幻化成不同的模样. 我想,小清新的七夕能在中国传统节日的基础上多几分洋气. 七夕早起或晚睡前的时候和自己喜欢的人听听小清新,定会有不少美妙的收获. 如果再文艺点,就将小清新进行到底. 从着装到歌曲,从吃的到玩的,让小清新的风弥漫整个七夕.

情人节暴强状态!高手藏于民间!!

- JinGerR - 乐淘吧
1.刚刚闲着没事干,查了一下,2月14号这一天,7天,如家,汉庭,莫泰,格林豪泰,佳宜,锦江之星,速八,济南全满各店大床房全满. 全国几个大城市范围内预订率为96.4%.. 2.今晚所有的宾馆会爆满,又有无数少女失贞. 高兴的是,床上躺的是别人的未来老婆. 悲剧的是,你未来的老婆不知道在谁床上躺着.

大陆/香港/台湾 doodle:七夕情人节快乐 2011

- cindykk - 谷奥——探寻谷歌的奥秘
图片URL:http://www.google.com.hk/logos/2011/china_valentines_day-2011-hp.jpg. 七夕节的形成与民间流传的牛郎与织女的故事有关,它最早可以渊源可能在春秋战国时期,如《诗经·大东》:“跤彼织女,终日七襄. 虽则七襄,不成服章;睨彼牵牛,不认服箱.