ZL31ARM: funkcje graficzne 3D

Teraz można wywoływać tę funkcją podając dwie współrzędne na płaszczyźnie (x,y), 3 kąty obrotu oraz to czy ma być widoczny czy nie.

Ukrywanie niewidocznych krawędzi sześcianu

Jednym ze sposobów nadania bryle solidnej formy jest usunięcie tych krawędzi, które znajdują się z „tyłu”. Zrealizowana tutaj metoda ukrywania tych elementów działa dość dobrze tylko dla sześcianu. W przypadku innych brył należałoby zmodyfikować kod, jednak możliwe, że nie ze wszystkimi rodzajami brył ta metoda będzie współpracować.
Idea polega na tym, aby po obróceniu sześcianu i przed jego wyświetleniem, wyrzucić niepotrzebne krawędzie. Jako, że przyjęty globalny układ jest nieruchomy i jego oś z jest prostopadła i skierowana w stronę wyświetlacza, to zawsze przynajmniej jedna krawędź będzie miała ujemne współrzędne początku i końca w osi z. Przy wyznaczaniu wszystkich takich linii są znajdowane pewne wartości graniczne, dolne i górne w osi x i y. Dzięki nim będzie można określić czy dana krawędź jest widoczna czy nie. Ilustruje to poniższy kod:

Następnie należy wyszukać niewidocznych krawędzi:

Nowy zbiór krawędzi jest zapamiętywany w tablicy tempBUF[], która zostanie następnie wyświetlona:

Do pobrania

O autorze