Hjem Personlig finansiering JavaFX Programmeringseksempel: 3D Box - dummies

JavaFX Programmeringseksempel: 3D Box - dummies

Indholdsfortegnelse:

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

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

JavaFX har indbygget understøttelse til realistisk 3D-modellering. Faktisk er JavaFX scene grafen tredimensionel i naturen. De fleste JavaFX-programmer fungerer kun i to dimensioner og angiver kun x- og y-koordinater. Men alt hvad du skal gøre for at gå ind i den tredje dimension er at angive z-koordinater for at placere noderne på din scenediagram i tredimensionelt rum.

JavaFX indeholder et rigt sæt klasser, der er dedikeret til at skabe og visualisere 3D-objekter i 3D-verdener. Du kan oprette tredimensionale former, som f.eks. Terninger og cylindre. Du kan flytte det virtuelle kamera rundt i 3D-rummet for at se på dine 3D-objekter fra forskellige vinkler og forskellige perspektiver.

Og du kan endda tilføje lyskilder for nøje at kontrollere det endelige udseende af dine virtuelle verdener. Kort sagt, JavaFX er i stand til at producere forbløffende 3D scener.

Tilføj en 3D-boks til din Java-verden

I dette trin skal du tilføje et objekt til 3D-verdenen: I dette tilfælde en boks, der er repræsenteret af bokseklassen. Her er koden:

Kasse boks = Ny kasse (100, 100, 100); boks. setMaterial (blueStuff); boks. setTranslateX (150); boks. setTranslateY (-100); boks. setTranslateZ (-100); rod. getChildren (). tilføje (boks);

Boxkonstruktøren accepterer tre argumenter, der repræsenterer bredden, højden og dybden af ​​boksen. I dette eksempel er alle tre sat til 100. Således bliver kassen tegnet som en terning med hver side, der måler 100 enheder.

Boksen er givet samme materiale som cylinderen; så er det oversat på alle tre akser, så du kan få et perspektivisk billede af kassen. Figuren viser hvordan boksen vises, når den gengives. Som du kan se, er boksens venstre og nederste side synlige, fordi du oversatte placeringen af ​​kassen op og til højre, så kameraet kan få noget perspektiv.

Drej 3D-boksen

I dette trin skal du dreje boksen for at skabe en endnu mere interessant perspektivvisning. Der er to måder at rotere en 3D-objekt på. Det enkleste er at kalde objektets setRotate-metode og levere en rotationsvinkel:

boks. setRotate (25);

Som standard vil dette rotere objektet på sin z-akse. Hvis det er svært at visualisere, forestil dig at skære objektet med en lang pind, der er parallel med z-akse. Drej derefter objektet på spyddet.

Hvis du vil rotere objektet langs en anden akse, skal du først ringe til setRotationAxis. Hvis du f.eks. Skal dreje objektet på sin x-akse, skal du bruge denne sekvens:

boksen. setRotationAxis (Rotate. X_AXIS); boks. setRotate (25);

Forestil dig at køre spyden gennem kassen med spyddet parallelt med x-aksen og derefter spinde boksen 25 grader.

Det eneste problem med at bruge setRotate-metoden til at rotere et 3D-objekt er, at det kun virker på en akse ad gangen. Antag for eksempel, at du vil rotere boksen 25 grader på både z- og x-aksen. Følgende kode vil ikke gøre dette:

boks. setRotationAxis (Rotate. X_AXIS); boks. setRotate (25); boks. setRotationAxis (Rotate. Z_AXIS); boks. setRotate (25);

Når setRotate-metoden kaldes anden gang for at rotere boksen på z-aksen, nulstilles x-aksens rotation.

For at rotere på mere end en akse, skal du bruge Rotate-klassen i stedet. Du opretter en separat Rotate-forekomst for hver akse, du vil rotere objektet på, og derefter tilføjer alle de roterende forekomster til objektets Transforms-samling via getTransforms (). addAll metode, som denne:

Rotate rxBox = new Rotate (0, 0, 0, 0, Rotate. X_AXIS); Drej 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); boks. getTransforms (). addAll (rxBox, ryBox, rzBox);

Rotatekonstruktøren accepterer fire parametre. De første tre er x-, y- og z-koordinaterne for punktet i objektet, gennem hvilket rotationsaksen vil passere. Typisk angiver du nuller for disse parametre for at rotere objektet omkring dets midterpunkt. Den fjerde parameter angiver rotationsaksen.

Denne figur viser, hvordan kassen vises, efter at den er blevet roteret.

Boksen efter at den er blevet roteret.

JavaFX Programmeringseksempel: 3D Box - dummies

Valg af editor

Fuld redigeringsfunktion i Photoshop Elements 10 - dummies

Fuld redigeringsfunktion i Photoshop Elements 10 - dummies

Fuld fotoredigeringsfunktion tilbyder bundter af værktøjer, som du kan bruge at redigere dine billeder, fra korrektionsværktøjer til fastsættelse af farve og klarhed til filtre, lag og meget mere for at ændre eksisterende fotos eller skabe helt originale billeder fra bunden. Men alle disse værktøjer gør også Komplet fotoredigeringstilstand kompleks. Du kan flytte ind i ...

Generelle blandingsformer i Photoshop Elements - dummies

Generelle blandingsformer i Photoshop Elements - dummies

Elementer spænder over 25 blandingstilstande. Blend modes påvirker hvordan farver interagerer mellem lag og også hvordan farver interagerer, når du anvender maling på et lag. Ikke alene gør blandingstilstande interessante effekter, men du kan også nemt anvende, redigere eller fjerne blandingsfunktioner uden at røre dine billedpixel. De forskellige blandingstilstande ...

Geometriske formindstillinger i Photoshop Elements - dummies

Geometriske formindstillinger i Photoshop Elements - dummies

Geometriindstillinger hjælpe med at definere, hvordan dine figurer ser ud. Klik på nedpegepilen i værktøjsindstillingerne i Elements for at få adgang til de geometriske indstillinger, der beskrives i det følgende. Rektangulære og afrundede rektangel geometriske indstillinger Her er geometriske indstillinger for rektangel og afrundede rektangelformer: Ubegrænset: Giver dig mulighed for at få fri tøj til at tegne en ...

Valg af editor

Sådan bygger du tabeller i HTML5 - dummies

Sådan bygger du tabeller i HTML5 - dummies

Sommetider indeholder din webside data bedst fremlagt i et bord . Du kan bruge HTML5's komplette bordsystem til at oprette tabeller som den i dette eksempel: Den grundlæggende struktur i et bord i HTML-format er rimeligt let at forstå; Tjek koden, der oprettede tabellen i eksemplet:

Hvordan man ændrer gentagne baggrunde på CSS3-steder - dummier

Hvordan man ændrer gentagne baggrunde på CSS3-steder - dummier

Der er situationer, hvor man kun vil en enkelt kopi af et baggrundsbillede på dit CSS3-websted. Det kan være, at billedet du har brugt er noget, der ikke gentager sig godt eller er stort nok til, at du virkelig ikke vil have det gentaget. Følgende procedure viser en teknik, du kan bruge til at fortælle ...

Hvordan man opbygger en webside skabelon fra scratch-dummies

Hvordan man opbygger en webside skabelon fra scratch-dummies

Standardværktøjet på tværs af digitalt agenturer og interne afdelinger til opbygning af website grafik er Adobe Photoshop. Selvom fyrværkeri er optimeret og målrettet til at producere web-grafiske kildefiler, er det bare ikke fanget, sandsynligvis på grund af den massive genoplæringsindsats ville det medføre, at hele afdelinger gør omskifteren. At oprette et nyt ...

Valg af editor

Sådan godkendes medlemmer til din LinkedIn Group - dummier

Sådan godkendes medlemmer til din LinkedIn Group - dummier

Som flere og flere mennesker finder ud af din ny LinkedIn-gruppe, og som medlemmer begynder at deltage, kan du opleve, at nogle af de personer, der har klikket på linket for at deltage, ikke er på din forhåndsgodkendte liste. Måske er de mennesker, du ikke har forstået var på LinkedIn, eller du var ikke klar over, at de var gyldige grupper ...

Hvordan man tilføjer billeder til kroppen i din LinkedIn-profil til Visual Social Marketing - dummies

Hvordan man tilføjer billeder til kroppen i din LinkedIn-profil til Visual Social Marketing - dummies

Ud over et profilbillede giver LinkedIn brugere mulighed for at forbedre de visuelle sociale markedsføringselementer i deres profiler ved at tilføje billeder til deres profilprofil. Du kan tilføje billeder til ethvert afsnit i din LinkedIn-profil. Tilføjelse af billeder til din profil kan hjælpe dig med at fortælle din historie visuelt og ...

Sådan tilføjer du en virksomhedsside til LinkedIn - dummies

Sådan tilføjer du en virksomhedsside til LinkedIn - dummies

, Når du har opfyldt kravene til oprettelse en virksomhedsside på LinkedIn, er det tid til at komme i gang ved at tilføje selskabets side til Linkedins system. For at oprette din virksomhedsside skal du blot følge disse trin: