Objektgrösse herausfinden und Koordinatenursprung verschiebe

Status
Nicht offen für weitere Antworten.
Y

Yodan

Gast
Hallo,

ich habe zwei Fragen bezüglich Java3D.

1.Wie kann ich die grösse eines Objektes herausfinden, das ich per Loader (*.obj) geladen habe? Ich bräuchte die maximale x,y,z Ausdehnung, doch leider habe ich bisher nichts brauchbares gefunden. Desweiteren sind manche Objekte auch um ein par grad gedreht... (Die Objekte habe ich mit Blender erstellt und exportiert. In Blender sind sie aber "normal").

2. WIe kann ich den Koordinatenursprung verschieben? (der Ursprung soll z.B. 100,50,10 sein).

Vielen Dank im Vorraus
 

egrath

Aktives Mitglied
Hallo,

sorry dass ich mich als Totengräber für Threads erweise, habe ein ähnliches Problem (Frage): Werden Shape3D Objekte welche ich aus einem OBJ File lade nicht an den Koordinatenursprung (0/0/0) gesetzt? Bei dem beigefügten Testprojekt sieht es zumindest so aus.

Könnte mir jemand erklären wie ich das manuell richten kann, ich hab keine Ahnung wie ich die Grösse der geladenen Geometrie ermitteln kann - ich kann mir zwar ein Bounds objekt holen, dieses vermisst aber die Methoden "getLower" und "getUpper" der abgeleiteten BoundingBox Klasse mit deren Hilfe ich das ermitteln und die Translation entsprechend setzen könnte.

Testprojekt

Danke und Grüsse,
Egon
 

egrath

Aktives Mitglied
Hallo,

ich habe die Lösung des Problems selbst gefunden:

Das von Shape3D mittels der Methode zurückggegebene Bounds Objekt ist in wirklichkeit ein BoundingBox Objekt - mithilfe dieses kann dann die Grösse ermittelt und die Translation entsprechend gesetzt werden.

Code:
if( shape.getBounds() instanceof BoundingBox )
{
    BoundingBox box = ( BoundingBox ) shape.getBounds();
    Point3d lowerPoint = new Point3d();
    Point3d upperPoint = new Point3d();
    box.getLower( lowerPoint );
    box.getUpper( upperPoint );
    System.out.println( String.format( "BOX = [%s]:[%s]", lowerPoint.toString(), upperPoint.toString() ));
}

Grüsse,
Egon
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben