Rzut wektora na płaszczyznę

Obiekty i przekształcenia geometryczne, opisane za pomocą układu (nie zawsze prostokątnego) współrzędnych.
juna8001
Użytkownik
Użytkownik
Posty: 14
Rejestracja: 22 lis 2015, o 16:49
Płeć: Mężczyzna
Lokalizacja: Polska

Rzut wektora na płaszczyznę

Post autor: juna8001 »

Witam!
Piszę pewien program i mam w nim matematyczny problem.
Otóż mam pewien obiekt, który dotyka pewnej płaszczyzny (obiekt może się przesuwać, w skutek czego może dotknąć innej płaszczyzny).Obiekt ma górę, dół i przód. Chciałbym, aby obiekt był zawsze skierowany prostopadle do płaszczyzny (dół obiektu w miejscu styku z płaszczyzną, góra najdalej od tego miejsca) ale tak, by przód obiektu był zawsze jak najmniej obracany (do wyznaczania nowego "przodu" obiektu wyznaczany jest rzut starego przodu na płaszczyznę, do której obiekt jest styczny). Dodatkowo płaszczyzna styku określona jest przez wektor normalny (prostopadły do płaszczyzny i skierowany zawsze w stronę obiektu). Obrót obiektu muszę wyrazić w postaci kwaterionu.
Zadania sprowadza się do wyznaczenia wektora wskazującego przód obiektu, a następnie stworzenia kwaterionu na podstawie wektora normalnego (który wyznacza górę obiektu) oraz wektora wskazującego przód obiektu (kąt pomiędzy tymi wektorami wynosi 90 stopni).
Wektor wskazujący przód obiektu to rzut wektora wskazującego poprzedni przód obiektu na płaszczyznę wyznaczaną przez wektor normalny (zapomniałem dodać, że wszystkie wektory to wektory jednostkowe). W jaki sposób wyznaczyć taki rzut?
ODPOWIEDZ