Autor Wątek: Zaznaczanie punktu  (Przeczytany 602 razy)

Offline Kalvot

  • Użytkownik

# Kwiecień 12, 2011, 13:42:23
Siemka

Przy pisaniu programu na zaliczenie z informatyki trafiłem na problem z zaznaczeniem punktu w 3D. Mój program obraca szkielet sześcianu. Na jego krawędziach chce zaznaczać sobie myszką punkty. Nie za bardzo wiem jak się za to zabrać. Sześcian, to zbiór wierzchołków, krawędzie nie istnieją jako obiekty i są tylko liniami na ekranie. Piszę w D+SDL, ale C++ też rozumiem ;)

Możecie mi powiedzieć jak to zrobić?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Esidar

  • Użytkownik

# Kwiecień 12, 2011, 14:00:58
Oblicz "ręcznie" współrzędne każdego wierzchołka (czyli pozycja w 3D przemnożona przez wszystkie macierze włącznie z macierzą projekcji). Potem z pozycji wierzchołka w 2D robisz prostokąt którego środkiem jest ta pozycja, a rozmiarem wybrany przez ciebie threshold zaznaczania (np. 10x10). Potem już wystarczy sprawdzić czy myszka znajduje się w tym prostokącie.