Hjem Personlig finansiering JavaFX Programmeringseksempel: 3D Box - dummies

JavaFX Programmeringseksempel: 3D Box - dummies

Innholdsfortegnelse:

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

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

JavaFX har innebygd støtte for realistisk 3D-modellering. Faktisk er JavaFX scene grafen tredimensjonal i naturen. De fleste JavaFX-programmer fungerer i bare to dimensjoner, og angir bare x- og y-koordinater. Men alt du trenger å gjøre for å gå inn i den tredje dimensjonen er å spesifisere z-koordinater for å plassere knutepunktene til scenegrafen din i tredimensjonalt rom.

JavaFX inneholder et rikt sett med klasser som er dedikert til å lage og visualisere 3D-objekter i 3D-verdener. Du kan lage tredimensjonale former, for eksempel kuber og sylindere. Du kan flytte det virtuelle kameraet rundt i 3D-rommet for å se på dine 3D-objekter fra forskjellige vinkler og forskjellige perspektiver.

Og du kan til og med legge til lyskilder for å nøye kontrollere det endelige utseendet til virtuelle verdener. Kort sagt, JavaFX er i stand til å produsere forbløffende 3D scener.

Legg til en 3D-boks i Java-verdenen din

I dette trinnet legger du til et objekt i 3D-verdenen: I dette tilfellet en boks, representert av bokseklassen. Her er koden:

Bokseboks = Ny boks (100, 100, 100); eske. setMaterial (blueStuff); eske. setTranslateX (150); eske. setTranslateY (-100); eske. setTranslateZ (-100); rot. getChildren (). legg (boks);

Boksekonstruktøren aksepterer tre argumenter som representerer bredden, høyden og dybden av boksen. I dette eksemplet er alle tre satt til 100. Dermed blir boksen tegnet som en terning med hver side som måler 100 enheter.

Boksen er gitt samme materiale som sylinderen; da er det oversatt på alle tre aksene, slik at du kan få et perspektivvis av boksen. Figuren viser hvordan boksen vises når den gjengis. Som du kan se, er venstre og bunnflaten av boksen synlig fordi du har oversatt posisjonsposisjonen oppe og til høyre slik at kameraet kan få noe perspektiv.

Roter 3D-boksen

I dette trinnet, roter du boksen for å skape en enda mer interessant perspektivvisning. Det er to måter å rotere et 3D-objekt på. Det enkleste er å ringe objektets setRotate-metode og levere en rotasjonsvinkel:

boks. setRotate (25);

Som standard vil dette rotere objektet på sin z-akse. Hvis dette er vanskelig å visualisere, tenk å skjære objektet med en lang pinne som er parallell med z-aksen. Spinn deretter objektet på spissen.

Hvis du vil rotere objektet langs en annen akse, må du først ringe til setRotationAxis. For eksempel, for å rotere objektet på sin x-akse, bruk denne sekvensen:

-boksen. setRotationAxis (Rotate. X_AXIS); eske. setRotate (25);

Tenk å kjøre spyden gjennom boksen med spydet parallelt med x-aksen og deretter spinne boksen 25 grader.

Det eneste problemet med å bruke setRotate-metoden for å rotere en 3D-objekt er at den bare fungerer på en akse om gangen. For eksempel, antar at du vil rotere boksen 25 grader på både z- og x-aksen. Følgende kode vil ikke gjøre dette:

boksen. setRotationAxis (Rotate. X_AXIS); eske. setRotate (25); eske. setRotationAxis (Rotate. Z_AXIS); eske. setRotate (25);

Når setRotate-metoden kalles andre gang for å rotere boksen på z-aksen, tilbakestilles x-aksens rotasjon.

For å rotere på mer enn en akse må du bruke Rotate-klassen i stedet. Du oppretter en separat Rotate-forekomst for hver akse du vil rotere objektet på, og deretter legger du til alle roterende forekomster i objektets Transforms-samling via getTransforms (). Legg tilAll metode, slik:

Rotere rxBox = Ny Rotate (0, 0, 0, 0, Rotate. X_AXIS); Roter ryBox = Ny 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); eske. getTransforms (). addAll (rxBox, ryBox, rzBox);

Rotate-konstruktøren godtar fire parametere. De tre første er x-, y- og z-koordinatene til punktet i objektet gjennom hvilket rotasjonsaksen vil passere. Vanligvis angir du nuller for disse parametrene for å rotere objektet rundt midtpunktet. Den fjerde parameteren angir rotasjonsaksen.

Denne figuren viser hvordan boksen vises etter at den er rotert.

Boksen etter at den har blitt rotert.

JavaFX Programmeringseksempel: 3D Box - dummies

Redaktørens valg

Vis resultatene i forhold til et målområde i Excel-oversiktspanelet - dummies

Vis resultatene i forhold til et målområde i Excel-oversiktspanelet - dummies

Noen ganger trenger du målserier i Excel-oversikten og rapportene dine. I enkelte bedrifter er et mål ikke en verdi - det er en rekke verdier. Det vil si at målet er å holde seg innenfor et definert målområde. Tenk deg at du klarer en liten bedrift som selger esker med kjøtt. En del av jobben din er å ...

Slicer Tilpasninger for Slicers på Excel Dashboard - dummies

Slicer Tilpasninger for Slicers på Excel Dashboard - dummies

Hvis du skal bruke slicers på en Excel-dashbordet, bør du gjøre litt formatering for å få dine skiver til å passe til temaet og oppsettet på instrumentpanelet. Følgende diskusjon dekker noen formateringsjusteringer du kan gjøre til dine skiver. Størrelse og plassering av skiver En skiver oppfører seg som en standard Excel ...

Enkel statistikk i Excel Data Analyse - dummies

Enkel statistikk i Excel Data Analyse - dummies

Excel gir flere praktiske, brukervennlige verktøy for å analysere informasjon som du lagrer i et bord, inkludert noen raske og skitne statistiske verktøy. Se på følgende enkle bord. En enkel dagligvareliste. Et av de smaleste og raskeste verktøyene som Excel gir, er muligheten til enkelt å beregne summen, gjennomsnittet, antall, minimum og maksimum av ...

Redaktørens valg

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Bruk skjermfeltet til å modifisere QuickBooks 2012-rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2012-rapporter - dummies

Hvis du klikker Tilpass rapport- QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Slik bruker du QuickBooks for din hvite papir forretningsplan - dummies

Slik bruker du QuickBooks for din hvite papir forretningsplan - dummies

QuickBooks kan hjelpe deg skriv en hvit-papir forretningsplan. Folk skriver ofte en forretningsplan for hvitt papir når de vet at de trenger en strategisk plan, men ikke ønsker å ta de harde beslutningene som er nødvendige for en strategisk plan. Personen i denne konfronten skriver en lang hvit-papir forretningsplan for å camouflere den fraværende strategiske planen. ...

Redaktørens valg

Canon 60D elektronisk nivåfunksjon - dummies

Canon 60D elektronisk nivåfunksjon - dummies

Ikke hvert fotografi må være nivå med horisonten. Imidlertid lider mange typer bilder (landskap, bybilder og arkitektonisk fotografi) sterkt når kameraet er vippet. Den gammeldags løsningen for å utjevne kameraet ditt er å bruke et boble- eller åndnivå (funnet i fotobutikker) for å kontrollere kameraets justering med ...

Kamerainnstillingsdisplayet på et Canon EOS Rebel T3-serie Kamera-dummies

Kamerainnstillingsdisplayet på et Canon EOS Rebel T3-serie Kamera-dummies

På din Canon Rebel T3 eller T3i, kan du se en samling av tilleggsinnstillingsdata via kamerainnstillingsdisplayet. Denne skjermen er bare et informasjonsverktøy, men; Du kan ikke justere noen av de rapporterte innstillingene fra denne skjermen. For å vise skjermbildet Kamerainnstillinger på T3i, vis først innstillingsinnstillingene ...

Canon EOS 70D Kameraoppsett - dummies

Canon EOS 70D Kameraoppsett - dummies

Her er en oversikt over knappene, ringer og andre eksterne kontroller på Canon EOS 70D-kameraet ditt. Objektivet vist i de følgende figurene er Canon EF-S 18-135mm IS (bildestabiliseringsmodell) som selges med kameraet; Andre linser kan variere.