舒兵的教师节礼物 —— Tupper’s self-referential formula 使用实测

Tupper's self-referential formula(图片来源:wikipedia

教师节那天中午vIstaswx跑过来跟我讲教师节要送给舒兵(怎么又是舒兵= =)一个图像是”SB”的函数,然后把 Tupper’s self-referential formula 丢给了我。我们首先确定了其中的k值是一段二进制数据,只是排列方式未知,所以首先开始找出这个函数的工作原理:

根据观察,原函数中三次出现的”17″便是图像的高(h);

x·2^(-n)的意思是对x(二进制)右移n位(带小数);

原函数右侧的值域是[0,1)。因此”1/2 < f(x,y)"的意思也就是"1 = round(f(x, y))",而结合上一条综合来看也就是x向右偏移n位(不带小数)后是个奇数,也就是最后一位是 1 ;

“n = x^h + mod(y, h)”也就是说,x每增加1这个偏移量就增加h,而在每个h内y每增加1这个偏移量就增加1. 这就意味着,那个被偏移的数是以h为一个单位,(x, y)对应着”第x个h内的第y个bit”.

综上所述,k/h的二进制写法从右至左分别代表着(列从左至右,行从下至上)”第1列第1行;第1列第2行;第1列第3行;……;第2列第1行;第2列第2行;……”.

由此推断,如果要写”SB”的话,h = 5,k = BIN(01010101011111100000101101010101101) * DEC(5) = DEC(57372951905). 可以去 wolframalpha 查看效果浏览图.

倒是至今舒兵还没有对这个函数作出任何一句评价让我觉得很伤心..

发表评论?

6 条评论。

  1. 我看得出来你做的还蛮辛苦的。

  2. 矮油碉堡了有没有.话说某些个函数还是第一次见.勉强也看不太懂真是抱歉了

  3. 微博登上了真方便.还有啊,上面那串二进制数字打错了个数.第八位,就是图像上右往左数第二列第三行应该是个1.

  4. 搜Tupper’s self-referential formula的时候看到这个……太牛了!

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">