如何优雅地测量一只猫的体积

阅读更多
原文链接: http://click.aliyun.com/m/24917/
摘要: 如何优雅地测量一只猫的体积,而不使其感到惊恐或受到伤害? ◆ ◆ ◆ 前情提要 Monte Carlo 测猫法: 把猫装进已知体积为V_box的盒子,在盒子内均匀取N个随机点,其中M个在猫体内,猫体积近似为V_box*M/N。


0?wx_fmt=png


如何优雅地测量一只猫的体积,而不使其感到惊恐或受到伤害?


0?wx_fmt=jpeg

0?wx_fmt=jpeg

0?wx_fmt=jpeg





◆ ◆ ◆

前情提要



Monte Carlo 测猫法:



把猫装进已知体积为V_box的盒子,在盒子内均匀取N个随机点,其中M个在猫体内,猫体积近似为V_box*M/N。



推理及讨论见supplemental materials.



0?wx_fmt=jpeg



要实现这一测猫法,需要一种瞬时确定某点是猫还是非猫的方法,否则在猫运动的情况下,会测得猫扫过的体积而不是猫体积。


我决定用下图所示的方法。。。

0?wx_fmt=jpeg



盒子壁上装尽量多的激光灯,盒子壁用感光材料。若要确定某点是猫还是非猫,则让所有激光灯射向目标点。若目标点是猫,则激光会被猫挡住因此盒子壁上任何一点都不会检测到激光。因此我们用以下原则判断目标点是猫非猫:



若有盒子壁上任何一点检测到激光,说明目标点非猫。

否则认为该点是猫。




测量可以在很短的时间内完成,足以快到忽略猫的运动。


============================

当然这种方法是有缺陷的,猫身上一些凹陷部位可能会成为激光无法穿过的死角,因此被算入猫体积。



一个充分不必要的解决方法是让猫变成凸猫(convex cat), 即任取两点属于猫,两点之间的线段上的点都属于猫,满足这一条件的猫叫做凸猫,如下图所示。



0?wx_fmt=jpeg



下图是一个现实生活中凸猫的例子。。(图片来自网络)



0?wx_fmt=jpeg



对于凸猫,该方法测得的猫体积即为真猫体积,证明见supplemental materials中的夹逼测猫法。

但是这种方法是不猫道的,因为猫咪宣言中有这样的话:



We hold these truths to be self-evident, that all cats are created equal (大雾), and they are endowed by their Creator with certain unalienable rights, that among these are the rights to stand up, lie down, turn around, groom themselves and stretch their limbs ...
原文链接: http://click.aliyun.com/m/24917/

你可能感兴趣的:(freemarker,Borland)