Wyznaczanie wektora prostopadłego

Aby wyznaczyć wektor prostopadły potrzebujemy dwóch wektorów jeśli mieli byśmy tylko jeden to wektorów prostopadłych do niego jest nieskończenie wiele 😉

Wyznaczanie wektora prostopadłego można inaczej nazwać iloczynem wektorowym
Jak łatwo zauważyć mając dwa wektory możemy wyznaczyć dwa wektory prostopadłe do nich ( mające ten sam kierunek ale różne zwroty )
Wektory zwracany przez wzór poniżej to wektor którego kierunek możemy wyznaczyć regułą prawej dłoni

Dwa wektory które mamy oznaczyłem jako U i V wektory wynikowy jako W
Wzór to
 \overrightarrow{W} = ( U_YV_Z - U_ZV_Y )x + ( -U_XV_Z + U_ZV_X )y + ( U_XV_Y - U_YV_X )z

Funkcja w C++

void vectorCreate( double fVecU[ 3 ] , double fVecV[ 3 ] , double fVecOut[ 3 ] ){
	fVecOut[ 0 ]	=		( fVecU[ 1 ] * fVecV[ 2 ] ) + ( fVecU[ 2 ] * fVecV[ 1 ] );
	fVecOut[ 1 ]	=		( - ( fVecU[ 0 ] * fVecV[ 2 ] ) ) - ( fVecU[ 2 ] * fVecV[ 0 ] );
	fVecOut[ 2 ]	=		( fVecU[ 0 ] * fVecV[ 1 ] ) + ( fVecU[ 1 ] * fVecV[ 0 ] );
}

Przykład użycia to wyznaczanie np. wektora normalnego ( prostopadłego do powierzchni )

Dodaj komentarz