魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
楼主: schuma
打印 上一主题 下一主题

Twisty Star JAVA模拟器 (五个四面体的组合) [复制链接]

Rank: 8Rank: 8

积分
18018
帖子
16457
精华
9
UID
449
性别

魔方理论探索者 论坛建设奖 爱心大使 十年元老

11#
发表于 2012-5-9 11:00:35 |只看该作者
复原态的这五处小三角形是什么情况?看来,虽然小三角形的颜色不同,但是仍在同一平面中,也就是小三角形处并无一个小的刻缺,对吧?
这五处小三角形是什么?.png

[ 本帖最后由 乌木 于 2012-5-9 11:16 编辑 ]

使用道具 举报

Rank: 8Rank: 8

积分
6768
帖子
2458
精华
79
UID
4618
性别

论坛建设奖 十年元老

12#
发表于 2012-5-9 11:24:09 |只看该作者
我编的java也没有用java3d功能,模型建立,消隐都是自己计算的,主要用到java2d的绘图功能,消除显示时的锯齿是用这个函数实现的:
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

这是画一个完整魔方子程序:

//画一个完整的魔方

void  xianshimq(Graphics gg)
{
     int i,j;
     if(ogg==null){
             ogg=createImage(width,height);
     };
     int m;
     boolean zxflag=false;
     Graphics og=ogg.getGraphics();
     og.setClip(0,0,width,height);
     og.setColor(bgColor);
     og.fillRect(0, 0, width, height);
     Graphics2D g2 = (Graphics2D)og;
     g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);      
       //for(i=26;i<27;i++)
       for(i=0;i<zongkuaishu;i++)
       {
        showmian(g2,moqiu);
       };
       xianshigongshiye(og);
        gg.setClip(0,top,width,height);
        gg.drawImage(ogg,0,top,null);
};
其中showmian(g2,moqiu);
xianshigongshiye(og);
是自己编的。

使用道具 举报

Rank: 4

积分
1668
帖子
988
精华
8
UID
82833
性别
保密

魔方破解达人 六年元老

13#
发表于 2012-5-9 11:24:57 |只看该作者

回复 11# 的帖子

你说的这几个,就是绘图的bug,不应该有那几条线的。颜色的不同只是因为光照效果的原因。这里一共就五种颜色,不分深黄浅黄之类的。

使用道具 举报

Rank: 4

积分
1668
帖子
988
精华
8
UID
82833
性别
保密

魔方破解达人 六年元老

14#
发表于 2012-5-9 11:29:36 |只看该作者

回复 12# 的帖子

多谢你的回复。antialiasing我试过,不过动画弄得不太流畅,所以就没采用。回头我再试试看。

showmian() 里应该有消隐的算法吧。要决定先画那个多边形,后画哪个之类的。大概是什么思路呢?从远到近画?

使用道具 举报

Rank: 8Rank: 8

积分
6768
帖子
2458
精华
79
UID
4618
性别

论坛建设奖 十年元老

15#
发表于 2012-5-9 11:49:11 |只看该作者
在调用showmian()之前先排序,这是排过顺序的,显示时要结合显示的面的法向量,不能显示的就不显示了,先画远处的再画近处的,就是画家算法消隐。

使用道具 举报

红魔

Crazy

Rank: 4

积分
1547
帖子
2623
精华
2
UID
7888

十四年元老

16#
发表于 2012-5-9 12:27:49 |只看该作者
这个魔方很难观察,调整好方向之后,只有两种块.

使用道具 举报

Rank: 4

积分
1668
帖子
988
精华
8
UID
82833
性别
保密

魔方破解达人 六年元老

17#
发表于 2012-5-9 12:52:08 |只看该作者
好主意。不过我试了一下还是想画那些法矢量朝后的,否则动画效果有种支离破碎的感觉。现在把那些画成灰色的了。

然后我改了一下多边形中心的算法,现在那个地方已经不会出现之前的那个毛病了。

Image 000.png

使用道具 举报

Rank: 1

积分
196
帖子
191
精华
0
UID
78824
性别
保密

四年元老

18#
发表于 2012-5-9 13:47:58 |只看该作者

期待

我们很期待你 能多做出现在市面上常见的一些异型魔方的模拟器,来帮助一些像我这样的初级魔法爱好者

使用道具 举报

Rank: 4

积分
1668
帖子
988
精华
8
UID
82833
性别
保密

魔方破解达人 六年元老

19#
发表于 2012-5-9 15:33:24 |只看该作者
呼呼,花了两个半小时,终于解开了。中间出了很多次错误,多亏了有 撤销 按钮,才不至于从头再来...

有了一些经验以后,发现鼠标选的点和对应的顶点之间的对应关系还是不太自然,没达到想转哪儿就转哪儿的程度。我还要慢慢调试啊

使用道具 举报

Rank: 4

积分
1668
帖子
988
精华
8
UID
82833
性别
保密

魔方破解达人 六年元老

20#
发表于 2012-5-9 16:08:16 |只看该作者
刚才我把十几年前的笔记本翻出来了。这是我当时尺规作图画的图。它是这个applet里的形体的镜像。
photo_resized.jpg


我改天给applet加一个镜像按钮

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-4-20 01:48

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部