一个与球内接多面体体积有关的问题

    在所有周长相等的长方形中,正方形拥有最大的面积;在所有周长相等的平面图形中,圆拥有最大的面积;在所有表面积相等的长方体中,正方体拥有最大的体积;在所有表面积相等的立体图形中,球拥有最大的体积。所有这类问题的答案都是越对称的图形越好吗? George Pólya 在 Mathematical Discovery 一书中的第 15 章里举了下面这个例子。

    在给定圆周上选取四个点构成一个四边形,那么正方形的面积一定是最大的吗?答案是肯定的。只要有哪个点不在相邻两点之间的圆弧的中点处,我们都可以把它移动到这段圆弧的中点处,使得整个图形的面积变得更大。好了,我们现在的问题是,在球面上选取八个点构成一个顶点数为 8 的多面体,那么正方体一定是体积最大的吗?

Read more…

线性代数的妙用:怎样在Windows画图软件中实现28度旋转?

    在早期的小型图像编辑软件中,考虑到时间空间的限制,再加上算法本身的难度,很多看似非常简单的功能都无法实现。比如说,很多图像编辑软件只允许用户把所选的内容旋转 90 度、 180 度或者 270 度,不支持任意度数的旋转。毕竟,如果我们只是旋转 90 度的整数倍,那么所有像素仅仅是在做某些有规律的轮换,这甚至不需要额外的内存空间就能完成。但是,如果旋转别的度数,那么在采样和反锯齿等方面都将会有不小的挑战。

    不过, Windows 自带的画图软件聪明地用 skew 功能(中文版翻译成“扭曲”)部分地填补了无法自由变形的缺陷。随便选中图中的一块区域,再在菜单栏上选择“图像”→“拉伸/扭曲”,然后在“水平扭曲”那儿填写一个 -89 到 89 之间的整数(表示一个角度值),再按一下确定,于是整个图形就会像下图所示的那样被拉斜,其中 θ 就是你刚才填的度数。如果你填入的 θ 是负数值,则倾斜的方向会与下图方向相反。类似地,“垂直扭曲”功能会在竖直方向上对图形进行拉扯,如果角度值为正数,则整个图形会变得左低右高,如果角度值为负数,则整个图形会变得左高右低。

      

    不过,这玩意儿对于我们来说似乎完全没用。估计 99% 的人在使用画图软件的时候就从来没用过这个功能吧。如果真是这样,那么今天的问题恐怕将会是大家最近一段时间见过的最有趣的问题了:想办法利用 Windows 画图中的扭曲功能(近似地)实现 28 度旋转。

Read more…

动画演示:Euler线定理的直观理解

    任意一个三角形的三条中线都会交于一点,这个点就叫做三角形的“重心”。任意一个三角形的三条高都会交于一点,这个点就叫做三角形的“垂心”。任意一个三角形三边的垂直平分线都会交于一点,这个点就叫做三角形的“外心”。 1765 年,大数学家 Euler 指出:任意一个三角形的重心、垂心和外心都在一条直线上,并且重心会把垂心和外心的连线分成 2 : 1 两段。这个结论虽然有很多很漂亮的证明,但作为一个非常基本的结论,它还有一种非常直观的解释方法。最近在做一个课件的时候,需要用到这种直观理解的动画演示,结果在网上找了半天也没找到,最终决定自己做了一个。

      

    上图中,红色的点是三角形三条高的交点,也就是垂心;蓝色的点是三角形三条中线的交点,也就是重心。现在,把整个三角形绕着重心旋转 180 度,同时以重心为中心把图形缩小到原来的一半。于是,每个点都会跑到重心的正对面去,同时到重心的距离也会缩短到原来的一半。你会发现,由此得到的小三角形,三个顶点都在大三角形各边的中点处(因为它们是大三角形的顶点转过来得到的,而重心在各中线的 2 : 1 处);同时,小三角形的三条高分别与大三角形的各边垂直(因为它们是大三角形的高转了 180 度得到的)。你会发现,小三角形的垂心正好就是大三角形的外心!而小三角形的垂心就是由大三角形的垂心转过来得到的,这两个点与重心应该在一条线上,并且到重心的距离有 1 : 2 的关系。这样一来,我们就相当于证明了 Euler 线定理。

为什么Fibonacci数列相邻两项之比会趋于0.618?

    你或许熟知一个非常经典的结论: Fibonacci 数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, … (头两项都是 1 ,此后每一项都是前两项之和)的相邻两项之比将会越来越接近黄金比例 0.618 ,不信请看:

      1 / 1 = 1.0000000…
      1 / 2 = 0.50000000…
      2 / 3 = 0.66666667…
      3 / 5 = 0.60000000…
      5 / 8 = 0.62500000…
      8 / 13 = 0.61538462…
      13 / 21 = 0.61904762…
      21 / 34 = 0.61764706…
      34 / 55 = 0.61818182…
      55 / 89 = 0.61797753…
      89 / 144 = 0.61805556…
      144 / 233 = 0.61802575…
      … …

    Fibonacci 数列究竟是怎么和黄金比例扯上关系的?一个简单的解释就是,假设相邻两项之比存在一个极限,那么到了无穷远的时候,连续的三个数 a, b, a + b 将会满足 a / b = b / (a + b) ,这正好就是黄金比例的定义。我最近用 Mathematica 做了一组动画,尝试着用图形化的方法更直观地展示 Fibonacci 数列和黄金比例之间的联系。

Read more…

用相同的面组成多面体,凸多面体不一定会更大

    有这么两个八面体,它们是由一组相同的三角形面组成的,不过一个是凸多面体,一个是凹多面体。这两个多面体的体积哪个更大?

    不可思议的是,真的就有这么两个八面体,凹的那个比凸的那个更大一些。 2002 年, S. N. Mikhalev 首次发现了这样一对八面体,其中凸多面体的六个顶点分别为

N(0, 0, 1),A(10, 1, 0),B(0, 6, 0),C(-10, 1, 0),D(0, -10, 0),S(0, 0, -1)

    凹多面体的六个顶点则为

N(0, 0, √61/3),A(√71, 4√2/3, 0),B(0, -5√2/3, 0),C(-√71, 4√2/3, 0),D(0, -11√2/3, 0),S(0, 0, -√61/3)

Read more…