hubo5563 发表于 2024-4-14 08:42:33

球面切割魔方Java助手说明书

本帖最后由 hubo5563 于 2024-4-17 08:50 编辑

          球面切割魔方Java助手说明书
          球面切割魔方Java助手是我经历了3年才推出的魔方辅助破解和设计的软件。它不同与过去的魔方Java助手。过去的Java助手都是针对一类魔方设计的,这个是用户可以定义魔方外形,用户可以定义转动切割轴,用户可以定义用来切割魔方面的属性,定义转动轴的属性,用户可以定义切割方式。用它可以设计魔方外形,可以设计不同切割的虚拟魔方。
      可以从魔方吧任意状态下网页的最顶部的菜单栏里的工具栏的最后一项《球面切割魔方Java助手》菜单进入,也可以从倒数第三项菜单,《胡波系列Java助手》的第一个进入。进入后界面如下:
      界面如下:

  1:主显示区  显示魔方动画,显示魔方未切割块,显示输出代码等
      2:预定切割   预定的106种切割方式
      3:魔方外形    预定的59种魔方外形
      4:线条           魔方显示时有线条或无线条
      5:切割参数    自定切割参数,在三楼详细说明
      6:外形参数    自定外形参数,在四楼详细说明
      7:面性质        7种面性质,只对预定外形起作用
      8:模式           颜色模式 F9键可编辑魔方各个块的颜色
                            形状模式  F9键可轮流切换主显示区的显示模式
      9:自定去除块  不要的魔方块可去掉,例如空心魔方
      10:自定面修饰  魔方外形增加锥体、台体、对偶锥体、对偶台体 详细说明在八楼
      11:转动速度    控制魔方转动速度的参数
      12:提交按钮   
      13:自定切割序列   另一种切割魔方的方式,可切出捆绑魔方
      14:初始化序列    常规框
      15:待执行序列    常规框
      16:自定义公式    常规框
      17:可选参数       常规框
      18:输出框           常规框

      魔方外形预定义了59种常见对称多面体,包括正多面体,半正多面体,卡塔兰多面体,截角卡塔兰体等。这些立体外形都可以设计成平面、小凹面、大凹面、小凸面,中凸面、大凸面和球面七种方式。这些立体本质上是根据定义数据做出来的,只是把他们的定义数据存到程序里了。59种常见多面体可在Java工具的《魔方外形》选框内查看和选择。
      软件预定义了常用切割方式106种,这些数据转动切割方式也是和自定义切割方式一样的数据格式,只是预先保存到程序里了。预定义切割都用的是平面,并且层数固定。106种常用切割方式在《预定切割》选框内查看和选择。
      软件支持Bram魔方,有内设的227种外形。
       软件支持Bram魔方,有内设的227种转动轴,每种转动轴的切割层,以及每层的切割深度和切割面属性用户可以定义。
       除了这些预定义的外形和切割方式,用户可以通过Java助手自己设计自己的魔方外形,和切割方式。实际上每种轴可以自己定义切割层1到3层,每层可以用平面和半径不同的球面切割,可以用凸球面切割也可以用凹球面切割。切割转动轴与魔方外形是独立的,一种切割转动轴可以用在任意外形上,例如:普通七阶魔方用在正方体上就是普通七阶魔方,用到凹面的四角化六面体就是如下的魔方。
      本软件鼠标点击和原来的有一点不同,鼠标左键点击逆时针转动,右键点击顺时针转动,直接点击转动外层,加上上档键转动12层,加上Ctrl键转动123层。这和手动转动一致,手动转魔方也是一次转多层的。原来的软件加上上档键转动第二层,加上Ctrl键转动12层。
      本软件除了支持正常切割外,还支持魔中魔切割,可以定义每个魔中魔的面属性。最多可以支持3个圈的魔中魔切割。可以支持太阳花魔方的切割,太阳花魔方与普通切割不同就是节点多一倍。支持华丽魔方切割,支持子母魔方切割。
      本软件具有输出obj格式的数据功能。obj格式的文件是3d软件的标准文件,现行的多数3d软件都支持obj文件的导入。因此,本软件增加了obj格式数据的输出。可以输出魔方外形的obj数据,也可以输出任意一个魔方块的obj数据。把它复制到记事本中,保存成obj后缀的文件即可。这里有我调试程序时输出的几个obj文件,下载后解压到一个文件夹里,可以用Windows10自带的3d查看软件看到效果。obj文件的用途很多,可以作为建模软件的初始文件,可以在一些程序中使用。下面是Windows10自带的3D软件的截图:
