Odległość punktu od prostej jest np. tu:
\(\displaystyle{ d(P,k) = \frac {|A\,x_p+B\,y_p+C|}{\sqrt{A^2+B^2}}}\)
Interesuje mnie dodatkowy warunek, czy punkt leży w "pasmie" powstałym przez przechodzące linie przez końce odcinka prostopadłe do tego odcinka.
-- 21 maja 2013, o 20:09 --
Chociaż do tego nie jest konieczne obliczenie odległości od odcinka, wystarczy obliczyć odległość od prostej przechodzącej przez odcinek.
Jeżeli prostą przedstawimy w postaci, (gdzie unikamy nieskończoności dla pionowej): \(\displaystyle{ Ax+By+C=0}\)
to, wtedy przez odcinek \(\displaystyle{ (x_0,y_0)(x_1,y_1)}\) przechodzi prosta:
\(\displaystyle{ A = y_0-y_1\\
B = x_1-x_0\\
C = x_0(y_1-y_0)-y_0(x_1-x_0)}\)
Należy to obliczyć oraz najpierw sprawdzić, czy współczynnik u mieści się w zakresie \(\displaystyle{ \left\langle 0,1 \right\rangle}\)
\(\displaystyle{ u = \frac{(x_p-x_0) \cdot (x_1-x_0)+(y_p-y_0) \cdot (y_1-y_0)}{sqrNorm}}\)
gdzie \(\displaystyle{ sqrNorm}\) jest kwadratem normy odcinka: \(\displaystyle{ (x_1-x_0)^2+(y_1-y_0)^2}\)
który wystarczy tylko raz obliczyć dla odcinka dla różnych punktów
Teraz jak mając współczynnik \(\displaystyle{ u}\) i odległość \(\displaystyle{ v}\) obliczyć \(\displaystyle{ (x,y)}\) punktu w bazie nowego odcinka?
Potrzebne jest do do algorytmu morfingu Beier-Neely.
Odległość punktu od odcinka
- Borneq
- Użytkownik
- Posty: 247
- Rejestracja: 23 lip 2010, o 07:50
- Płeć: Mężczyzna
- Lokalizacja: geo:lat=0 geo:lon=0
- Podziękował: 13 razy
Odległość punktu od odcinka
Ostatnio zmieniony 21 maja 2013, o 21:57 przez Jan Kraszewski, łącznie zmieniany 1 raz.
Powód: Nieczytelny zapis - brak LaTeX-a. Proszę zapoznaj się z instrukcją: http://matematyka.pl/latex.htm .
Powód: Nieczytelny zapis - brak LaTeX-a. Proszę zapoznaj się z instrukcją: http://matematyka.pl/latex.htm .
- Borneq
- Użytkownik
- Posty: 247
- Rejestracja: 23 lip 2010, o 07:50
- Płeć: Mężczyzna
- Lokalizacja: geo:lat=0 geo:lon=0
- Podziękował: 13 razy
Odległość punktu od odcinka
To nie jest takie proste, problem ze znakiem.
Obliczamy najpierw \(\displaystyle{ \left( x_t,y_t \right)}\) leżące na odcinku lub linii:
\(\displaystyle{ x_t:=u \cdot \left( x_1-x_0 \right) +x_0;\\
y_t:=u \cdot \left( y_1-y_0 \right) +y_0;}\)
Jest to punkt z którego teraz będzie musiała odejść prostopadła długości \(\displaystyle{ v}\)
\(\displaystyle{ dx^2+dy^2 = v^2}\)
i drugie równanie: to musi być prostopadła do linii o znanych \(\displaystyle{ A}\) i \(\displaystyle{ B}\)
\(\displaystyle{ \frac{dx}{dy} = \frac{A}{B}}\)
dwie zmienne, dwa równania, dochodzimy do
\(\displaystyle{ dy^2 \left( 1+ \frac{A^2}{B^2} \right) = v^2}\)
można obliczyć \(\displaystyle{ dy}\) i stąd \(\displaystyle{ dx}\), ale nie wiadomo jaki mam znak, mimo że zmodyfikowałem obliczanie \(\displaystyle{ v}\), tak że jest bez wartości bezwzględnej i może przyjmować wartości ujemne. Nawet jak \(\displaystyle{ v}\) będzie ujemne to i tak mamy \(\displaystyle{ v}\) do kwadratu i \(\displaystyle{ dy}\) do kwadratu
Pytanie - jak rozstrzygnąć, czy punkt jest po lewej czy prawej stronie odcinka (czy też linii przechodzącej przez odcinek) zakładając że ustawiamy się tak, że początek odcinka \(\displaystyle{ x_0,y_0}\) jest na dole a koniec \(\displaystyle{ x_1,y_1}\) u góry.
Obliczamy najpierw \(\displaystyle{ \left( x_t,y_t \right)}\) leżące na odcinku lub linii:
\(\displaystyle{ x_t:=u \cdot \left( x_1-x_0 \right) +x_0;\\
y_t:=u \cdot \left( y_1-y_0 \right) +y_0;}\)
Jest to punkt z którego teraz będzie musiała odejść prostopadła długości \(\displaystyle{ v}\)
\(\displaystyle{ dx^2+dy^2 = v^2}\)
i drugie równanie: to musi być prostopadła do linii o znanych \(\displaystyle{ A}\) i \(\displaystyle{ B}\)
\(\displaystyle{ \frac{dx}{dy} = \frac{A}{B}}\)
dwie zmienne, dwa równania, dochodzimy do
\(\displaystyle{ dy^2 \left( 1+ \frac{A^2}{B^2} \right) = v^2}\)
można obliczyć \(\displaystyle{ dy}\) i stąd \(\displaystyle{ dx}\), ale nie wiadomo jaki mam znak, mimo że zmodyfikowałem obliczanie \(\displaystyle{ v}\), tak że jest bez wartości bezwzględnej i może przyjmować wartości ujemne. Nawet jak \(\displaystyle{ v}\) będzie ujemne to i tak mamy \(\displaystyle{ v}\) do kwadratu i \(\displaystyle{ dy}\) do kwadratu
Pytanie - jak rozstrzygnąć, czy punkt jest po lewej czy prawej stronie odcinka (czy też linii przechodzącej przez odcinek) zakładając że ustawiamy się tak, że początek odcinka \(\displaystyle{ x_0,y_0}\) jest na dole a koniec \(\displaystyle{ x_1,y_1}\) u góry.
Ostatnio zmieniony 21 maja 2013, o 21:59 przez Jan Kraszewski, łącznie zmieniany 2 razy.
Powód: Nieczytelny zapis - częściowy brak LaTeX-a. Proszę zapoznaj się z instrukcją: http://matematyka.pl/latex.htm .
Powód: Nieczytelny zapis - częściowy brak LaTeX-a. Proszę zapoznaj się z instrukcją: http://matematyka.pl/latex.htm .
- yorgin
- Użytkownik
- Posty: 12762
- Rejestracja: 14 paź 2006, o 12:09
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Podziękował: 17 razy
- Pomógł: 3440 razy
Odległość punktu od odcinka
Czy ja mogę prosić o napisanie tego wszystkiego po polsku? Bo póki co zdania typu
Podobnie w ogóle nie rozumiem, o co chodzi ze znakiem.
A jedyne co zrozumiałem, to chyba próba znalezienia punktu będącego rzutem prostopadłym na prostą innego punktu leżącego na innej prostej równoległej do pierwszej prostej.
są dla mnie niezrozumiałym bełkotem.Interesuje mnie dodatkowy warunek, czy punkt leży w "pasmie" powstałym przez przechodzące linie przez końce odcinka prostopadłe do tego odcinka.
-- 21 maja 2013, o 20:09 --
Chociaż do tego nie jest konieczne obliczenie odległości od odcinka, wystarczy obliczyć odległość od prostej przechodzącej przez odcinek.
Podobnie w ogóle nie rozumiem, o co chodzi ze znakiem.
A jedyne co zrozumiałem, to chyba próba znalezienia punktu będącego rzutem prostopadłym na prostą innego punktu leżącego na innej prostej równoległej do pierwszej prostej.