1. 幻方坐标系的建立

  1. 模仿平面直角坐标系,建立了幻方坐标系

  2. 大、小飞在类似国际象棋的方格盘里运动作出了幻方,为了便于理解和计算,我们模仿笛卡尔的平面直角坐标系,建立了幻方坐标系,参阅图-7:

    ①把直角坐标系XOY顺时针旋转90度,将X轴写成向下的i轴,让Y轴换成向右的j轴。在Ⅰ象限内,从第一行向下数到第n行,从第一列向右数到第n列,正好放置一个n阶方阵,是我们研究的主要部分,称作一个图形

    ②除了第一象限为实以外,另三个象限皆是虚,n行n列图形方框之外是n阶方阵研究和计算的辅助部分。

    ③XOY直角坐标系将平面上的点P与一个实数对(x,y)建立了一一对应关系,而在幻方坐标系内,平面上i行j列的方格(位置)有唯一的二维数组C(i,j)与之对应,尽可以把它看作成一个能放置数字的空篮筐。

    ④直角坐标系是在实数域R内研究的,而幻方坐标系仅限使用于整数集Z中。

    ⑤在直角坐标系中,X轴和Y轴相交于原点O,画在四个象限中的曲线可能会有中心对称及轴对称。而在幻方坐标系内,i轴与j轴相交于首行首格,即M(1,1)格中,Ⅱ、Ⅲ、Ⅳ象限内的图形与Ⅰ象限内的图形成位似对称,可以进行不变方向大小、不破坏以一个图形为单位整体的平移。

     

    表-1:幻方飞法的计算公式

    行标i.

    图-7

    n阶方阵中,以M(i,j)为起点,整数z的位置

    -2

    有转向次数u=z\n

    x=z-u-1

    -1

    y=q(z-u-1)-u

    0

     


    跳跃方向

    下标

    小飞q

    大飞q

    -2

    -1

    0

    1

    3

    4

    5

    n

    n+1

    行标i.

    (i+x) mod n

    (i+2x) mod n

    列标j

    2

    A

    B

    列标j

    (j+y) mod n

    3

    C

    行标i.

    (i-x) mod n

    (i-2x) mod n

    4

    幻方

    列标j

    (j+y) mod n

    5

    行标i.

    (i-x) mod n

    (i-2x) mod n

    列标j

    (j-y) mod n

    n

    行标i.

    (i+x) mod n

    (i+2x) mod n

    n+1

    列标j

    (j-y) mod n

     

    ⑥在直角坐标系中有平面向量,类似的在幻方坐标系内是动作α= (p,q)。α= (p,q)既表示一个方向,更确切说明一个跳跃动作;从始跳格C(x1,y1)跳到终点格C(x2, y2),有

    p= x2-x1,q= y2-y1。即从某一格向下p行,再向右q列,完成动作(p,q),马步(p,q)和转向步β=(u,v)是使用最多的动作,务必滚瓜烂熟,

    对于转向步β,u=0时是横向跳格,v=0时是纵向跳格。

    幻方坐标系可能对矩阵中的运动研究也有作用,并可顺利拓展到三维空间里,对空间的立方格及动作做出相应的定义。

  3. 跳跃方向及相应的计算公式

  4. 将大、小飞放在幻方坐标系内,明显可见跳跃方向的不同,仅是影响行标增量x、列标增量y的正负。如同直角坐标系内的矢量,可以将起点平移到原点一样;我们可以想象跳跃起点在M(1,1)格中,跳进哪个象限,行、列增量前面的符号正好与该象限i,j的符号相同,这是记忆计算公式的一个方法。请细阅表-1:

  5. n阶方阵在幻方坐标系中的平移

①前面所述的加减平移复位法是将某一项从幻方坐标系的辅助部分平移到主要部分的对应位置上,而我们现在论述的是一个图形(n阶方阵的所有项)整体在幻方坐标系中的平移。任何一个平移总可以看作一个纵向平移与一个横向平移的合成,我们着重以纵向平移为例讨论。

②将一个图形向下平移t行,当t是n的整数倍时,是不改变图形大小、方向的位拟平移,情况非常简单不再多叙;当1≤t≤n时,把这个平移过程写成:

z=M(i,j) → C(i+t,j)=z, 1≤i,j≤n 。

z=M(i,j)表示从方阵M的i行j列格中取出数字z,C(i+t,j)=z表示再把数字z放入方阵C的i+t行j列的空格内,为了平移过程更加清楚明白,我们设立了n阶方阵C作为平移的结果;1≤i,j≤n表明以上动作遍及方阵M的所有项。

根据下标对的取模运算,可知n阶方阵M的最下方的t行将依次平移成n阶方阵C上方的到t行;仿佛将n阶方阵M的第n行与第一行粘贴成一个圆筒面,向下平移t行即让这个圆筒面绕轴正向旋转t格,故称此为循环平移。

横向平移可以类似讨论,其过程为:z=M(i,j) → C(i,j+s)=z, 1≤i,j≤n 。

③明显可见,行(列)的循环平移后原在同一行(列)的n项仍旧位于同一行(列)上,而两对角线上的n项都会有所改变!所以一个幻方经过循环平移后,其行、列上幻和仍可保持,但主、副对角线上的n项之和就要另外再计算了。

z=M(i,j) → C(i+t,j)=z → D(i+t,j+s)=z, 1≤i,j≤n 。表示将n阶方阵M的每一项都向下平移t行、再向右平移s列,n阶方阵D是循环平移的最终结果,当然它也遵循以上循环平移的重要性质。