凸面正方体:




Bram564外形:





下面是我调试程序输出的几个obj文件的压缩文件,下载后解压到一个目录即可用3D软件查看。




hubo5563 发表于 2024-4-14 08:50:25

本帖最后由 hubo5563 于 2024-4-14 11:13 编辑

      Java助手主框显示方式有4种,第一种正常魔方动画,第二种显示没有切割的魔方,第三种显示魔方的单块,第四种显示魔方一组相似块。当界面的《模式》选择《形状》时,由F9键轮流切换。当《模式》选择《颜色》时,F9键和原来的一样,进入颜色编辑状态,操作也一样。
      当处在第一种正常魔方动画方式,除F9键之外,其他功能键与原来的一致。
      F1:帮助信息
      F2:退出文本态回到魔方状态
      F3:显示点击的步骤
      F4:显示初始化序列步骤
      F5:显示论坛代码
      F6:显示html代码
      F7:显示其他参数
      F8:同F2
       当处在第二种显示没有切割的魔方状态,功能键如下:
       F1:帮助信息
       F2:退出文本态回到魔方状态
       F3:显示魔方外形参数
       F4:显示魔方各个转动轴参数
       F7:显示魔方外形参数的OBJ格式的数据,可以按CtrL+a键,把它全选,再Ctrl+c键把它复制下来,再粘贴到Windows的记事本里,把它保存成扩展名为obj的文件,就是通用的3D软件文件。这样的文件可以导入到其他3D建模软件中,也可以在程序中使用。
       F9:键轮流切换显示模式
      当处在第三种显示魔方的单块状态,功能键如下:
       F1:帮助信息
       F2:退出文本态回到魔方状态
       F3:显示当前显示块的外形参数
       F5:显示前一块
       F6:显示后一块
       F7:显示当前显示快的外形参数的OBJ格式的数据。
       F9:键轮流切换显示模式
       当处在第四种显示魔方一组相似块状态,功能键如下:
        F1:帮助信息
        F2:退出文本态回到魔方状态
        F3:显示当前显示块族序号,你可以记录下该序号,把同样块的所有序号记录后,可以移除这些块,来定义空心魔方等。
      

hubo5563 发表于 2024-4-14 09:04:27

本帖最后由 hubo5563 于 2024-4-14 21:53 编辑

     通常的魔方仿真软件以魔方为主,包括外形和切割,切割和魔方相对应,切割和外形是一体的。本软件的切割轴和外形是独立的,这样不同切割在不同外形下呈现不同的魔方,能方便看到不同外形的等价魔方是很有趣的。
例如:

正方体只转上面四个角的转角魔方:


1
7
0
6
UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;ULB';UFL';URF';UBR';ULB';UFL';URF';UBR';ULB';UFL';URF';UBR';
99d658
f3a0e2



等价的八面体魔方


2
7
4
6
UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;ULB';UFL';URF';UBR';ULB';UFL';URF';UBR';ULB';UFL';URF';UBR';
99d658
f3a0e2




等价的四角化六面体魔方


12
7
0
6
UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;UFL;ULB;UBR;URF;ULB';UFL';URF';UBR';ULB';UFL';URF';UBR';ULB';UFL';URF';UBR';
99d658
f3a0e2


形状不同,但切割相同,出来的魔方外形不同的。

著名的捆绑魔方Bicube魔方:


1
1
0
6
f2;r;R;U';L;U2;R';U;F';L';U';F;R;U;L;F;U';F';U';F2;
99d658
f3a0e2




等价的八面体魔方:


2
1
0
6
f2;r;R;U';L;U2;R';U;F';L';U';F;R;U;L;F;U';F';U';F2;
99d658
f3a0e2



等价的菱形十二面体魔方


8
1
0
6
f2;r;R;U';L;U2;R';U;F';L';U';F;R;U;L;F;U';F';U';F2;
99d658
f3a0e2


以上三个魔方等价的,你看不是很有趣。

hubo5563 发表于 2024-4-14 09:15:45

本帖最后由 hubo5563 于 2024-4-15 09:24 编辑



空间对称群的种类和软件的转动轴的分类
标准轴
根据数学理论,空间有限的完全对称的变换群只有四类:
1:四面体对称群,
2:正方体对称群,
3:正十二面体对称群,
4:二面体对称群。

        魔方的设计大都是基于这些群设计的转动轴和转动面。
      上面的对称群实际上对三维空间点都是对称的,他的范围是无限大空间。另外,在局部有限尺度范围内,还有其他类型的有限对称群,不是全空间的对称群,Bram切割就是一种。除了以上四类全空间的对称群,在加上Bram切割算是5大类。
