If you're seeing this message, it means we're having trouble loading external resources on our website.

Ha webszűrőt használsz, győződj meg róla, hogy a *.kastatic.org és a *.kasandbox.org nincsenek blokkolva.

Fő tartalom

Mik azok a 3D alakzatok?

Ez az oktatóanyag Peter Collingridge munkája, az eredeti verzió a honlapján olvasható.
Ha egy ideje már programozol itt a Khan Academyn, valószínűleg sok 2D alakzatot rajzoltál már, például téglalapokat, ellipsziseket, és talán el is gondolkodtál azon, hogyan készíthetsz 3D alakzatokat, mondjuk kockát vagy gömböt.
A ProcessingJS könyvtár, amit itt használunk nem úgy lett tervezve, hogy 3D grafikákat kezeljen, de egy kis trigonometria segítségével elkészíthetjük a saját 3D grafikus motorunkat, és ennek során tanulhatunk egy kicsit arról is, hogyan működik a 3D grafika (és miért érdemes trigonometriát tanulni amellett, hogy ezzel örömet szerzünk a matektanároknak!).
Íme egy példa egy olyan programra, amilyet magad is elkészíthetsz – használd az egeredet a fánk körbeforgatásához:

Mik azok a 3D grafikák?

Mivel a számítógépes képernyők alapvetően kétdimenziósak, a 3D grafikák csak 2D-s optikai illúziók, amik trükkösen elhitetik az agyunkkal azt, hogy 3D objektumot látunk. Íme egy egyszerű példa:
3D kocka
Három paralelogramma, amelyek úgy tesznek, mintha egy kockát alkotnának.
Egy 3D-s grafikus motor úgy működik, hogy kiszámítja, hogy egy 3D-s objektum milyen 2D-s alakzatokat vetítene a képernyőre. Ahhoz, hogy megírd a saját 3D motorodat, tudnod kell, hogyan kell ezeket a számításokat elvégezni. A programunk nem lesz olyan gyors, mint a legtöbb 3D motor, de segíteni fog abban, hogy megértsük az alapelveket, amik mentén működnek.

Alakzatok ábrázolása

Egy 3D grafikus motor vesz egy 3D objektumot és 2D grafikákra konvertálja, de hogyan ábrázolható egy 3D objektum kóddal?
Egyetlen pontot a 3D térben egyszerűen ábrázolhatunk egy három számból álló tömbbel. Például használhatjuk a [30, 80, 55] tömböt egy pont ábrázolására, ami 30 pixelre van a vízszintes (x) tengelyen, 80 pixelre a függőleges (y) tengelyen, és 55 pixelre azon tengely mentén, ami a képernyőről kifelé mutat. Játssz az alábbi ponttal, forgasd az egérrel és állítgasd a számokat:
Egy szakasz ábrázolása is egyszerű: csak össze kell kötni két pontot. A 3D-s objektumok ábrázolásának egyik módja, hogy szakaszok csoportjává képezzük le. Ezt hívjuk drótváznak, mivel úgy néz ki az objektum, mintha drótokból állna. Ez természetesen nem túl jó akkor, ha tömör objektumot szeretnénk, de kezdeti lépésnek megfelel.

Kifejezések

Alább néhány olyan kifejezést látsz, amelyeket használni fogunk 3D alakzatok kapcsán. Lehetséges, hogy máshol más kifejezéseket használnak, de az itt találhatóak elég elterjedtek.
  • Csúcs (csomópont): három koordinátával reprezentált pont, ezek x, y és z.
  • Él: két pontot összekötő szakasz.
  • Lap: legalább három pont által meghatározott felület.
  • Drótváz: csúcsokból és élekből álló alakzat.

Szeretnél részt venni a beszélgetésben?

Még nincs hozzászólás.
Tudsz angolul? Kattints ide, ha meg szeretnéd nézni, milyen beszélgetések folynak a Khan Academy angol nyelvű oldalán.