- 最后登录
- 2025-6-15
- 在线时间
- 3896 小时
- 阅读权限
- 20
- 注册时间
- 2005-12-22
- 积分
- 9583
- 帖子
- 3770
- 精华
- 81
- UID
- 4618
- 性别
- 男
 
- 积分
- 9583
- 帖子
- 3770
- 精华
- 81
- UID
- 4618
- 性别
- 男
|
发表于 2020-3-16 19:21:54
|显示全部楼层
本帖最后由 hubo5563 于 2020-3-27 11:08 编辑
一个魔方主要有外形、切割方式、转动方式和配色来决定的。
最近几个月我一直在做自定义魔方的仿真软件,最后提交一个可以让用户自己定义形状,自己定义切割深度和转动方式,自己定义配色的java软件。
自定义形状可以用逐步切割做到,开始设定一个立方体,逐步用不同的平面或球面进行切割,最后达到自己要求。
每个切割面由表示平面法向量的一个三维点,和到原点距离,以及曲率半径表示。
例如(1.2,3.1,-1.5),1.4,5.13;
就是以坐标原点到点P(1.2,3.1,-1.5),再单位化后为面的法向量,1.4表示切割面到中心,也是坐标原点的距离,5.13是切割面的球面半径。
这个数为0,代表切割面是平面,这个数为负数,代表该面为凹球面,为正代表凸球面。 你可以自己用任意多的切割面来切割立体,最后就出来一个多面体。
用这样可以实现任何凸多面体的构造,但对一般人来说比较麻烦。
本软件提供几个有效的标准切割,即可以用来构造对称外形,又能提供对称切割魔方的
切割。另外,本软件还提供一些标准立体,主要是五个正多面体,13个半正多面体,13个卡塔兰多面体,13个截角卡塔兰多面体,22面体,小斜五魔方,大斜五魔方等常用外形。
本软件提供各种基本立体的对偶算法,点对偶算法,棱对偶算法,球面化算法,锥面化算法几种多面体算法。可以自己切割出基本立体,利用这些算法实现立体的变换,来变成更复杂的几何体。
下面先分享一些外形,这些都可以任意定义切割。
软件现在还是半成品,主要有输入语言设计没有完成,这些外形功能上都调试通过了。但还有怎么切割,怎么输入,还没有编好程序。还有大量程序要编写。估计完成整个程序还需要至少两个月时间。
|
-
总评分: 经验 + 40
查看全部评分
|