Zuhause Persönliche Finanzen Programmierbeispiel für javaFX: 3D Box - Dummies

Programmierbeispiel für javaFX: 3D Box - Dummies

Inhaltsverzeichnis:

Video: Controlling NAO Robot with Java 2025

Video: Controlling NAO Robot with Java 2025
Anonim

zu platzieren. JavaFX verfügt über eine integrierte Unterstützung für realistische 3D-Modellierung. In der Tat ist der JavaFX-Szenengraph dreidimensionaler Natur. Die meisten JavaFX-Programme arbeiten nur in zwei Dimensionen und spezifizieren nur x- und y-Koordinaten. Aber alles, was Sie tun müssen, um in die dritte Dimension zu gelangen, ist die Angabe von Z-Koordinaten, um die Knoten Ihres Szenengraphen im dreidimensionalen Raum zu platzieren.

JavaFX enthält eine umfangreiche Sammlung von Klassen, die sich der Erstellung und Visualisierung von 3D-Objekten in 3D-Welten widmen. Sie können dreidimensionale Formen wie Würfel und Zylinder erstellen. Sie können die virtuelle Kamera innerhalb des 3D-Raums bewegen, um Ihre 3D-Objekte aus verschiedenen Blickwinkeln und Perspektiven zu betrachten.

Und Sie können sogar Lichtquellen hinzufügen, um das endgültige Erscheinungsbild Ihrer virtuellen Welten sorgfältig zu steuern. Kurz gesagt, JavaFX ist in der Lage, erstaunliche 3D-Szenen zu erzeugen.

Fügen Sie Ihrer Java-Welt eine 3D-Box hinzu.

Fügen Sie in diesem Schritt ein Objekt zur 3D-Welt hinzu: In diesem Fall eine Box, die durch die Box-Klasse repräsentiert wird. Hier ist der Code:

Box box = new Box (100, 100, 100); Box. setMaterial (blueStuff); Box. setTranslateX (150); Box. setTranslateY (-100); Box. setTranslateZ (-100); Wurzel. getChildren (). hinzufügen (Kästchen);

Der Box-Konstruktor akzeptiert drei Argumente, die die Breite, Höhe und Tiefe der Box darstellen. In diesem Beispiel sind alle drei auf 100 gesetzt. Somit wird die Box als Würfel gezeichnet, wobei jede Seite 100 Einheiten misst.

Die Box erhält das gleiche Material wie der Zylinder; dann wird es auf allen drei Achsen übersetzt, so dass Sie eine perspektivische Ansicht der Box haben können. Die Abbildung zeigt, wie die Box beim Rendern erscheint. Wie Sie sehen können, sind die linken und unteren Flächen der Box sichtbar, da Sie die Position der Box nach oben und nach rechts verschoben haben, damit die Kamera eine gewisse Perspektive erhält.

Drehe die 3D-Box

Drehen Sie in diesem Schritt die Box, um eine noch interessantere perspektivische Ansicht zu erstellen. Es gibt zwei Möglichkeiten, ein 3D-Objekt zu drehen. Am einfachsten ist es, die setRotate-Methode des Objekts aufzurufen und einen Drehwinkel anzugeben:

. setRotate (25);

Standardmäßig wird dadurch das Objekt auf seiner Z-Achse gedreht. Wenn dies schwer zu visualisieren ist, stellen Sie sich vor, das Objekt mit einem langen Stab aufzuspießen, der parallel zur z-Achse ist. Drehen Sie dann das Objekt auf den Spieß.

Wenn Sie das Objekt entlang einer anderen Achse drehen möchten, rufen Sie zuerst die setRotationAxis auf. Um das Objekt beispielsweise auf der X-Achse zu drehen, verwenden Sie die folgende Sequenz:

. setRotationAxis (Drehen. X_AXIS); Box. setRotate (25);

Stellen Sie sich vor, dass Sie den Spieß mit dem Spieß parallel zur X-Achse durch die Box laufen lassen und dann die Box um 25 Grad drehen.

Das einzige Problem bei der Verwendung der setRotate-Methode zum Drehen eines 3D-Objekts ist, dass es nur auf einer Achse gleichzeitig funktioniert. Angenommen, Sie möchten die Box sowohl auf der z- als auch auf der x-Achse um 25 Grad drehen. Der folgende Code wird nicht ausführen:

. setRotationAxis (Drehen. X_AXIS); Box. setRotate (25); Box. setRotationAxis (Drehen. Z_AXIS); Box. setRotate (25);

Wenn die setRotate-Methode das zweite Mal aufgerufen wird, um die Box auf der z-Achse zu drehen, wird die x-Achsenrotation zurückgesetzt.

Um auf mehr als einer Achse zu drehen, müssen Sie stattdessen die Rotate-Klasse verwenden. Sie erstellen eine separate Rotate-Instanz für jede Achse, an der Sie das Objekt drehen möchten, und fügen dann alle Instanzen von Rotate über die getTransforms () zur Transformationssammlung des Objekts hinzu. addAll-Methode, wie folgt:

Rotiere rxBox = new Rotiere (0, 0, 0, 0, Rotate. X_AXIS); Rotiere ryBox = neu Rotiere (0, 0, 0, 0, Rotiere. Y_AXIS); Rotiere rzBox = neu Rotiere (0, 0, 0, 0, Rotate. Z_AXIS); rxBox. setAngle (30); RyBox. setAngle (50); rzBox. setAngle (30); Box. getTransforms (). addAll (rxBox, ryBox, rzBox);

Der Konstruktor Rotate akzeptiert vier Parameter. Die ersten drei sind die X-, Y- und Z-Koordinaten des Punktes innerhalb des Objekts, durch den die Rotationsachse verläuft. Normalerweise geben Sie für diese Parameter Nullen an, um das Objekt um seinen Mittelpunkt zu drehen. Der vierte Parameter gibt die Rotationsachse an.

Diese Abbildung zeigt, wie die Box nach dem Drehen angezeigt wird.

Die Box, nachdem sie gedreht wurde.

Programmierbeispiel für javaFX: 3D Box - Dummies

Die Wahl des Herausgebers

ÜBen Mathe-Fragen für die Praxis: Sequenzen - Dummies

ÜBen Mathe-Fragen für die Praxis: Sequenzen - Dummies

