ich will 2 würfel (objekt 'box') mit einer linie verbinden
hier die transformgroups und die objekte
ich will will nun die mittelpunke der beiden würfel bestimmen da diese punkte start und ende für die linie sind
ich habe mir das so gedacht...
als output bekomm ich den punkt auch in der form
um an die einzelnen pkt zu kommen werd ich das wohl zum sting umwandeln und das dann via array auslesen....
so nun das problem... die mittelpunkte der beiden würfel sind exakt gleich...liegt bestimmt daran das diese koordinaten auf den würfel und nicht auf das universe beziehen...
wie kann ich das so ändern das ich die koordnaten der mittelpunkte der würfel relativ zum universe bekomm, damit ich diese mit folgender methode als punke übergeben kann
so nun will ich die linie zeichnen ....
muss irgendwie mit getLocalToVworld gehen ...
bekomm da aber auch keinen pkt raus
hier die transformgroups und die objekte
Java:
TransformGroup BoxTG = new TransformGroup();
Transform3D BoxT3D = new Transform3D();
BoxT3D.setTranslation(new Vector3f(0f,0f,-10f));
BoxTG.setTransform(BoxT3D);
TransformGroup BoxTG2 = new TransformGroup();
Transform3D BoxT3D2 = new Transform3D();
BoxT3D2.setTranslation(new Vector3f(2f,0f,-10f));
BoxTG2.setTransform(BoxT3D2);
box1 = new Box(0.5f,0.5f,0.5f, BoxAppearance);
box2 = new Box(0.5f,0.5f,0.5f, BoxAppearance);
ich will will nun die mittelpunke der beiden würfel bestimmen da diese punkte start und ende für die linie sind
ich habe mir das so gedacht...
Java:
public void center(Box x){
//Mittelpunkt holen
bar = new Point3d();
if ( x.getBounds() instanceof BoundingSphere ) {
((BoundingSphere)x.getBounds()).getCenter(bar);
if(x == box1)System.out.println("box1");
if(x == box2) System.out.println("box2");
System.out.println("center is: " + bar);
}
}
als output bekomm ich den punkt auch in der form
Code:
(-0.05405956193200769, -0.22147945123557278, -0.05405956193200769)
um an die einzelnen pkt zu kommen werd ich das wohl zum sting umwandeln und das dann via array auslesen....
so nun das problem... die mittelpunkte der beiden würfel sind exakt gleich...liegt bestimmt daran das diese koordinaten auf den würfel und nicht auf das universe beziehen...
wie kann ich das so ändern das ich die koordnaten der mittelpunkte der würfel relativ zum universe bekomm, damit ich diese mit folgender methode als punke übergeben kann
Java:
public void createLine(){
Appearance app = new Appearance();
ColoringAttributes ca = new ColoringAttributes(white,
ColoringAttributes.SHADE_FLAT);
app.setColoringAttributes(ca);
// Plain line
Point3f[] plaPts = new Point3f[2];
plaPts[0] = new Point3f(-0.9f, -0.7f, 0.0f);
plaPts[1] = new Point3f(-0.5f, 0.7f, 0.0f);
LineArray pla = new LineArray(2, LineArray.COORDINATES);
pla.setCoordinates(0, plaPts);
Shape3D plShape = new Shape3D(pla, app);
rootBG.addChild(plShape);
}
so nun will ich die linie zeichnen ....
muss irgendwie mit getLocalToVworld gehen ...
bekomm da aber auch keinen pkt raus
Zuletzt bearbeitet: