2011-12-11

Problem z mapowaniem

Przy okazji mapowania na torus powierzchni danych wielomianem pojawił się problem, który na razie odłożyłem w przyszłość, ale prędzej czy później trzeba go będzie jakoś rozwiązać. Mianowicie torus dany bezpośrednio mapowany jest w sześcian UVW od 0 do 1. W przypadku powierzchni wyższego rzędu mapowanej na torus nie wiemy nic o geometrii bryły i jest ona mapowana w UVW proporcjonalnie do $r/(R+r)$. Na razie poradziłem sobie z tym rozciągając powierzchnię wielomianową w Y do sześcianu, dzięki czemu dobrze współpracuje z mapperem. A następnie ręcznie ją skalując by przypominała torus. Niestety trzeba to robić ręcznie.

Wyobraźmy sobie teraz siatkę przypominającą spłaszczoną sferę. Chcemy ją zamapować sferycznie. Teraz ponieważ sfera wymaga UVW w pełnym sześcianie musielibyśmy najpierw przeskalować siatkę by zawierała się w sześcianie. A następnie spłaszczyć ją skalowaniem.

Rozwiązanie pierwsze to skalowanie UVW zanim zostanie przekształcone w UV. Z tym, że na razie (nie wiem czy słusznie) rozdzialiłem świat UVW i UV. Nie ma przejścia od Volume do Layer. I raczej nie chciałbym tego robić póki nie będzie to absolutnie potrzebne.

Rozwiązanie drugie to dodanie do mapperów skalowania i translacji, być może nawet macierzy, którą UVW jest transformowane przez mapowaniem.

Brak komentarzy:

Prześlij komentarz