Wenn Sie eine Frage zur Praxis Core-Prüfung beantworten Wenn Sie eine arithmetische oder geometrische Sequenz lösen müssen, denken Sie daran: Es geht darum, regelmäßige Muster zu finden - und manchmal rückwärts zu arbeiten. In den folgenden Übungsfragen fängst du damit an, einen bestimmten Begriff in einer Folge zu finden (einfach: suche einfach nach dem Unterschied zwischen jedem ...

ÜBen Mathematische Fragen für die Praxis: Ähnliche und kongruente Formen - Dummies

ÜBen Mathematische Fragen für die Praxis: Ähnliche und kongruente Formen - Dummies

Auch wenn zwei Formen aussehen identisch, können sie nicht sein. Zum Beispiel können Sie bei der Praxis Core-Prüfung auf eine Frage stoßen, bei der zwei Formen gleich aussehen, aber es wird Ihnen gesagt, sie seien "ähnlich". " Was bedeutet das? Was ist, wenn sie als "kongruent" gekennzeichnet sind? Wenn Sie sich nicht sicher sind, sollten die folgenden Übungsfragen (und ihre Erklärungen) ...

ÜBen Mathematische Fragen für die Praxis: Vereinfachen eines algebraischen Ausdrucks - Dummys

ÜBen Mathematische Fragen für die Praxis: Vereinfachen eines algebraischen Ausdrucks - Dummys

Einige algebraische Ausdrücke auf der Praxis Core Prüfung kann einschüchternd aussehen, und Sie können sogar auf sie aufgeben und weitermachen. Wie Sie in den folgenden Übungsfragen sehen werden, können Sie jedoch einige einfache Techniken verwenden, wie das Faktorisieren und Kombinieren von ähnlichen Begriffen, um sie zu lösen. Übungsfragen Welche der folgenden ist die vereinfachte ...

Die Wahl des Herausgebers

Fotografieren im Sportmodus mit einer Canon EOS Rebel T3-Kamera - Dummies

Fotografieren im Sportmodus mit einer Canon EOS Rebel T3-Kamera - Dummies

Der Sportmodus der Canon Rebel T3 und T3i führt zu einer Reihe von Einstellungen, mit denen Sie sich bewegende Motive fotografieren können. Zunächst wählt die Kamera eine kurze Verschlusszeit aus, die zum Stoppen der Bewegung benötigt wird. "Farben, Schärfe und Kontrast sind alle im Sportmodus Standard, wobei keine der Anpassungen im Portrait ...

Aufnahme von Bildern im Nahaufnahmemodus mit einer Canon EOS Rebel T3-Kamera

Aufnahme von Bildern im Nahaufnahmemodus mit einer Canon EOS Rebel T3-Kamera

Der Nahaufnahme-Modus der Canon Rebel T3 und T3i ermöglicht es Ihnen nicht, näher am Motiv zu fokussieren als bei einigen Nicht-Spiegelreflexkameras. Die Nahfokussierungsfähigkeiten Ihrer Kamera hängen ganz von der Linse ab, die Sie verwenden. (In der Bedienungsanleitung Ihres Objektivs sollte die minimale Fokussierentfernung angegeben werden.) Auswahl des Nahaufnahmemodus ...

Fotografieren im Querformat mit einer Canon EOS Rebel T3-Kamera - Dummies

Fotografieren im Querformat mit einer Canon EOS Rebel T3-Kamera - Dummies

Der Landschaftsmodus der Canon Rebel T3 und T3i, der für die Aufnahme von Aussichtspunkten, Stadtskylinen und anderen großformatigen Motiven konzipiert wurde, erzeugt eine große Schärfentiefe. Infolgedessen erscheinen Objekte, die sich sowohl in der Nähe der Kamera als auch in einiger Entfernung befinden, scharf fokussiert. Wie im Hochformat-Modus erreicht der Querformat-Modus die größere Schärfentiefe durch Manipulieren von ...

Die Wahl des Herausgebers

Erstellen und Verwenden von Verknüpfungen im dynamischen GP-Navigationsbereich - Dummies

Erstellen und Verwenden von Verknüpfungen im dynamischen GP-Navigationsbereich - Dummies

Microsoft Dynamics GP-Verknüpfungen werden angezeigt. Der obere Teil des Navigationsfensters, wenn Sie Ihre Dynamics GP Homepage anzeigen. Verwenden Sie Verknüpfungen, um häufig verwendete Fenster und Ressourcen in Dynamics GP schnell zu öffnen. Zum Beispiel können Sie einen Satz von Verknüpfungen zu den Fenstern erstellen, die Sie regelmäßig verwenden, und einen anderen Satz für die ...

MYOB Software für Dummies-Spickzettel (Neuseeland-Ausgabe) - Dummies

MYOB Software für Dummies-Spickzettel (Neuseeland-Ausgabe) - Dummies

Sie können MYOB verwenden für Ihre Geschäftsanforderungen schnell und einfach durch diese einfachen Verknüpfungen. Wenn Sie zusätzliche Hilfe benötigen, bieten viele Websites MYOB-Unterstützung an.

MYOB Software für Dummies Cheat Sheet (Australische Ausgabe) - Dummies

MYOB Software für Dummies Cheat Sheet (Australische Ausgabe) - Dummies

Mit MYOB für Ihre Unternehmensanforderungen kann durch diese einfachen Abkürzungen noch schneller und einfacher gemacht werden. Und wenn Sie Hilfe benötigen, gibt es viele Websites, die Unterstützung anbieten.