Autor Wątek: Macierze: ortogonalna a ortonormalna  (Przeczytany 7490 razy)

maxest

  • Gość
# Kwiecień 22, 2008, 17:30:09
Jak dotad sadzilem, ze macierz ortogonalna to taka, w ktorej wiersze (kolumny) sa w stosunku do siebie prostopadle (ich iloczyny skalarne sa rowne 0). Z kolei za macierz ortonormalna uwazalem macierz, ktora jest ortogonalna, a przy tym wszystkie wektory (uformowane z wierszy [kolumn]) maja dlugosc 1.
Teraz przegladam wikipedie i widze, ze o czyms takim jak macierz ortonormalna tutaj "nie slyszano" (w sensie: nie ma w ogole artykulu zawierajacego takie pojecie), a z kolei o macierzy ortogonalnej pisza, ze spelnia warunek:
A^T * A = A * A^T = I
Powyzsze mogloby byc prawdziwe tylko wtedy, gdy wszystkie wektory tworzace wiersze (kolumny) macierzy A bylyby wektorami o dlugosci rownej 1. A w takim przypadku macierz ta bylaby ortonormalna (z punktu widzenia definicji ktore podalem na poczatku posta).
Tak wiec bardzo prosze o oswiecenie mnie: czy te dwa typy macierzy sa pojeciami "blizej niesprecyzowanymi" i czasem po prostu oznaczaja to samo, a czasem nie? Jak to jest?
// moje watpliwosci poglebia fakt ze rowniez literatura w tym zakresie jest ze soba sprzeczna...

Offline Mr. Spam

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

Offline Mormegil

  • Użytkownik
    • Moj dev blog

# Kwiecień 22, 2008, 17:43:29
Macierz ortonormalna to taka, ktorej transpozycja jest rowna odwrotnosci:
R^-1 = R^T

Natomiast macierz ortogonalna, to taka, ktora pomnorzona przez transpozycje daje macierz jednostkowa:
R^T R = 1

Macierz ortogonalna spelnia R^T = R^-1 ,tylko jesli wymiary sa sobie rowne, czyli R jest kwadratowa.
« Ostatnia zmiana: Kwiecień 22, 2008, 17:46:37 wysłana przez Mormegil »

Offline prophet

  • Użytkownik

# Kwiecień 22, 2008, 17:50:50
Maxest: Macierz ortogonalna to taka, która spełnia A^T*A = I, czyli jej wiersze (kolumny) są długości 1 i są do siebie prostopadłe. Natomiast z określeniem macierz ortonormalna się nie spotkałem i chyba takie nie istnieje, używa się tego określenia gdzie indziej - baza ortonormalna.

Mormegil: te obie definicje, które podałeś są sobie równoważne.

« Ostatnia zmiana: Kwiecień 22, 2008, 17:57:20 wysłana przez prophet »

maxest

  • Gość
# Kwiecień 22, 2008, 17:57:18
Cytuj
Natomiast z określeniem macierz ortonormalna się nie spotkałem, zazwyczaj używa się tego określenia gdzie indziej, np. baza ortonormalna.
To byloby dosc sensowne tym bardziej, ze chyba wlasnie w ten sposob bylo to przedstawione na zajeciach z algebry liniowej :).
Definicje ktore podalem w pierwszym poscie wzialem w zasadzie bezposrednio z ksiazki "Triki najlepszych programistow gier 3D", gdzie wlasnie wystepowal taki podzial. Albo tak mi sie przynajmniej wydawalo - jeszcze pozniej sprawdze zeby sie upewnic

Offline prophet

  • Użytkownik

# Kwiecień 22, 2008, 18:00:59
Z tego co widzę to w terminologii angielskiej też nie używa się określenia orthonormal do macierzy tylko do bazy. Kolejny przykład na to, że matematyki nie powinno się uczyć z książek poświęconych programowaniu gier. :)

Ps. chyba, że to tłumacz nawalił.

maxest

  • Gość
# Kwiecień 22, 2008, 18:50:08
Imho matematyke warto uczyc sie z ksiazek o programowaniu gier bo tam z reguly sa konkrety :P. I wlasnie to jedna taka wspaniala ksiazeczka, "Mathematics for 3D Game Programming & Computer Graphics" wywolala u mnie te spore watpliwosci, gdyz autor (notabene z wyksztalcenia matematyk) caly czas pisze o macierzy ortogonalnej jako o takiej spelniajacej warunek A^T * A = I :). Chociaz z drugiej strony gdy pytalem swojego cwiczeniowca od algebry (bardzo madry czlowiek) o dowod wlasnie na to ze A^T * A = I dla macierzy ortoNORMALNYCH, to mi go podal i zaznaczyl, ze to juz nie obowiazuje dla macierzy ortoGONALNYCH. Tak wiec wniosek z tego taki ze trzeba uwazac na terminologie :)

Offline Mormegil

  • Użytkownik
    • Moj dev blog

# Kwiecień 22, 2008, 19:15:34
Mormegil: te obie definicje, które podałeś są sobie równoważne.
No nie sa. Jezeli macierz R ma wymiary m x n, gdzie m != n, to juz ortonormalna byc nie moze, a ortogonalna tak.

Macierze obrotow wokol osi ukladu sa macierzami ortonormalnymi. Takiej terminologii uzywa sie na przyklad w robotyce.

Offline prophet

  • Użytkownik

# Kwiecień 22, 2008, 20:08:50
Ta definicja macierzy ortonormalnej jest nadmiarowa i nie potrzebna. Ponieważ każda macierz spełniająca R^-1 = R^T jest ortogonalna więc nie widzę sensu nazywać ją jakoś inaczej. To tyle tej terminologii. Maxest: masz racje, z książek poświęconych w całości takim zagadnieniom tak. Ale nie z takich w których autor stara się zamieścić wszystko (=czyli nic:)).

Offline Mormegil

  • Użytkownik
    • Moj dev blog

# Kwiecień 22, 2008, 21:13:48
Ta definicja macierzy ortonormalnej jest nadmiarowa i nie potrzebna. Ponieważ każda macierz spełniająca R^-1 = R^T jest ortogonalna więc nie widzę sensu nazywać ją jakoś inaczej. To tyle tej terminologii.
To idz sie klucic z prof. dr hab. inż. Edwardem Jezierskim kierownikiem Zakładu Sterowania Robotów na Politechnice Łódzkiej :) Z pewnoscia uda Ci sie go przekonac, ze to co mowi na swoim wykladzie z Robotyki to nadmiarowosc i jest nie potrzebne ;)

Poprostu zamiast mowic kwadratowa macierz ortogonalna, mozesz powiedziec macierz ortonormalna. Co jest krotsze, wiec lepiej sie to pisze i latwiej zrozumiec co zostalo napisane.

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Kwiecień 23, 2008, 10:51:11
Oto jak sprawa wygląda w książce "3D Math Primer for Graphics and Game Development", Fletcher Dunn and Ian Parberry, Wordware Publishing, z której ja się uczyłem tych rzeczy:

Cytuj
A square matrix M is orthogonal if and only if (...) M M^T = I
(...)
Thus, if a matrix is orthogonal (...) M^T = M^(-1)
(...)
So, for a matrix to be othogonal, the following must be true:
[-] Each row of the matrix must be unit vector.
[-] The rows of the matrix must be mutually perpedicular.
(...)
There is one important note on terminology that can be slightly confusing. In linear algebra, a set of vectors is considered as orthogonal basis if they are mutually perpedicular. It is not required that they have unit length. If they do have unit length, they are an orthonormal basis. Thus, the rows/columns of an orthogonal matrix are orthonormal basis vectors. However, constructing a matrix from a set of orthogonal basis vectors does not necessarily result in a orthogonal matrix (unless the basis vectors are also orthonormal).

maxest

  • Gość
# Kwiecień 23, 2008, 13:05:23
Dzieki Reg - ten fragment calkowicie rozwial moje watpliwosci :). Zastanawia mnie tylko z ktorego rozdzialu/strony jest ten tekst, bo jak dotad przeczytalem chyba ze 100 stron tej wspanialej ksiazeczki i nie przypominam sobie zebym cos takiego czytal. Koniecznie zajrze w piatek jak wroce do domu

Offline counterClockWise

  • Użytkownik

# Kwiecień 23, 2008, 13:37:42
Dzieki Reg - ten fragment calkowicie rozwial moje watpliwosci :). Zastanawia mnie tylko z ktorego rozdzialu/strony jest ten tekst, bo jak dotad przeczytalem chyba ze 100 stron tej wspanialej ksiazeczki i nie przypominam sobie zebym cos takiego czytal. Koniecznie zajrze w piatek jak wroce do domu

Napisz na której stronie w tej książce jest ten tekst jak już sprawdzisz, to aż z ciekawości sięgnę po ten rozdział w bibliotece :)

Offline prophet

  • Użytkownik

# Kwiecień 23, 2008, 13:47:26
str. 132 i 134
« Ostatnia zmiana: Kwiecień 23, 2008, 14:13:33 wysłana przez prophet »

Offline lewy669

  • Użytkownik

# Maj 18, 2011, 22:12:36
Gdyby ktoś jeszcze tu kiedyś zajrzał: czasami używa się terminu macierz ortogonalna/ortonormalna tak jak napisał kolega w pierwszym poście(ortogonalny/ortonormalny układ kolumn), głównie w matematyce, dlatego w konkretnym przypadku lepiej zapoznać z definicją jaką posługuje się autor albo wywnioskować ją z kontekstu.