这是应该绘制 2 个边为 0.3 的立方体彼此相邻的代码的一部分当我得到的是: http : //imageshack.us/photo/my-images/189/89254345.png/彼此)我尝试打印转换,它们看起来还不错:
1
1.0, 0.0, 0.0, 0.0
0.0, 1.0, 0.0, 0.0
0.0, 0.0, 1.0, 0.0
0.0, 0.0, 0.0, 1.0
2
1.0, 0.0, 0.0, 0.3
0.0, 1.0, 0.0, 0.0
0.0, 0.0, 1.0, 0.0
0.0, 0.0, 0.0, 1.0
就好像第二个盒子只移动了 0.15,但是如果我将 dx 乘以 2,那么当更多不同尺寸的长方体通过 y 或 z 轴的变换添加时,事情就会中断
private BranchGroup rootGroup;
public void addBox(float dx){
Cuboid Cuboid1 = new Cuboid(0.3f ,0.3f, 0.3f, appearence);
TransformGroup tg = new TransformGroup();
Transform3D transform = new Transform3D();
Vector3f vector = new Vector3f(dx, 0f, 0f);
transform.setTranslation(vector);
tg.setTransform(transform);
tg.addChild(Cuboid1);
rootGroup.addChild(tg);
}
public void addBoxes(){
for(int i=0;i<2;i++){
addBox(i*0.3f);
}
}
长方体类来自这里:http ://www.java2s.com/Code/Java/3D/Java3DBoxandacustomCuboidimplementation.htm