algorytm.org Algorithms Geometria obliczeniowa Współliniowość trzech punktów  
Home AlgorithmsData structuresAlgorithmics turorialPractiseDesign patternsIT Law SitemapPortal historyContributors ForumToolsWrite an articleSearch 

Współliniowość trzech punktów
User Rating: / 8
PoorBest 
Written by Michał Knasiecki   
Wednesday, 03 August 2005 22:51
There are no translations available.

Zrozumienie tego algorytmu wymaga zaznajomienia się ze wstępem do geometrii obliczeniowej
Wzajemne położenie trzech punktów a, b i c można bardzo łatwo określić korzystając z wyznacznika det(a,b,c) macierzy kwadratowej postaci:
Image

det (a,b,c)>0 : punkt c znajduje się po lewej stronie wektora AB -
Image

det (a,b,c)=0 : punkty a, b, i c są współliniowe -
Image

det (a,b,c)<0 : punkt c znajduje się po prawej stronie wektora AB -
Image

Łatwo zrozumieć to na przykładzie:
dane są trzy punkty: a=(1,1), b=(9,1) oraz c=(4,4). Chcemy określić położenie punktu c względem wektora AB.
Budujemy macierz kwadratową i obliczamy jej wyznacznik (metodą Sarrusa):

det(a,b,c) = Image = 1 + 4*9 + 4 - 4 -4 -9 = 24

det(a,b,c)>0, więc punkt c leży po lewej stronie wektora AB. Czy tak jest faktycznie? Można to sprawdzić nanosząc współrzędne punktów na układ kartezjański.



.

Author Progam language Comment Download Rate
Tomasz Lubiński Ada
Implementation in Ada
/ 0
Michał Knasiecki C/C++
Implementation in C/C++
/ 1
Michał Knasiecki Delphi/Pascal Borland Delphi 5
Implementation in Delphi/Pascal
/ 0
Tomasz Lubiński Java
Implementation in Java
/ 0
 
Add your implementation for this algorithm
  • Login first
File:
Progam language:
Comment:
  To be able to add your implementation, login first



Last Updated on Tuesday, 25 May 2010 22:31
 

Add comment







Danation
Donate us


RSS Channels
Articles
Implementations
Comments
Forum


Bookmarks








Poll
Czy znalazłeś na stronach www.algorytm.org to czego szukałeś?
 

www.algorytm.org (c) 2000-2010