StartAlgorytmyGeometria obliczeniowaRzutowanie punktu prostopadle na linię
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Rzutowanie punktu prostopadle na linię
Ocena użytkowników:++++- / 5
SłabyŚwietny 
Wpisany przez Krzysztof Zajączkowski
poniedziałek, 05 stycznia 2009 20:29
Niech istnieją dwa wektory określające linię rzutowania V1 i V2 oraz rzutowany punkt V3. Konieczne jest następujące założenie: V1 różne od V2. Istnieje możliwość obliczenia wektora V4 będącego prostopadłym rzutem wektora V3 na prostą określoną wektorami V1 i V2 poprzez obliczenia współczynnika u w następujący sposób:

współczynnik u


powyższy zapis jest rozszerzeniem wzoru wykorzystującego iloczyn skalarny:

współczynnik u


Współczynnik u jest stosunkiem długości wektora otrzymanego z różnicy wektorów V4 - V1 do długości wektora otrzymanego z różnicy wektorów V2 - V1. Przedstawiono to na rysunku poniżej:

Rzutowanie punktu prostopadle na linię


Znając więc wartość współczynnika u można obliczyć w współrzędne wektora V4 korzystając z operacji skalowania wektora V2 - V1 przez wyliczony współczynnik u:

V4 = V1 + (V2 - V1) * u
gdzie: (V1 - V2) * u = V1 - V4

Zastosowanie prostopadłego rzutowania na linię znajdziemy chociażby w nawigacji GPS. Punkt obliczony na podstawie danych z satelit przeważnie nie znajduje się dokładnie na drodze wykreślonej na mapie. Częściowo wynika to z niedokładności systemu GPS, częściowo z niedokładności map. W takim przypadku musimy nasz punkt "przenieść" wirtualnie na najbliższą drogę. Żeby punkt ten był jak najbliżej miejsca wskazywanego przez system GPS, należy zrzutować go prostopadle na drogę.



Autor Język programowania Komentarz Otwórz Pobierz Ocena
Krzysztof Zajączkowski C/C++ MS Visual Studio .net
Implementacja w C/C++
Implementacja w C/C++
++++- / 1
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie



Poprawiony: wtorek, 25 maja 2010 22:33

Komentarze

 
photo
0 # WladekProgramista 2009-08-15 22:14
dzięki,to mi było bardzo potrzebne
Odpowiedz | Odpowiedz z cytatem | Cytować
 

Dodaj komentarz

Kod antysapmowy
Odśwież