操作方法
给定三维空间里面的若干点的坐标。 pts = Partition[Table[RandomReal[10], 108], 3]
画出这些点在空间里面的位置。 Graphics3D[{Green, PointSize -> 0.02, Point[pts]}]
pts其实可以视为列数为3的矩阵: pts // MatrixForm
如果用一个3*2的矩阵A,右乘pts,就会得到一个列数是2的矩阵pt0。 pt0 = pts.A; pt0 // MatrixForm
显然,pt0变成了同一个平面上的点。 Graphics[{Blue, PointSize -> 0.02, Point[pt0]}, Axes -> True] 这其实就是二维打击,把三维空间压缩到平面上的二向箔。
把平面点阵画到三维空间里面: Graphics3D[{Green, PointSize -> 0.02, Point[pts], Blue, PointSize -> 0.02, Point[Join[#, {1}] & /@ pt0]}, Axes -> True]
对应点之间连接箭头: Graphics3D[{Pink, Arrow[Table[{pts[[n]], (Join[#, {1}] & /@ pt0)[[n]]}, {n, 36}]]}, Axes -> True]