Huis Persoonlijke financiën JavaFX Programmeringsvoorbeeld: 3D Box - dummies

JavaFX Programmeringsvoorbeeld: 3D Box - dummies

Inhoudsopgave:

Video: JavaFX Java GUI Tutorial - 1 - Creating a Basic Window 2025

Video: JavaFX Java GUI Tutorial - 1 - Creating a Basic Window 2025
Anonim

JavaFX heeft ingebouwde ondersteuning voor realistische 3D-modellering. De grafische scène van JavaFX is zelfs driedimensionaal van aard. De meeste JavaFX-programma's werken in slechts twee dimensies, waarbij alleen de x- en y-coördinaten worden opgegeven. Maar alles wat u hoeft te doen om in de derde dimensie te stappen, is om z-coördinaten te specificeren om de knooppunten van uw scènegrafiek in een driedimensionale ruimte te plaatsen.

JavaFX bevat een uitgebreide reeks klassen die zijn bedoeld voor het maken en visualiseren van 3D-objecten in 3D-werelden. U kunt driedimensionale vormen maken, zoals kubussen en cilinders. U kunt de virtuele camera verplaatsen in de 3D-ruimte om uw 3D-objecten vanuit verschillende hoeken en vanuit verschillende perspectieven te bekijken.

En je kunt zelfs lichtbronnen toevoegen om het uiteindelijke uiterlijk van je virtuele werelden nauwkeurig te regelen. Kortom, JavaFX kan verbluffende 3D-scènes produceren.

Voeg een 3D-box toe aan uw Java-wereld

Voeg in deze stap een object toe aan de 3D-wereld: in dit geval een box, weergegeven door de klasse Box. Hier is de code:

Box box = new Box (100, 100, 100); doos. setMaterial (bluestuff); doos. setTranslateX (150); doos. setTranslateY (-100); doos. setTranslateZ (-100); wortel. getChildren (). voeg (doos);

De Box-constructor accepteert drie argumenten die de breedte, hoogte en diepte van het vak vertegenwoordigen. In dit voorbeeld zijn alle drie ingesteld op 100. Het vak wordt dus getekend als een kubus met aan elke zijde 100 eenheden.

De doos krijgt hetzelfde materiaal als de cilinder; vervolgens wordt het op alle drie assen vertaald, zodat u een perspectiefweergave van het kader kunt hebben. De afbeelding laat zien hoe het vak verschijnt als het wordt weergegeven. Zoals u kunt zien, zijn de linker- en onderkant van de doos zichtbaar omdat u de positie van het vak omhoog en naar rechts hebt vertaald, zodat de camera wat perspectief kan krijgen.

Draai de 3D-box

Draai in deze stap het vakje om een ​​nog interessanter perspectiefbeeld te maken. Er zijn twee manieren om een ​​3D-object te roteren. Het eenvoudigste is om de methode setRotate van het object aan te roepen en een rotatiehoek toe te voegen:

box. setRotate (25);

Standaard roteert dit het object op zijn z-as. Als dit moeilijk te visualiseren is, stel je voor dat je het object spies met een lange stok die evenwijdig is aan de z-as. Draai vervolgens het voorwerp aan de spies.

Als u het object langs een andere as wilt draaien, roept u eerst de setRotationAxis op. Als u bijvoorbeeld het object op de x-as wilt laten draaien, gebruikt u dit vak:

. setRotationAxis (Rotate. X_AXIS); doos. setRotate (25);

Stel je voor dat je de spies door de doos met de spies evenwijdig aan de x-as laat lopen en vervolgens de doos 25 graden ronddraait.

Het enige probleem met het gebruik van de methode setRotate om een ​​3D-object te roteren, is dat het slechts op één as tegelijk werkt. Stel dat u het kader 25 graden wilt roteren op zowel de z- als de x-as. De volgende code zal dit niet bereiken:

kader. setRotationAxis (Rotate. X_AXIS); doos. setRotate (25); doos. setRotationAxis (Rotate. Z_AXIS); doos. setRotate (25);

Wanneer de methode setRotate de tweede keer wordt aangeroepen om het vak op de z-as te draaien, wordt de rotatie van de x-as opnieuw ingesteld.

Als u wilt roteren op meer dan één as, moet u in plaats daarvan de klasse Rotate gebruiken. U maakt een afzonderlijke Rotate-instantie voor elke as waarop u het object wilt draaien en voegt vervolgens alle exemplaren van Rotate toe aan de Transforms-verzameling van het object via getTransforms (). addAll-methode, zoals deze:

Rotate rxBox = new Rotate (0, 0, 0, 0, Rotate. X_AXIS); Roty ryBox = new Rotate (0, 0, 0, 0, Rotate. Y_AXIS); Rotate rzBox = new Rotate (0, 0, 0, 0, Rotate. Z_AXIS); rxBox. setAngle (30); ryBox. setAngle (50); rzBox. setAngle (30); doos. getTransforms (). addAll (rxBox, ryBox, rzBox);

De Rotate-constructor accepteert vier parameters. De eerste drie zijn de x-, y- en z-coördinaten van het punt binnen het object waardoor de rotatie-as zal passeren. Doorgaans geeft u nullen op voor deze parameters om het object rond het middelpunt ervan te draaien. De vierde parameter geeft de rotatieas aan.

