Acasă Finanțe personale Exemplu de programare javaFX: 3D Box - dummies

Exemplu de programare javaFX: 3D Box - dummies

Cuprins:

Video: MVC Java Tutorial 2024

Video: MVC Java Tutorial 2024
Anonim

JavaFX are suport încorporat pentru modelare realistă 3D. De fapt, graficul de scenă JavaFX are o natură tridimensională. Cele mai multe programe JavaFX funcționează în doar două dimensiuni, specificând doar coordonatele x și y. Dar tot ce trebuie să faceți pentru a intra în cea de-a treia dimensiune este să specificați z-coordonate pentru a plasa nodurile graficului de scenă în spațiul tridimensional.

JavaFX include un set bogat de clase care sunt dedicate creării și vizualizării obiectelor 3D în lumi 3D. Puteți crea forme tridimensionale, cum ar fi cuburile și cilindrii. Puteți deplasa camera virtuală în jurul spațiului 3D pentru a vă uita obiectele 3D din diferite unghiuri și perspective diferite.

Și chiar puteți adăuga surse de iluminare pentru a controla cu atenție aspectul final al lumilor dvs. virtuale. Pe scurt, JavaFX este capabil să producă scene 3D uimitoare.

Adăugați o casetă 3D în lumea dvs. Java

În acest pas, adăugați un obiect în lumea 3D: în acest caz, o casetă reprezentată de clasa Box. Iată codul:

Cutie cutie = cutie nouă (100, 100, 100); cutie. setMaterial (blueStuff); cutie. setTranslateX (150); cutie. setTranslateY (-100); cutie. setTranslateZ (-100); rădăcină. getChildren (). add (caseta);

Constructorul Box acceptă trei argumente care reprezintă lățimea, înălțimea și adâncimea casetei. În acest exemplu, toate cele trei sunt setate la 100. Astfel, caseta va fi desenată ca un cub, fiecare parte măsurând 100 de unități.

În cutie este dat același material ca și cilindrul; apoi, este tradus pe toate cele trei axe, astfel încât să puteți avea o vedere în perspectivă a cutiei. Figura arată modul în care se afișează caseta când este redată. După cum puteți vedea, fețele din stânga și de jos ale casetei sunt vizibile deoarece ați tradus poziția casetei în sus și spre dreapta, astfel încât camera să poată obține o anumită perspectivă.

Rotiți caseta 3D

În acest pas, rotiți caseta pentru a crea o vizualizare în perspectivă și mai interesantă. Există două moduri de a roti un obiect 3D. Cel mai simplu este să apelați metoda setRotate a obiectului și să furnizați un unghi de rotație:

. setRotate (25);

În mod implicit, aceasta va roti obiectul pe axa lui z. Dacă acest lucru este dificil de vizualizat, imaginați-vă oblicul obiectului cu un baston lung care este paralel cu axa z. Apoi, rotiți obiectul pe bivol.

Dacă doriți să rotiți obiectul de-a lungul unei axe diferite, mai întâi apelați setRotationAxis. De exemplu, pentru a roti obiectul pe axa sa x, utilizați această secvență:

casetă. setRotationAxis (rotiți X_AXIS); cutie. setRotate (25);

Imaginați-vă că rulați bivolul prin cutia cu bivolul paralel cu axa x și apoi răsuciți cutia cu 25 de grade.

Singura problemă cu utilizarea metodei setRotate de a roti un obiect 3D este că funcționează numai pe o axă odată. De exemplu, să presupunem că doriți să rotiți cutia de 25 de grade pe ambele axe z și x. Următorul cod va face nu această casetă:

. setRotationAxis (rotiți X_AXIS); cutie. setRotate (25); cutie. setRotationAxis (rotire Z_AXIS); cutie. setRotate (25);

Când metoda setRotate este numită a doua oară pentru a roti caseta pe axa z, rotirea axei x este resetată.

Pentru a vă roti pe mai multe axe, trebuie să utilizați în schimb clasa Rotate. Creați o instanță separată Rotate pentru fiecare axă pe care doriți să rotiți obiectul și apoi adăugați toate instanțele Rotate la colecția Transforms a obiectului prin intermediul getTransforms (). metoda addAll, astfel:

Rotire rxBox = new Rotire (0, 0, 0, 0, Rotire, X_AXIS); Rotire ryBox = rotire nouă (0, 0, 0, 0, rotire Y_AXIS); Rotire rzBox = rotire nouă (0, 0, 0, 0, rotire, Z_AXIS); rxBox. setAngle (30); ryBox. setAngle (50); rzBox. setAngle (30); cutie. getTransforms (). addAll (rxBox, ryBox, rzBox);

Constructorul Rotate acceptă patru parametri. Primele trei sunt coordonatele x, y și z ale punctului din interiorul obiectului prin care va trece axa de rotație. De obicei, specificați zerouri pentru ca acești parametri să rotească obiectul în jurul punctului său central. Al patrulea parametru specifică axa de rotație.

Această cifră arată cum apare caseta după ce a fost rotită.

Cutia după ce a fost rotită.

Exemplu de programare javaFX: 3D Box - dummies

Alegerea editorilor

Cum se folosește Tweening în Fireworks CS5 - manechine

Cum se folosește Tweening în Fireworks CS5 - manechine

Tweening este furnizat ca instrument pentru animații fine de ajustare în Adobe Fireworks Creative Suite 5. Tweening este procesul de creare a unei stări între alte două, de obicei ca punct de pornire sau oprire pentru animație. Utilizați retușarea pentru a simula un obiect în mișcare, ca o minge ce se învârte sau pentru a bloca o imagine în sau în afara ...

ActionScript 3. 0 Versus ActionScript 2. 0 în Flash CS5 - manechine

ActionScript 3. 0 Versus ActionScript 2. 0 în Flash CS5 - manechine

Introducerea în Flash Player 9, ActionScript versiunea 3. 0 a adus multe schimbări și îmbunătățiri majore în ceea ce privește performanța ActionScript și modul în care a fost creat în filmele Flash. Versiunile anterioare ale ActionScript (1. 0+, 2. 0) sunt încă în uz în cadrul anumitor proiecte Flash, deci aveți opțiuni pentru crearea sau salvarea de filme ...

Adăugați culori la swatches în Flash CS5 - manechine

Adăugați culori la swatches în Flash CS5 - manechine

Folosind panoul Color Adobe Creative Suite 5, și să creați propriile swatches de culoare, să faceți gradienți și chiar să aplicați efecte de transparență culorilor existente în stadiul Flash CS5. Panoul Swatches există și pe propriul panou mobil plutitor, pe care îl puteți deschide selectând Window → Swatches. Cele 256 culori pe acest ...

Alegerea editorilor

Comutatoare vLAN și LAN și Junos OS - manechine

Comutatoare vLAN și LAN și Junos OS - manechine

Rețelele au crescut și au devenit mai rapide. Pentru flexibilitate, segmentarea fizică a dat calea segmentării logice cu VLAN-uri. Această practică creează bucăți izolate de LAN care sunt legate împreună cu un tip special de pod numit switch. Nevoia de punți VLANs reduce ...

Chestiuni legate de securitatea dispozitivelor mobile - dummy

Chestiuni legate de securitatea dispozitivelor mobile - dummy

Dispozitivele mobile, cum ar fi smartphone-urile și tabletele, și accesul oricând / oriunde la date și aplicații corporative. Această flexibilitate nu este însă fără provocările sale. Iată câteva dintre problemele legate de implementarea dispozitivelor mobile pe care trebuie să le protejați împotriva: Pierderi și furt: Acestea sunt preocupări majore, cu sute de mii ...

Ce ar trebui să știți despre actualizarea Junos - dummies

Ce ar trebui să știți despre actualizarea Junos - dummies

Un subiect esențial pentru operarea rețelei dvs. este actualizarea software-ului. Modelul de livrare a noilor versiuni Junos simplifică procesul de modernizare în comparație cu alte sisteme de rețea. Noile versiuni și numere Juniper livrează noi versiuni majore ale sistemului Junos pentru a oferi clienților noștri noi caracteristici și funcționalități de trei până la patru ori pe an. ...

Alegerea editorilor

Sănătatea < < și rușinea ascunsă - dummies

Sănătatea < < și rușinea ascunsă - dummies

ÎN mod normal, rușinea trece după un incident jenant. copilărie. Se asteapta sa fie activata si persista mult timp dupa eveniment, ca o rana deschisa care nu sa vindecat niciodata. Îți este rușine de cine ești. Totul este omniprezent, paralizează spontaneitatea și te definește. Nu credeți ...

Acceptând Realitatea atunci când Vindecarea de la Codependency - dummies

Acceptând Realitatea atunci când Vindecarea de la Codependency - dummies

Acceptarea este un proces. Nu se întâmplă într-o zi, o săptămână sau o lună, dar face eforturi și se desfășoară în pași și rânduri de bebeluși. Schimbarea începe cu conștientizarea. Observați dacă comportamentul și gândurile dvs. ating rezultatele dorite. Apoi, practici nonattachment. Acceptarea nu este aprobarea Acceptarea este o recunoaștere a ceea ce este. Există un ...

Dependența de coexistență nu este Caregiving - manechine

Dependența de coexistență nu este Caregiving - manechine

Mulți oameni, în special femei, se bucură de îngrijire și îngrijire pentru alții. Unii fac o profesie. Mamele sunt legate prin cablu pentru a se îngriji de copiii lor. Îngrijirea de tip dependent este diferită de a acorda îngrijire unei persoane. De fapt, cu dependența de codependență, poate fi mai mult decât să dai atunci când nevoile dătătorului au prioritate. Acest lucru se datorează faptului că îngrijirea ...