我这里也是根据这个设计的转动轴和切割方式,外形也是基于这些对称群设计的。因此我把轴和外形都设计成5大类。为编程方便,共设六类。下面分别介绍。
大类:
0-四面体切割群
1-正方体切割群
2-五魔方切割群
3-二面体对称群
外形类型:4-我设计的多面体
切割类型:4-五魔方和正方体魔方的二轴魔方
5-Bram魔方

大类0-2的小类表
小类:
大类0-四面体切割群的小类:
   0-四面体(转面)
   1-四面体(转角)
   2-正方体(转棱)
   3-三角化四面体(卡塔兰)
   4-菱形十二面体,卡塔兰
   5-小斜五魔方
   6-小斜五魔方
   7-正十二面体部分
   8 -大斜五魔方
   9-可截成正二十面体
   10-10可截成正二十面体
   11-二十二面体部分面
   12-等边
   13-截角菱形十二面体
   14-十六面体
   15-正二十面体
   16 -大斜五魔方
大类1-正方体切割群的小类:
   0-正方体转面
   1-正方体转角
   2-正方体转棱
   3-四角化六面体(卡塔兰体)
   4-鸢形24面体 (卡塔兰体)
   5-五角24面体1
   6-五角24面体2
   7-三角化八面体(卡塔兰体)
   8-六角化八面体(卡塔兰体)前
   9-六角化八面体(卡塔兰体)后
大类2-五魔方切割群的小类
   0-正十二面体转面
   1-正十二面体转角
   2-正十二面体转棱
   3-五角化十二面体,卡塔兰体
   4-鸢形60面体,卡塔兰体
   5-五角60面体1
   6-五角60面体2
   7-三角化二十面体
   8-六角化二十面体(卡塔兰体)前
   9-六角化二十面体(卡塔兰体)后

hubo5563 发表于 2024-4-14 09:42:36

本帖最后由 hubo5563 于 2024-4-21 15:05 编辑

       切割参数的详细说明

      这里的切割参数是Java助手里的《切割参数》,对应小应用程序的参数:Slice

       这个参数是构造自定义轴和切割平面的,与魔方外形无关,但是实现必须有外形。最好外形选择一致。

            这个参数可以为空,当这个参数为空时,切割采用预定切割。即《预定切割》的参数起作用。预定切割有106种,可以用预定切割设置轴的类型和切割面。这个参数不为空时,必须遵守这里规定的数据格式输入有效参数。当参数格式不对或数据大小不对,将出现错误状态。

下面数据结构中的大括号和中括号实际数据中并不存在,这里只表示重复项。

切割参数:0,1,2
                0:四面体对称群切割类
                1:正方体对称群切割类
                2:正十二面体对称群切割类
          数据结构:l,n,{m,k,,sx,};
         l---大类,
         n---轴类数,
         m---小类,
         k=切割层数,
         u---深度,
         r----半径
         sx---附加属性
         
          其中:大类l只能是0,1,2  三个数之一,如楼上所述。
          轴类数n,是指这个切割中,有几种轴,可以有1,2,3这3种选择。
                         紧接着大括号里是重复内容,重复次数就是轴类数n。
          小类m,如楼上所述。
          切割层数k,就是这种轴切割的层数,可以有1,2,3这三种选择。
                         紧接着中括号里是重复内容,重复次数就是切割层数k。
          深度u,就是切割深度,0.0001到1.5之间任意实数,但是不能大于魔方外形,不然就切不到任何东西,形不成转动层。
          半径r,切割球面半径,
                    为0,代表切割面是平面;
                    正数代表切割面向外凸,
                    负数代表切割面向外凹。一般小于10;
          附加属性sx:
               0,1两位表示附加切割层数,也是后面中括号里的重复次数,用来设置魔中魔魔方。
               2,3两位  为0 正常转动  
                              为1 太阳花和华丽魔方的转动方式  
                              为2  45度  子母魔方转动  
                              为3  30度  子母魔方转动
              子母魔方只有正方体转面切割才起作用,其他切割无效。
         附加切割层的转动用:locked的值来控制。在魔中魔魔方设计时再详细介绍。

       切割参数:3  二面体对称群切割类
   
         精简数据结构:3,0,m,k1,,k2,
                          精简数据结构定义简单的真正二面体对称轴。 第二个参数为0是精简数。
                          m---为上下底的边数,m大于3
                           k1----上下底切割层数,后面的出现k1次
                           u----切割深度
                           r----切割球面半径
                                    为0,代表切割面是平面;
                                    正数代表切割面向外凸,
                                    负数代表切割面向外凹。
                           k2----是侧面轴的切割层数,后面的出现k2次。
                                   侧面切割倾斜角为90度,水平初始角为0。

         扩展数据结构:3,m,k1,,ks1,,k2,,ks2,,n,{jiao1,jiao2,k3,,ks3,}
                      u----切割深度
                      r-----球面半径
                                    为0,代表切割面是平面;
                                    正数代表切割面向外凸,
                                    负数代表切割面向外凹。
                     m----为上下底的边数,也是侧轴每层的轴数
                     k1----上底切割层数,k1=0时后面跟的以及ks1和后面的不出现
                              当k1不等于0时,后面的出现k1次,然后是ks1参数。
                     ks1----上底的附加层数
                              当ks1为0时,后面紧跟的不出现
                              当ks1不等于0时,后面紧跟的出现ks1次。
                   然后就是下底切割参数,格式相同,不在详细解释。
                     k2----下底切割层数,k2=0时后面跟的以及ks2和后面的不出现
                     ks2---是下底的附加层数,数据格式同上底。
                  然后是侧面多组切割参数:
                     n---是侧面轴的层次数,最少为1
                    大括号里的出现n次
                         jiao1---是该层轴的倾斜角,和z轴平行倾斜角为90度,小于90度,上小下大,大于90度下小上大。
                         jiao2---是该层的水平初始角,该层轴的排列初始轴不一定是0,需要转动jiao1度,以后各个轴都均匀分布在该层的圆周上。
                          
                           k3----是侧面轴的切割层数,k3=0时后面跟的以及ks3和后面的不出现,一般不会出现这种情况。
                                   后面出现k3次
                          ks3是侧面的附加层数,ks3可以为0,当k3为0时,后面的不出现。
                                   当ks3不为0时,后面的出现k3次。
                             
             附加切割层的转动用:locked的值来控制。在魔中魔魔方设计时再详细介绍。

   切割参数:4   正方体或正十二面体的二轴切割类

          数据结构:l,m,k,,k1,;
          其中:l---类型 4     
          m---小类,m的范围:0-36;具体参考下面附表
          其中0-22是正十二面体数据,外形最好是正十二面体对称群外形,这样魔方就不变形
           23-36是正方体数据,外形最好是正方形对称群外形,这样魔方就不变形
           k----是正常切割层数,紧接中括号代表重复内容,k是重复内容。
          当k1为0时,是轴1和轴2的共同切割,当k1不为0时,只是轴1的切割。
           u----切割深度
           r----球面半径,为0,代表切割面是平面;
                                正数代表切割面向外凸,
                                负数代表切割面向外凹。
          k1---轴2切割层数,为0,代表轴2的切割同轴1。不为0时,是轴2的切割层数
          k1不为0时,后面中括号是轴2的切割深度和切割面球面半径。
小类的参数表:
        五魔方数据
       面面
0    五魔方相邻转面
1    五魔方相隔转面
     面角
2    五魔方面和该面上的一个角的转面转角
3    五魔方面和该面外相邻的一个角的转面转角
4    五魔方面和该面外相对的一个角的转面转角
5    五魔方面和该面外对面的一个角的转面转角
     面棱
6     五魔方面和该面的一个棱的转面转棱
7     五魔方面和该面外相邻的一个棱的转面转棱
8     五魔方面和该面外相对的一个棱的转面转棱
9     五魔方面和该面外相隔的一个棱的转面转棱
10   五魔方面和该面对面的一个棱的转面转棱
       角角
11   五魔方一个角和相邻的一个角的转角转角
12   五魔方一个角和相对的一个角的转角转角
13   五魔方一个角和相隔的一个角的转角转角
       角棱
14   五魔方一个角和角的一个棱的转角转棱
15   五魔方一个角和角的一个棱的转角转棱
16   五魔方一个角和角的相对棱的转角转棱
17   五魔方一个角和角的相对棱的转角转棱
18   五魔方一个角和对面棱的转角转棱
       棱棱
19   五魔方两个相邻棱的转棱转棱
20   五魔方两个相隔棱的转棱转棱
21   五魔方两个相隔两棱的转棱转棱
22   五魔方两个相隔三棱的转棱转棱
    正方体魔方数据
      面面
23   正方体两个相邻面的转面
      面角
24    正方体一个面和面上一个角的转面转角
25    正方体一个面和面外相邻角的转面转角
      面棱
26    正方体一个面和该面的一个棱的转面转棱
27    正方体一个面和该面的相邻棱的转面转棱
28     正方体一个面和该面的相对棱的转面转棱
       角角
29     正方体的两个相邻角的转角转角
30     正方体的两个相隔角的转角转角
       角棱
31     正方体的角和所在棱的转角转棱
32     正方体的角和隔棱的转角转棱
33     正方体的角和隔二棱的转角转棱
      棱棱
34     正方体的两相邻棱转棱转棱
35     正方体的两相对棱转棱转棱
36     正方体的两相隔棱转棱转棱


切割参数:5  Bram切割轴类

          数据结构:l,m,k,,k1,;

其中:l---类型 5   
          m---小类,m的范围:0-226;代表不同的Bram切割。227-453为0-226的对称Bram切割。
                             具体值与外形参数一致,参看楼下。
          k----是正常切割层数,紧接中括号代表重复内容,k是重复内容。
         当k1为0时,是轴1和轴2的共同切割,当k1不为0时,只是轴1的切割。
          u----切割深度
          r----球面半径,为0,代表切割面是平面;
                                正数代表切割面向外凸,
                                负数代表切割面向外凹。
          k1---轴2切割层数,为0,代表轴2的切割同轴1。不为0时,是轴2的切割层数
          k1不为0时,后面中括号是轴2的切割深度和切割面球面半径。










hubo5563 发表于 2024-4-14 09:49:25

本帖最后由 hubo5563 于 2024-4-20 17:08 编辑

     外形参数的相细说明
    这里的外形参数是Java助手里的《外形参数》,对应小应用程序的参数:Shape

     这个参数可以为空,当它为空时,以《魔方外形》设置的预定形状为准。当它不空时,数据格式必须满足下面规定的格式,否则将会出现错误状态。

外形参数:0,1,2
                0:四面体对称群类外形
                1:正方体对称群类外形
                2:正十二面体对称群类外形
               数据结构:l1,m1,k,s,u1,l2,m2,u2,l3,m3,u3;
               其中l1,l2,l3为三次切割的大类,数值只能是0,1,2三个之一。
               m1,m2,m3为三次切割的小类,数值参考上表。
               u1,u2,u3为切割深度,数值是实数,0.0001-1.8之间。
               k为切割次数,k为1时,没有l2之后的数据。k为2时,没有l3之后的数据。数据都是以英文逗号隔开,最后是英文分号。

外形参数:3
                3为二面体对称群切割外形类
              柱锥台的切割参数数据结构:3,0,m,r1,r2,h;
               这里:
              第二个参数为0,是棱台、棱柱或棱锥体,
               m-----为上下底面的边数。
               r1-----为上底面外接圆的半径,实数<2
               r2-----为下底面外接圆的半径,实数<2
               h------为它的高,实数>0<3;
               r1,r2不能同时为0,当r1或r2有一个为0时切出的是棱锥,当r1=r2并且不等于0时,切出的是棱柱,r1不等于r2都不为0时切出的是棱台。

     3,0,6,0.0,0.5,1.0;             六棱锥(尖)
     3,0,6,0.0,1.0,1.0;           六棱锥(中)
     3,0,6,0.0,1.5,0.7;           六棱锥(矮)
  
     3,0,6,0.5,0.5,1.0;           六棱柱(长)
     3,0,6,1.0,1.0,1.0;           六棱柱(中)
     3,0,6,1.0,1.0,0.5;           六棱柱(短)
  
     3,0,6,0.6,1.0,1.0;           六棱台(高)
     3,0,6,0.6,1.0,0.7;           六棱台(中)
     3,0,6,0.6,1.0,0.4;            六棱台(矮)
  
              
       当第二个参数不为0时
       其他切割的数据结构:3,n,m,u1,r1,u2,r2,;  k>0;
            
                n----为切割轴圈的个数。
                m-----为上下底面的边数。
                u1------上底切割的深度。
                r1------上底切割的球面半径,r1=0为平面,r1>0为凸面。r1<0为凹面。
                u2------下底的切割深度。
                r2-------下底切割面的球面半径,r2=0为平面,r2>0为凸面。r2<0为凹面。
                中括号重复次数为n。
                jiao1----切割面倾斜角度,以度为单位,90度与Z轴平行,小于90度,上小下大,大于90度上大下小。
                jiao2----初始水平转角,以度为单位。
                u-----切割深度
                r-----切割面半径,r=0为平面,r>0为凸面,r<0为凹面。

两个例子:
                3,1,5,0.5,0,0.8,0,80,0,0.5,0;
                3,2,6,0.5,5.5,0.55,5,67,0,0.5,0,113,30,0.5,0;



     外形参数:4
                4 为我设计的一系列多面体
                数据结构:4,m,n,p,a,c;
                m----参数1,奇数
                n-----参数2,
                p-----参数3,
                a----切割深度,通常取1即可
                c----配色方案:
                                 0:单色
                                 1:自动配色,保证相邻面不重复颜色
                                 2:根据面的边数配色
                                 
外形参数:5
                5为Bram几何
                数据结构:5,m;
                其中m为Bram几何的序号。参见Bram几何表。

  Bram几何体外形参数:
   0:   Bram(3,3,2)        1:   Bram(3,4,2)      2:   Bram(3,5,2)        3:   Bram(3,3,3)       4:   Bram(3,4,3)
   5:   Bram(3,5,3)        6:   Bram(3,6,3)      7:   Bram(3,7,3)        8:   Bram(3,8,3)       9:   Bram(3,9,3)
   10: Bram(3,10,3)      11: Bram(4,4,3)      12: Bram(4,5,3)       13: Bram(4,6,3)        14: Bram(4,7,3)
   15: Bram(4,8,3)        16: Bram(4,9,3)      17: Bram(4,10,3)     18: Bram(5,5,3)        19: Bram(5,6,3)
   20: Bram(5,7,3)        21: Bram(3,3,4)      22: Bram(3,4,4)       23: Bram(3,5,4)        24: Bram(3,6,4)
   25: Bram(3,7,4)        26: Bram(3,8,4)      27: Bram(3,9,4)       28: Bram(3,10,4)      29: Bram(4,4,4)
   30: Bram(4,5,4)        31: Bram(4,6,4)      32: Bram(4,7,4)       33: Bram(4,8,4)        34: Bram(4,9,4)
   35: Bram(4,10,4)      36: Bram(5,5,4)      37: Bram(5,6,4)       38: Bram(5,7,4)        39: Bram(5,8,4)
   40: Bram(5,9,4)        41: Bram(5,10,4)    42: Bram(6,6,4)       43: Bram(6,7,4)        44: Bram(6,8,4)
   45: Bram(6,9,4)        46: Bram(6,10,4)    47: Bram(7,7,4)       48: Bram(7,8,4)        49: Bram(7,9,4)
   50: Bram(8,8,4)        51: Bram(3,3,5)      52: Bram(3,4,5)       53: Bram(3,5,5)        54: Bram(3,6,5)
   55: Bram(3,7,5)        56: Bram(4,4,5)      57: Bram(4,5,5)       58: Bram(4,6,5)        59: Bram(4,7,5)
   60: Bram(4,8,5)        61: Bram(4,9,5)      62: Bram(4,10,5)     63: Bram(5,5,5)        64: Bram(5,6,5)
   65: Bram(5,7,5)        66: Bram(5,8,5)      67: Bram(5,9,5)       68: Bram(5,10,5)      69: Bram(6,6,5)
   70: Bram(6,7,5)        71: Bram(6,8,5)      72: Bram(6,9,5)       73: Bram(6,10,5)      74: Bram(7,7,5)
   75: Bram(7,8,5)        76: Bram(7,9,5)       77: Bram(7,10,5)    78: Bram(8,8,5)        79: Bram(8,9,5)
   80: Bram(8,10,5)       81: Bram(9,9,5)      82: Bram(9,10,5)    83: Bram(10,10,5)    84: Bram(3,3,6)
   85: Bram(3,4,6)         86: Bram(3,5,6)      87: Bram(3,6,6)      88: Bram(4,4,6)        89: Bram(4,5,6)
   90: Bram(4,6,6)         91: Bram(4,7,6)      92: Bram(4,8,6)      93: Bram(4,9,6)        94: Bram(4,10,6)
   95: Bram(5,5,6)         96: Bram(5,6,6)      97: Bram(5,7,6)      98: Bram(5,8,6)        99: Bram(5,9,6)
   100: Bram(5,10,6)    101: Bram(6,6,6)    102: Bram(6,7,6)   103: Bram(6,8,6)       104: Bram(6,9,6)
   105: Bram(6,10,6)    106: Bram(7,7,6)     107: Bram(7,8,6)   108: Bram(7,9,6)      109: Bram(7,10,6)
   110: Bram(8,8,6)      111: Bram(8,9,6)     112: Bram(8,10,6)   113: Bram(9,9,6)    114: Bram(9,10,6)
   115: Bram(10,10,6)   116: Bram(3,3,7)     117: Bram(3,4,7)    118: Bram(3,5,7)    119: Bram(4,4,7)
   120: Bram(4,5,7)       121: Bram(4,6,7)     122: Bram(4,7,7)    123: Bram(4,8,7)    124: Bram(4,9,7)
   125: Bram(5,5,7)       126: Bram(5,6,7)     127: Bram(5,7,7)    128: Bram(5,8,7)    129: Bram(5,9,7)
   130: Bram(5,10,7)     131: Bram(6,6,7)     132: Bram(6,7,7)    133: Bram(6,8,7)    134: Bram(6,9,7)
   135: Bram(6,10,7)     136: Bram(7,7,7)     137: Bram(7,8,7)    138: Bram(7,9,7)    139: Bram(7,10,7)
   140: Bram(8,8,7)       141: Bram(8,9,7)     142: Bram(8,10,7)   143: Bram(9,9,7)   144: Bram(9,10,7)
   145: Bram(10,10,7)   146: Bram(3,3,8)      147: Bram(3,4,8)    148: Bram(4,4,8)   149: Bram(4,5,8)
   150: Bram(4,6,8)       151: Bram(4,7,8)      152: Bram(4,8,8)    153: Bram(5,5,8)   154: Bram(5,6,8)
   155: Bram(5,7,8)       156: Bram(5,8,8)      157: Bram(5,9,8)    158: Bram(5,10,8)  159: Bram(6,6,8)
   160: Bram(6,7,8)       161: Bram(6,8,8)      162: Bram(6,9,8)    163: Bram(6,10,8)  164: Bram(7,7,8)
   165: Bram(7,8,8)       166: Bram(7,9,8)      167: Bram(7,10,8)  168: Bram(8,8,8)    169: Bram(8,9,8)
   170: Bram(8,10,8)     171: Bram(9,9,8)      172: Bram(9,10,8)  173: Bram(10,10,8) 174: Bram(3,3,9)
   175: Bram(3,4,9)       176: Bram(4,4,9)      177: Bram(4,5,9)    178: Bram(4,6,9)     179: Bram(4,7,9)
   180: Bram(5,5,9)       181: Bram(5,6,9)      182: Bram(5,7,9)    183: Bram(5,8,9)     184: Bram(5,9,9)
   185: Bram(5,10,9)     186: Bram(6,6,9)      187: Bram(6,7,9)    188: Bram(6,8,9)     189: Bram(6,9,9)
   190: Bram(6,10,9)     191: Bram(7,7,9)      192: Bram(7,8,9)    193: Bram(7,9,9)     194: Bram(7,10,9)
   195: Bram(8,8,9)       196: Bram(8,9,9)      197: Bram(8,10,9)  198: Bram(9,9,9)     199: Bram(9,10,9)
   200: Bram(10,10,9)   201: Bram(3,3,10)    202: Bram(3,4,10)  203: Bram(4,4,10)   204: Bram(4,5,10)
   205: Bram(4,6,10)     206: Bram(5,5,10)    207: Bram(5,6,10)  208: Bram(5,7,10)   209: Bram(5,8,10)
   210: Bram(5,9,10)     211: Bram(5,10,10)  212: Bram(6,6,10)  213: Bram(6,7,10)   214: Bram(6,8,10)
   215: Bram(6,9,10)     216: Bram(6,10,10)  217: Bram(7,7,10)  218: Bram(7,8,10)   219: Bram(7,9,10)
   220: Bram(7,10,10)   221: Bram(8,8,10)    222: Bram(8,9,10)  223: Bram(8,10,10) 224: Bram(9,9,10)
   225: Bram(9,10,10)   226: Bram(10,10,10)








hubo5563 发表于 2024-4-14 10:05:41

本帖最后由 hubo5563 于 2024-4-23 20:55 编辑

一般切割的魔方设计
      软件定义了106种切割方式,和59种预定外形,再加上7种外形面性质,用户用这些就能设计出很多魔方了。直接选《预定切割》《魔方外形》《面性质》这三个参数即可。

         如果用户掌握《切割参数》和《外形参数》后,就可以更好的设计其他切割和其他外形的魔方了。

下面举例说明:

1、二层转角魔方的设计
     魔方外形是正方体,直接从魔方外形选择预定外形2:正方体。从预定切割里找,没有二层转角魔方,只能设计切割参数来实现。由于是正方形二层转角,所以大类肯定是正方体对称类,大类选1,找到大类为0-2的格式说明:
     数据结构:l,n,{m,k,,sx,};
          l---大类,
         n---轴类数,
         m---小类,
         k=切割层数,
         u---深度,
         r----半径
         sx---附加属性
l为大类1,n为轴类数,这里只是转角,所以有1类轴,选1,m为小类,查表,转角小类为1,k为切割层数,这里是2层,所以为2,n为1,大括号循环1次,k为2,中括号里循环2次,由于普通切割,sx为0,后面中括号里面循环0次,不需要数据。由于采用平面切割,所以切割半径为0,格式为:1,1,1,2,u,r,u,r,0;y额就是1,1,1,2,u,0,u,0,0;再确定切割深度。
注意:多层切割深度从浅到深排列,否则就转动不对了。

      经过多次实验,最终切割参数为:      1,1,1,2,0.7556,0.0,0.0002,0.0,0;
这样就可以了。





1
3
1,1,1,2,0.7556,0.0,0.0002,0.0,0;
0
6
99d658
f3a0e2


2:花瓣直升机魔方:
     魔方外形是正方体,直接从魔方外形选择预定外形2:正方体。从预定切割里找,没有球面切割,只能设计切割参数来实现。由于是正方形球面切割转棱,所以大类肯定是正方体对称类,大类选1,找到大类为0-2的格式说明:
     数据结构:l,n,{m,k,,sx,};
           l---大类,
         n---轴类数,
         m---小类,
         k=切割层数,
         u---深度,
         r----半径
         sx---附加属性
l为大类1,n为轴类数,这里只是转棱,所以有1类轴,选1,m为小类,查表,转棱小类为2,k为切割层数,这里是1层,所以为1,n为1,大括号循环1次,k为1,中括号里循环1次,由于普通切割,sx为0,后面中括号里面循环0次,不需要数据。格式为:1,1,1,2,u,r,0;
采用的是凹面切割才能达到效果,所以,r要取负值。多次调整切割深度u和切割半径最后就是
1,1,2,1,0.556,-1.8,0;



1
3
1,1,2,1,0.556,-1.8.0,0;
0
6
99d658
f3a0e2



3:窗花魔方切割参数
     魔方外形是正方体,直接从魔方外形选择预定外形2:正方体。从预定切割里找,没有球面切割,只能设计切割参数来实现。由于是正方形球面切割转角加转面,所以大类肯定是正方体对称类,大类选1,找到大类为0-2的格式说明:
     数据结构:l,n,{m,k,,sx,};
           l---大类,
         n---轴类数,
         m---小类,
         k=切割层数,
         u---深度,
         r----半径
         sx---附加属性
l为大类1,n为轴类数,这里是转面加转角,所以有2类轴,选2,大括号里面有两个循环,第一个循环,转面,m为小类,查表,转面小类为0,k为切割层数,这里是1层,所以为1,中括号里循环1次,由于普通切割,sx为0,后面中括号里面循环0次,不需要数据。第二个循环,转角,m为小类,查表,转角小类为1,中括号里循环1次,由于普通切割,sx为0,后面中括号里面循环0次,不需要数据。
       格式为:1,2,0,1,u,r,0,1,1,u,r,0;
      转面轴采用平面切割,所以对应的r为0,转角采用的是凹面切割才能达到效果,所以,r要取负值。多次调整切割深度u和切割半径最后就是
     1,2,0,1,0.5,0.0,0,1,1,0.73,-2.0,0;


1
3
1,2,0,1,0.5000,0.0,0,1,1,0.73,-2.0,0;
0
6
99d658
f3a0e2

4:大雁大宝石9的设计
     这个魔方外形是截角八面体,但是不是正常情况下的截角八面体,是比正常的截角八面体截的深一些。因此预定的59种魔方外形没有这个,需要设计设置外形参数来达到。这个是正方形对称群的,设置外形选大类为1,切割有两种,一种是正方体切面,一种是正方体切角适当调节它们的深度,最后外形参数如下:
1,1,2,0,0.5,1,0,0.5;
切割直接选择转棱6即可:


11
15
1,1,2,0,0.5,1,0,0.5;
0
6
99d658
f3a0e2



   总之,一般魔方设计主要考虑的是外形和切割方式,尽量从预定义里面选择,预定义里没有,就要设计外形切割参数和转轴切割参数。要想正确选择参数,需要计算,或逐步实验。

hubo5563 发表于 2024-4-14 10:16:35

魔中魔魔方的设计

hubo5563 发表于 2024-4-14 10:25:51

华丽魔方的设计和太阳花魔方的设计

hubo5563 发表于 2024-4-14 10:33:58

Bram魔方的设计和二轴正方体正十二面体魔方设计
页: [1] 2 3
查看完整版本: 球面切割魔方Java助手说明书