Skocz do zawartości

Otoczka sąsiadujących trójkątów.


Exigo

Rekomendowane odpowiedzi

Poniżej zamieszczam obrazek.

trianglefieldproblem.png

Dane mają się bardzo prosto: mamy obiekty "point" posiadające tylko pozycję x/y, i obiekty "triangle" które posiadają trzy identyfikatory podłączonych pointów. Tylko tyle.

 

Teraz wyjaśnienie (zaczynając od lewej).

- Pierwszy pokazuje jak wyglądają surowe dane. Są to trójkąty. Fakt że niektóre nachodzą na siebie (czasami mają wspólne 1 lub 2 wierzchołki) wynika z ich natury - są "ścianami" które służą jako blockery używane przez bibliotekę od fizyki. Szczególnie ta złożona (środkowa) struktura to idealnie przedstawia.

- Drugi jest zobrazowaniem powyższego zdania mówiącego że są to niezależne trójkąty. Trochę je przesunąłem żeby to pokazać. Tak dla ścisłości.

- Trzeci to efekt jaki chcę osiągnąć: otoczkę tych sąsiadujących grup trójkątów.

 

Jest jakieś proste rozwiązanie na grupowanie tego? Bo jeśli wyślę wszystkie dane to jakiegoś convex hull-a, dostanę w zwrocie otoczkę całego poziomu.

Odnośnik do komentarza
Udostępnij na innych stronach

Sprostowanie: Forma w jakiej potrzebuję otrzymać otoczkę to odcinki posiadające identyfikatory do dwóch pointów.

 

Huder, EP nic do tego nie ma. Muszę sobie to sam wyliczać. Takie otoczki mi są potrzebne do szybkiego castowania cieni z penumbrą. Innego (relatywnie szybkiego) rozwiązania nie ma. Liczyłbym sobie wtedy normalne (albo zwykły kąt) tych odcinków i robił coś w stylu occlusion cullingu względem źródła światła.

A i wyliczanie tych otoczek nie musi być jakieś szybkie - odcinki byłyby automatycznie generowane przez edytor w trakcie zapisywania mapy. Gra musiałaby jedynie bezsprzecznie je odczytywać.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...