Przejdź do treści
Ulubione

Kalkulator rzutu wektora 3D

Zaktualizowano:

Wpisz współrzędne dwóch wektorów 3D, a kalkulator rzutuje jeden z nich na drugi, pokazując rzut skalarny, rzut wektorowy, składową prostopadłą, iloczyn skalarny, długości obu wektorów oraz kąt między nimi.

Rzut jednego wektora 3D na drugi

Pola danych
Wektor a — współrzędne
aₓ
aᵧ
a_z
Wektor b — współrzędne
bₓ
bᵧ
b_z
Kierunek rzutu
Po włączeniu wynik aktualizuje się automatycznie po zmianie dowolnej wartości.

Wzór na rzut wektora 3D

Wzór
\[ \operatorname{proj}_{\mathbf{b}} \mathbf{a} = \frac{\mathbf{a} \cdot \mathbf{b}}{\lvert \mathbf{b} \rvert^2}\, \mathbf{b} \]

Gdzie:

  • \(\mathbf{a} = (a_x, a_y, a_z)\) — wektor rzutowany
  • \(\mathbf{b} = (b_x, b_y, b_z)\) — wektor wyznaczający kierunek
  • \(\mathbf{a} \cdot \mathbf{b} = a_x b_x + a_y b_y + a_z b_z\) — iloczyn skalarny
  • \(\lvert \mathbf{b} \rvert = \sqrt{b_x^2 + b_y^2 + b_z^2}\) — długość (moduł) wektora \(\mathbf{b}\)

Wzór pokazuje, jaka część wektora \(\mathbf{a}\) skierowana jest wzdłuż \(\mathbf{b}\). Ułamek \(k = \frac{\mathbf{a} \cdot \mathbf{b}}{\lvert \mathbf{b} \rvert^2}\) przeskalowuje wektor \(\mathbf{b}\) tak, żeby wynik był cieniem, jaki \(\mathbf{a}\) rzuca na prostą poprowadzoną przez \(\mathbf{b}\).

Z tego samego rzutu wynikają dwie pokrewne wielkości:

\[ \operatorname{comp}_{\mathbf{b}} \mathbf{a} = \frac{\mathbf{a} \cdot \mathbf{b}}{\lvert \mathbf{b} \rvert} \qquad \operatorname{perp}_{\mathbf{b}} \mathbf{a} = \mathbf{a} - \operatorname{proj}_{\mathbf{b}} \mathbf{a} \]

Rzut skalarny (składowa) to długość cienia z zachowanym znakiem, a składowa prostopadła (tzw. odrzucenie) to pozostała część wektora \(\mathbf{a}\), która jest zawsze prostopadła do \(\mathbf{b}\).

Rzut wektora 3D — przykład obliczenia

Przykład: rzutujemy \(\mathbf{a} = (2, 3, 1)\) na \(\mathbf{b} = (1, 0, 2)\) (wartości domyślne kalkulatora).

\[ \mathbf{a} \cdot \mathbf{b} = 2 \cdot 1 + 3 \cdot 0 + 1 \cdot 2 = 4 \]

\[ \lvert \mathbf{a} \rvert = \sqrt{2^2 + 3^2 + 1^2} = \sqrt{14} \approx 3.742, \qquad \lvert \mathbf{b} \rvert = \sqrt{1^2 + 0^2 + 2^2} = \sqrt{5} \approx 2.236 \]

\[ k = \frac{\mathbf{a} \cdot \mathbf{b}}{\lvert \mathbf{b} \rvert^2} = \frac{4}{5} = 0.8 \]

\[ \operatorname{proj}_{\mathbf{b}} \mathbf{a} = 0.8 \cdot (1, 0, 2) = (0.8,\ 0,\ 1.6) \]

\[ \operatorname{perp}_{\mathbf{b}} \mathbf{a} = (2, 3, 1) - (0.8, 0, 1.6) = (1.2,\ 3,\ -0.6) \]

Wynik: rzut skalarny wynosi \(4 / \sqrt{5} \approx 1.789\), rzut wektorowy to \((0.8, 0, 1.6)\), a składowa prostopadła — \((1.2, 3, -0.6)\) o długości \(\approx 3.286\). Kąt między wektorami wynosi \(\arccos\!\left(\tfrac{4}{\sqrt{70}}\right) \approx 61.4°\).

Jak korzystać z kalkulatora

  1. Wpisz współrzędną x (aₓ), współrzędną y (aᵧ) i współrzędną z (a_z) pierwszego wektora w sekcji „Wektor a — współrzędne”.
  2. Wpisz trzy współrzędne drugiego wektora w sekcji „Wektor b — współrzędne”. Dla brakującej osi wpisz 0.
  3. Wybierz opcję Rzutuj: „a na b” sprawdza, jaka część wektora \(\mathbf{a}\) leży wzdłuż \(\mathbf{b}\); „b na a” odwraca role.
  4. Odczytaj wyniki: rzut skalarny, rzut wektorowy, składową prostopadłą, a także iloczyn skalarny, długości obu wektorów, kąt między nimi oraz szczegółowe obliczenia krok po kroku.

Czym jest rzut wektora w przestrzeni 3D?

Geometrycznie rzut wektora \(\mathbf{a}\) na wektor \(\mathbf{b}\) to cień, jaki \(\mathbf{a}\) rzuca na prostą poprowadzoną przez \(\mathbf{b}\) — tak, jakby światło padało prostopadle do tej prostej. Wynikiem jest nowy wektor skierowany dokładnie tak samo (albo dokładnie odwrotnie) jak \(\mathbf{b}\), o długości równej temu, jak daleko \(\mathbf{a}\) sięga w tym kierunku. Nazywa się go także składową wektorową \(\mathbf{a}\) wzdłuż \(\mathbf{b}\).

Każdy rzut rozkłada wektor na dwie prostopadłe części: sam rzut (równoległy do \(\mathbf{b}\)) oraz składową prostopadłą, zwaną często odrzuceniem. Obie części zawsze składają się z powrotem w wektor wyjściowy: \(\mathbf{a} = \operatorname{proj}_{\mathbf{b}} \mathbf{a} + \operatorname{perp}_{\mathbf{b}} \mathbf{a}\), a ich iloczyn skalarny jest zerowy. Ten rozkład leży u podstaw procesu Grama–Schmidta, rozkładu sił na składowe w fizyce oraz dopasowania metodą najmniejszych kwadratów w statystyce.

Rzut skalarny odpowiada na pytanie jedną liczbą ze znakiem: „jak daleko wzdłuż \(\mathbf{b}\) sięga \(\mathbf{a}\)?”. Jest dodatni, gdy kąt między wektorami jest mniejszy niż 90°, zerowy, gdy wektory są prostopadłe, a ujemny, gdy kąt przekracza 90° — co oznacza, że \(\mathbf{a}\) wskazuje częściowo przeciwko \(\mathbf{b}\). Sam kąt wyznacza się z iloczynu skalarnego ze wzoru \(\cos\theta = \frac{\mathbf{a} \cdot \mathbf{b}}{\lvert\mathbf{a}\rvert\,\lvert\mathbf{b}\rvert}\), dlatego kalkulator podaje go obok rzutu.

Zwróć uwagę, że rzut zależy od długości \(\mathbf{b}\), ale nie od jego kierunku: podwojenie \(\mathbf{b}\) zmniejsza o połowę współczynnik \(k\), więc sam rzut wektorowy pozostaje niezmieniony. Inaczej mówiąc, rzut zależy od prostej wyznaczonej przez \(\mathbf{b}\), a nie od konkretnego wektora — zachodzi tu związek prostej proporcjonalności między \(k\) a \(\lvert\mathbf{b}\rvert^{-2}\). Z takimi zależnościami proporcjonalnymi możesz poeksperymentować w kalkulatorze proporcjonalności prostej.

Założenia, ograniczenia i wskazówki

  • Wektory nie mogą być zerowe. Wektor kierunkowy musi mieć dodatnią długość, ponieważ we wzorze dzielimy przez \(\lvert\mathbf{b}\rvert^2\). Wektor zerowy nie wyznacza kierunku rzutowania; kalkulator podpowie, który wektor trzeba poprawić.
  • Znak ma znaczenie. Ujemny rzut skalarny to poprawny wynik: oznacza, że rzut wskazuje kierunek przeciwny do \(\mathbf{b}\), a rzut wektorowy będzie zawierał ujemne wielokrotności współrzędnych \(\mathbf{b}\).
  • Kolejność ma znaczenie. Rzut \(\mathbf{a}\) na \(\mathbf{b}\) i rzut \(\mathbf{b}\) na \(\mathbf{a}\) to na ogół różne wektory (powiązane są jedynie rzuty skalarne — przez \(\lvert\mathbf{a}\rvert\) i \(\lvert\mathbf{b}\rvert\)). Aby zmienić kierunek, użyj listy rozwijanej „Rzutuj”.
  • Sprawdzenie prostopadłości. Jeśli iloczyn skalarny wynosi 0, wektory są prostopadłe: rzut jest wektorem zerowym, a składowa prostopadła równa się wektorowi wyjściowemu.
  • Długość jako średnia kwadratowa. Długość \(\lvert\mathbf{v}\rvert = \sqrt{v_x^2 + v_y^2 + v_z^2}\) to średnia kwadratowa (RMS) trzech współrzędnych pomnożona przez \(\sqrt{3}\); tę samą ideę uśredniania znajdziesz w kalkulatorze średniej kwadratowej (RMS).
  • Wektory równoległe. Jeśli oba wektory są równoległe (kąt 0° lub 180°), rzut równa się \(\mathbf{a}\) (co najwyżej ze zmienionym znakiem), a składowa prostopadła jest wektorem zerowym.

Najczęściej zadawane pytania

Jak obliczyć rzut wektora 3D ręcznie?

Najpierw policz iloczyn skalarny \(a_x b_x + a_y b_y + a_z b_z\) oraz kwadrat długości \(\lvert\mathbf{b}\rvert^2 = b_x^2 + b_y^2 + b_z^2\). Podziel iloczyn skalarny przez \(\lvert\mathbf{b}\rvert^2\), aby otrzymać współczynnik \(k\), a następnie pomnóż przez \(k\) każdą współrzędną \(\mathbf{b}\). Tak otrzymany iloczyn \(k\mathbf{b}\) to rzut wektorowy. Odejmij go od \(\mathbf{a}\), a uzyskasz składową prostopadłą.

Czym różni się rzut skalarny od rzutu wektorowego?

Rzut skalarny to jedna liczba ze znakiem: \((\mathbf{a}\cdot\mathbf{b})/\lvert\mathbf{b}\rvert\), czyli długość cienia wzdłuż \(\mathbf{b}\) (ujemna, gdy kąt przekracza 90°). Rzut wektorowy to pełny wektor 3D \(k\mathbf{b}\) skierowany wzdłuż \(\mathbf{b}\) i mający dokładnie tę długość. Łączy je zależność \(\lvert\operatorname{proj}_{\mathbf{b}}\mathbf{a}\rvert = \lvert\operatorname{comp}_{\mathbf{b}}\mathbf{a}\rvert\).

Czy rzut może być ujemny lub zerowy?

Tak. Rzut wektorowy jest ujemny (ujemną wielokrotnością \(\mathbf{b}\)), gdy kąt między wektorami jest większy niż 90°, czyli gdy \(\mathbf{a}\) wskazuje częściowo przeciwnie do \(\mathbf{b}\). Jest wektorem zerowym, gdy wektory są prostopadłe, bo wtedy iloczyn skalarny wynosi 0. Ujemny wynik jest poprawny — to nie błąd, dlatego nie pomijaj znaku.

Dlaczego rzutowanie a na b daje inny wynik niż b na a?

Obie operacje odpowiadają na różne pytania. Rzut \(\mathbf{a}\) na \(\mathbf{b}\) mierzy, jak daleko \(\mathbf{a}\) sięga wzdłuż prostej wyznaczonej przez \(\mathbf{b}\), a wynik zawsze leży wzdłuż \(\mathbf{b}\). Po zamianie ról otrzymujemy wektor wzdłuż \(\mathbf{a}\). Dopiero gdy wektory są równoległe (jeden jest wielokrotnością drugiego), oba rzuty się pokrywają — dlatego zawsze sprawdź, który kierunek wybrałeś.

Co się stanie, gdy wektor kierunkowy jest zerowy?

We wzorze dzielimy przez \(\lvert\mathbf{b}\rvert^2\), co dla wektora zerowego wynosi 0, więc rzut jest nieokreślony — wektor zerowy nie wyznacza kierunku rzutowania. Kalkulator wykrywa taką sytuację i prosi o podanie niezerowego wektora kierunkowego. Rzutowany wektor może być dowolny, ale aby dało się wyznaczyć także kąt, oba wektory muszą mieć co najmniej jedną niezerową współrzędną.

Do czego stosuje się rzut wektora w fizyce i innych dziedzinach?

W fizyce pozwala rozkładać siły i prędkości na składowe wzdłuż danej osi — na przykład podzielić siłę grawitacji na część równoległą i prostopadłą do płaszczyzny nachylonej. W grafice komputerowej służy do rzutowania obiektów na kierunki widoku, a w statystyce ta sama matematyka stoi u podstaw regresji metodą najmniejszych kwadratów, w której dane rzutuje się na model. Rozkład na część równoległą i prostopadłą to także kluczowy krok w ortogonalizacji Grama–Schmidta.

Czy rzut zmienia się po przeskalowaniu wektora kierunkowego?

Nie. Pomnożenie \(\mathbf{b}\) przez dowolną niezerową stałą nie zmienia rzutu wektorowego, ponieważ iloczyn skalarny i \(\lvert\mathbf{b}\rvert^2\) skalują się razem i znoszą się wzajemnie. Liczy się tylko kierunek \(\mathbf{b}\), a nie jego długość. Rzut skalarny natomiast zmienia znak po odwróceniu \(\mathbf{b}\) (pomnożeniu przez stałą ujemną), ponieważ jest określony względem orientacji \(\mathbf{b}\).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *