3D Graphen Zeichnen

B

Brätzelbäcker

Hallo,

ich habe nun das erste Zeichnen von Objekten hinbekommen. Hier mein schlichtes Problem:

Ich habe N Punkte bzw. dessen 3D Koordinaten vorliegen und möchte diese im gleichen Koordinatensystem bzgl. ihrer Koordinaten platzieren. Zusätzlich möchte ich zwischen speziellen Knoten Kanten ziehen, also zwischen speziellen Punkten Segmente/Linien malen. Das gesamte Konstrukt soll dann im Raum gedreht/gezommt werden können... mit Maus oder ähnlichem...

Mein Ansatz bisher sieht so aus, dass ich zunächst ein übergeordnetes Objekt vom Typ TransformGroup anlege. Dieses versehe ich mit den entsprechenden Mouse/Tastatur-Events:

Code:
TransformGroup rootTransformGroup = new TransformGroup();

rootBranchGroup.addChild(rootTransformGroup);
rootTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
...
MouseRotate mouseRotate = new MouseRotate();
mouseRotate.setTransformGroup(rootTransformGroup); //******************!
mouseRotate.setSchedulingBounds(boundingSphere);
rootBranchGroup.addChild(mouseRotate);

Dann erezuege ich für jeden Punkt eine neues Objekt rootTransformGroup2 vom Typ TransformGroup und hänge an dieses ein Objekt vom Typ Transform3D, welches wiederum mit einem Vektor Vector3f versehen wird, welcher der Verschiebung des Punktes entspricht. Anschließend hänge ich rootTransformGroup2 als Kind an rootTransformGroup, damit die Benutzer-Interaktive Veränderung der viewer Position sich auf alle Punkte auswirkt:

Code:
Transform3D transform3d = new Transform3D();
transform3d.setTranslation(new Vector3f(0.2f,0.00f,0.00f));
TransformGroup rootTransformGroup2 = new TransformGroup(transform3d);
rootTransformGroup2.addChild(new Box(0.6f,0.1f,0.1f,ap));
rootTransformGroup.addChild(rootTransformGroup2);

Da ich Anfäner auf dem Gebiet Java3D bin kann es jetzt natürlich sein, dass ich mit der 3D Schrotflinte auf Punkte-Spatzen schieße... aber dafür frage ich jetzt ja euch. Ein weiteres Problem ist auch noch das ziehen der Kanten zwischen den einzelnen Punkten, die ich momentan als kleine Box'en zeichne...

Es wäre wirklich sehr nett, wenn mir jemand helfen könnte.

Vielen dank im Vorraus für eure Mühe.
Viele Grüße
 
Zurück