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

Jeżeli jesteś za filtrem sieci web, prosimy, upewnij się, że domeny *.kastatic.org i *.kasandbox.org są odblokowane.

Główna zawartość

Co to są kształty 3D?

Ten poradnik jest autorstwa Petera Collingridge i pochodzi z jego strony internetowej.
Jeśli uczycie się programować na Khan Academy, prawdopodobnie narysowaliście już dużo kształtów 2D, takich jak prostokąty i koła. Pewnie też zastanawialiście się jak narysować kształty trójwymiarowe, takie jak sześciany i kule.
Cóż, biblioteka ProcessingJS której używamy w trakcie naszych kursów nie jest przeznaczona do tworzenia grafik trójwymiarowych. Mimo to, dzięki odrobinie trygonometrii możemy napisać swój własny silnik do grafiki 3D, a dzięki temu dowiemy się jak tworzy się grafiki trójwymiarowej (oraz dlaczego warto nauczyć się trygonometrii, poza chęcią uszczęśliwienia swojego nauczyciela!).
Oto przykład tego rodzaju programu, jaki będziecie w stanie stworzyć - użyjcie myszki by obracać pączek:

Czym jest grafika trójwymiarowa?

Ponieważ ekrany komputerowe są dwuwymiarowe, grafika trójwymiarowa to tylko iluzja optyczna która oszukuje nasz mózg, aby myślał, że widzi obiekt trójwymiarowy. Oto prosty przykład:
Trójwymiarowy sześcian
Trzy równoległoboki udające sześcian
Sposób działania silników grafiki trójwymiarowej opiera się na obliczaniu jakie obiekty dwuwymiarowe obiekt trójwymiarowy wyświetliłby na ekranie. Tak więc aby napisać nasz własny silnik 3D, musimy wiedzieć jak wykonywać obliczenia tego typu. Nasz program nie będzie tak szybki jak większość silników trójwymiarowych, ale pozwoli nam zrozumieć podstawowe zasady, jakie nimi kierują.

Przedstawianie kształtów

Silnik grafiki trójwymiarowej bierze obiekt trójwymiarowej i konwertuje go do postaci grafik dwuwymiarowych... Ale jak przedstawić obiekt trójwymiarowy za pomocą kodu?
Pojedynczy punkt w przestrzeni trójwymiarowej jest łatwy do przedstawienia za pomocą tablicy zawierającej trzy liczby. Dla przykładu, możemy za pomocą [30, 80, 55] aby przedstawić punkt odsunięty o 30 pikseli na osi poziomej (x), 80 pikseli na osi pionowej(y) oraz 55 pikseli na osi ukośnej. Pobawcie się chwilę poniższym punktem, obracając za pomocą myszki i kombinując z liczbami:
Reprezentacja linii także jest proste: po prostu wystarczy połączyć dwa punkty. Jednym ze sposobów, aby zaprezentować obiekt trójwymiarowy jest przerobienie go na zbiór linii. Nazywa się to szkieletem modelu i wygląda jak obiekt stworzony z siatki. Oczywiście nie jest to najlepszy sposób na przedstawianie obiektów, ale to dobry początek.

Pojęcia

Poniżej znajduje się kilka pojęć, których będziemy używać podczas omawiania kształtów trójwymiarowych. Inne pojęcia mogą być używane w innych miejscach, ale te są raczej popularne.
  • Węzeł: punkt przedstawiany za pomocą trzech koordynat: x, y oraz z (znany jest też pod nazwą wierzchołka).
  • Krawędź: linia łącząca dwa punkty.
  • Ściana: powierzchnia opisywana przez przynajmniej trzy punkty.
  • Szkielet modelu: kształt składający się tylko z węzłów i krawędzi.

Chcesz dołączyć do dyskusji?

Na razie brak głosów w dyskusji
Rozumiesz angielski? Kliknij tutaj, aby zobaczyć więcej dyskusji na angielskiej wersji strony Khan Academy.