在科幻小说里面,有一个著名的幻想,就是把三维世界压缩到空间里面的二向箔,又称为二维打击。然而,在数学上,这个现象,是可以实现的。下面,我就演示给大家看。
工具/原料
1
电脑
2
Mathematica
方法/步骤
1
给定三维空间里面的若干点的坐标。pts = Partition[Table[RandomReal[10], 108], 3]
2
画出这些点在空间里面的位置。Graphics3D[{Green, PointSize -> 0.02, Point[pts]}]
3
pts其实可以视为列数为3的矩阵:pts // MatrixForm
4
如果用一个3*2的矩阵A,右乘pts,就会得到一个列数是2的矩阵pt0。pt0 = pts.A;pt0 // MatrixForm
6
把平面点阵画到三维空间里面:Graphics3D[{Green, PointSize -> 0.02, Point[pts], Blue, PointSize -> 0.02, Point[Join[#, {1}] & /@ pt0]}, Axes -> True]
7
对应点之间连接箭头:Graphics3D[{Pink, Arrow[Table[{pts[[n]], (Join[#, {1}] & /@ pt0)[[n]]}, {n, 36}]]}, Axes -> True]
注意事项
其实,科学离不开数学,科幻也要和数学相联系,否则就是毫无科学根据的幻想。
下一篇:头脑王者来挑战第四赛季第二期