Deze afbeelding laat zien hoe het vak wordt weergegeven nadat het is geroteerd.

Het vakje nadat het is geroteerd.

JavaFX Programmeringsvoorbeeld: 3D Box - dummies

Bewerkers keuze

Hoe Tekst selecteren in Word 2013 - dummies

Hoe Tekst selecteren in Word 2013 - dummies

Blokken tekst selecteren in Word 2013 voordat u een bewerking uitvoert of de opmaakopdracht stelt u in staat om in één keer op het hele blok te reageren. U kunt bijvoorbeeld meerdere alinea's selecteren voordat u nieuwe regelspatiëring of inspringende instellingen toepast, en die instellingen zijn van toepassing op elke alinea in de selectie. U kunt op veel verschillende manieren ...

Tekst selecteren met uw toetsenbord in Word 2007 - dummies

Tekst selecteren met uw toetsenbord in Word 2007 - dummies

Het geheim van het gebruik van het toetsenbord om tekst te selecteren in Word 2007 is de Shift-toets. Door deze ingedrukt te houden, kunt u de standaardtoetsenbordopdrachten gebruiken die de invoegwijzer verplaatsen om blokken tekst te selecteren. Gebruik deze Shift-toetsmethoden om alleen kleine stukjes tekst te selecteren. Anders zou je uiteindelijk kunnen binden ...

Hoe een document verzenden via e-mail in Word 2016 - dummies

Hoe een document verzenden via e-mail in Word 2016 - dummies

E-mailen naar uw Word 2016-document is in een handomdraai - zolang u Microsoft Outlook als uw e-mailprogramma gebruikt. Als dit niet het geval is, moet u uw document opslaan zoals u dat normaal zou doen en vervolgens uw e-mailprogramma (dat geen Outlook is) gebruiken om een ​​nieuw bericht te maken met het document dat als bestandsbijlage is gekozen. Als ...

Bewerkers keuze

Het Photoshop Elements 10 Image Window - dummies

Het Photoshop Elements 10 Image Window - dummies

Zorg ervoor dat er een afbeelding in het beeldvenster in Photoshop is geladen Elementen 10. Hier volgt een korte blik op belangrijke hulpmiddelen en functies in het afbeeldingsvenster. Bestandsnaam. Verschijnt boven het afbeeldingsvenster voor elk geopend bestand in de Editor. Sluiten knop. Klik op de X rechts van de bestandsnaam om te sluiten ...

De selectiekaderopties in Photoshop Elements 11 - dummies

De selectiekaderopties in Photoshop Elements 11 - dummies

De gereedschapsopties biedt oodles van andere opties wanneer u Selectiekaders voor selectiekader maken. Met sommige van deze opties kunt u nauwkeurige selecties maken door exacte metingen op te geven. Anderen stellen u in staat om selecties met zachte randen te maken. U moet de opties selecteren in de gereedschapsopties, zoals weergegeven in afbeelding 1-3, voordat u uw selectie maakt met ...

Het gereedschap Cookie Cutter-tool Photoshop Elements - dummies

Het gereedschap Cookie Cutter-tool Photoshop Elements - dummies

Het hulpmiddel Cookie Cutter in Photoshop Elements 11 is een leuke naam voor een krachtig hulpmiddel. Zie het als een hulpmiddel voor aangepaste vorm voor afbeeldingen. Maar terwijl het hulpmiddel Aangepaste vorm een ​​masker maakt en alleen alles buiten de vorm verbergt, snijdt de koekjesvormer alles buiten de vorm weg, net als bij een traditioneel koekje ...

Bewerkers keuze

Achterlijke ejaculatie: als een man niet kan ejaculeren - dummies

Achterlijke ejaculatie: als een man niet kan ejaculeren - dummies

Geloof het of niet, daar is zoiets als te lang duren tijdens seks. Achterlijke ejaculatie (of mannelijke orgastische stoornis) is een aandoening waarbij een man zichzelf niet kan laten ejaculeren. Of het nu bij een man of een vrouw is, het onvermogen tot een orgasme kan geslachtsgemeenschap frustrerend of zelfs ongewenst maken. De oorzaak vinden is de ...

Natuurlijke gezinsplanning: de kalendermethode gebruiken - dummies

Natuurlijke gezinsplanning: de kalendermethode gebruiken - dummies

Een vorm van natuurlijke gezinsplanning is de kalendermethode (of de vruchtbaarheidsbewustmakingsmethode of de ritmemethode). Deze aanpak is gebaseerd op de regelmatige vruchtbaarheidspatronen die de meeste vrouwen hebben en het vermijden van seks in de tijd van de maand wanneer de vrouw het meest waarschijnlijk zwanger wordt. Met andere woorden, het ...

Natuurlijke gezinsplanning: gebruik van de Sympto-thermische methode - dummies

Natuurlijke gezinsplanning: gebruik van de Sympto-thermische methode - dummies

Natuurlijke gezinsplanning werkt het beste met de sympto-thermische methode, die alle mogelijke technieken van de natuurlijke aanpak van anticonceptie gebruikt. De sympto-thermische methode gebruikt de kalendermethode, de basale lichaamstemperatuurmethode en de cervicale mucusmethode. Deze conglomeraatbenadering biedt een methode voor anticonceptie zonder voorbehoedsmiddelen, maar is relatief nauwkeurig. Als u ...