纳金网

标题: Java3D基础(六) [打印本页]

作者: robert    时间: 2011-12-27 09:08
标题: Java3D基础(六)

当程序员在构建场景图的层次结构时,需要使用许多TransformGroup节点。如果把场景的层次结构看成是一棵树,程序员要描述的几何对象将定位于它的叶子上。将场景图树的根与该几何叶子连接的路径上通常会有几个 TransformGroup 节点。根和几何对象之间的所有变换都按这个顺序应用,并且这个顺序将会影响到几何对象的最终位置。

程序员应该将每一项逻辑操作放在一个单独的Transform3D对象中(例如,将旋转和平移操分别放在不同的对象中),Java 3D在遍历渲染整个场景图时,会将这些变换组合在一起。但是要注意变换之间是不可以互换的,先旋转再平移和先平移再旋转的结果不相同,虽然在很多情况下它们看上去是一样。

下面这几段代码示例是 TransformOrder.java 的简化程序块,前两段中各自包含了两个相同的 TransformGroup 节点和一个Cone节点,一个连接在另外一个下面,区别在于连接它们的次序和 Cone 的颜色。在红色Cone中,objRotate TransformGroup (旋转)位于 objTranslate(平移)之上;而对于黄色Cone,平移在顶部,旋转在下面。区别意味着根节点到圆锥(Cone)之间路径有不同的次序。

Void rotateOnTop(){
topNode.addChild(objRotate);
objRotate.addChild(objTranslate);
objTranslate.addChild(redCone);

void translateOnTop(){
topNode.addChild(objTranslate);
objTranslate.addChild(objRotate);
objRotate.addChild(yellowCone);

void noTransform(){
topNode.addChild(purpleCone);


作者: 艳阳天    时间: 2011-12-29 08:21
挺好玩的
作者: 3D小子    时间: 2012-2-3 14:47
难啊
作者: Eleven    时间: 2012-2-3 17:01

作者: tc    时间: 2012-5-5 23:25
读铁系缘分,顶铁系友情

作者: 菜刀吻电线    时间: 2012-5-17 23:27
好可爱的字,学习了

作者: markq    时间: 2012-5-18 23:04
  创意无处不在,创意就在纳金网



爱生活 ,爱3D,爱纳金网  



www.narkii.com
作者: 菜刀吻电线    时间: 2012-7-14 23:18
读铁系缘分,顶铁系友情

作者: tc    时间: 2012-8-12 00:28
不错哦,谢谢楼主

作者: 菜刀吻电线    时间: 2012-8-19 23:48
凡系斑竹滴话要听;凡系朋友滴帖要顶!

作者: 晃晃    时间: 2012-8-24 23:33
加精、加亮滴铁子,尤其要多丁页丁页

作者: 奇    时间: 2012-9-4 23:28
呵呵,真得不错哦!!

作者: 晃晃    时间: 2012-10-21 23:33
好铁多多发,感激分享

作者: 菜刀吻电线    时间: 2012-11-29 23:24
不错哦,顶一下......

作者: 晃晃    时间: 2013-1-30 23:18
谢谢楼主,真是太实用了

作者: 晃晃    时间: 2013-3-8 23:41
再看一看,再顶楼主

作者: 晃晃    时间: 2013-3-8 23:41
再看一看,再顶楼主

作者: 晃晃    时间: 2013-3-16 23:30
发了那么多,我都不知道该用哪个给你回帖了,呵呵





欢迎光临 纳金网 (http://rs.narkii.com/club/) Powered by Discuz! X2.5