Zastanawia mnie czemu w OpenGLu stosuje się dziwną, odwróconą (wg mnie) kolejność mnożenia, tzn zamiast intuicyjnego wg mnie działania wektor wierszowy * macierz, stosuje się macierz * wektor kolumnowy. Jest ku temu jakikolwiek powód?

- Rejestracja:około 20 lat
- Ostatnio:2 minuty
W OpenGL jeśli np chcę najpierw przesunąć wektor, a potem przeskalować, to muszę napisać (tzn np chcę policzyć od razu końcową macierz, więc ją liczę przed wysłaniem do OpenGLa):
macierz skalowania * macierz przesunięcia * wektor kolumnowy
A dla mnie dalej bardziej intuicyjne byłoby:
wektor wierszowy * macierz przesunięcia * macierz skalowania
No nie?

- Rejestracja:około 20 lat
- Ostatnio:2 minuty
bo napisał(a)
Zapis macierz*wektor_kolumnowy jest standardowy w matematyce. I jest zgodny ze schematem: wpierw operator(funkcja) a potem argument.
Dzięki. W sumie to nie pomyślałem o tym, żeby traktować macierz jako operator funkcji.
bo napisał(a)
Ponadto, jeżeli A jest standardową macierzą przekształcenia liniowego L, a wektor w jest kolumnowy, to L(w)=Aw, gdybyśmy zapisali wektor wierszowo, to L(w)=wAT.
O tym wiedziałem :)
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.