Algorytm na pozycję na ekranie (3D)

0

Szukam algorytmu pozwalającego w prosty sposób znaleźć pozycję na ekranie danego punktu w przestrzeni, mając do dyspozycji: Położenie punktu (X, Y, Z), położenie kamery (X, Y, Z) oraz jakieś określenie kierunku "patrzenia" kamery. Sposobu przedstawienia tego ostatniego jeszcze nie wybrałem (punkt w przestrzeni, znajdujący się na środku ekranu, albo jakiś kąt nachylenia), więc pod tym względem dowolność... Jeżeli ktoś widział taki algorytm (na 4p nie znalazłem), to byłbym bardzo wdzięczny za przesłanie, najlepiej w delphi (jak będzie w C, to sobie jakoś "przetłumaczę", ale wolałbym w delphi).
Z góry dzięki za odpowiedzi.

0

Wystrczą źródła Wolfensteina3D (tak, pierwszej gry 3d na świecie, no może poza jakimś gniotem na tym samym enginie). Nie są duże i skomplikowane, a można z nich wyciągnąć trochę podstawowych elementów programowania 3D. Są dostępne, znaje się, na stronie producenta gry (tyle że zapomniałem kto tę grę zrobił... UbiSoft? 3DRealms?). Wiem że ta rada brzmi śmiesznie, ale warto te źródła obejrzeć, jeśli są potrzebne tego typu rzeczy.

0

Ktoś kiedyś na forum już podawał tego typu wzory, nie wiem, czy nie przypadkiem w dziale gorące tematy. A co do wydawcy wolfensteina, nie było to przypadkiem id software?

0

Proponuje poczytać:
http://stud.wsi.edu.pl/~sistudem/Podstawy/MFindex.html

A na marginesie, to z tej stronki może wyniknąć coś fajnego...

0

Kody Wolfensteina są może i proste, ale nie wystarczająco... ;P
Co do tej stronki, to wielkie dzięki. Przydała się.
[dopisane]
No fajnie, to już połowe zadania mam rozwiązaną... Mam układ współrzędnych z siatkami obiektów, patrzę wzdłuż osi, i jestem w początku układu współrzędnych... Ale jak to wszystko teraz zrenderować?

0

Ja proponuję: http://www.wolfenstein-best.prv.pl - chyba nawet mam to w stopce - masz tam trochę tipsów co do edycji

0

Ja proponuję: http://www.wolfenstein-best.prv.pl - chyba nawet mam to w stopce - masz tam trochę tipsów co do edycji

Ehh, a co ma strona z poradnikiem do gry, do wyznaczania pozycji 2D dla obiektów 3D?

0

Hmm... No właśnie... Co to ma do rzeczy? Piszę ten list, tylko po to, by odświeżyć wątek i zadać jeszcze jedno pytanie...
Czy nie powinno to wyglądać tak, że najpierw wylicza się odległość między kamerą a obiektem (pierwiastek z sumy kwadratów różnicy poszczególnych współrzędnych), a potem dzieli się przez nią współrzędne X i Y (zakładając, że patrzymy wzdłuż osi Z) i dodaje do "połowy ekranu" (Form.Width div 2 i Form.Height div 2) odpowiednie współrzędne. I potem jeżeli mieści się ta wielkość na ekranie, to rysujemy dany punkt?

1 użytkowników online, w tym zalogowanych: 0, gości: 1