JAVA3D-4

形体的组合

 

1.形体的分组

Java3D中,有很多几何形体,因此要对这些几何形体进行合理的分组,然后再对指定的形体进行几何变换,从而得到预期的效果

 

1.1 Group对象

     方法: addchild, insertchild,removechild,setchild

     用来对形体的分组,是所有Group类的父类,Group nodes have exactly one parent and an arbitrary number of children that are  rendered    in an unspecified order (or in parallel). Null children are allowed; no operation is performed on a null child node.

      子类: BranchGroup, OrderedGroup, Primitive, SharedGroup, Switch, TransformGroup, ViewSpecificGroup

BranchGroup

通常做为整个场景的根节点,灯光,背景等效果对象都加在这一对象上面

OrderedGroup

与BG有相同的效果,只不过渲染的时候是按下标的顺序来渲染

DecalGroup

OG的一个子类,只有这个类可以正确的显示位于同一平面上的多个重叠的平面

Switch

可以灵活控制一组对象中的单个或者几个,切换的作用

ShareGroup

可以以一个图像为模子进行同一对象的复制

2.几何变换

   TG:定义局部坐标系,通过对它的设定可以实现形体的旋转与放缩怎么变换

TransformGroup(Transform3D t)

标志: ALLOW_TRANSFORM_READ,ALLOW_TRANSOFRM_WRITE

如果想让物体移动,一定要指定这两个标志.

Transform3D

通常表示TG对象相对于父节点(如BG)的位置/角度/尺度等空间的变换

TransformGroup对象与Transform3D对象的应用

程序中每次指定TG对象的Transform3D属性都需要生成新的T3D对象,这是因为不同的TG对象都保留着自己的T3D对象的实例,且仅有一个,因此不同的TG对象如果提供的变换是不一样的,那么必须使用不同的T3D对象

posted @ 2009-11-03 21:06  refeiner  阅读(253)  评论(0编辑  收藏  举报