[Java] rzut punktu na odcinek

Misiex
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 30 sty 2007, o 23:06
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 1 raz

[Java] rzut punktu na odcinek

Post autor: Misiex »

Witam,
Wiem jak rozwiązać problem "matematycznie" na kartce, ale nie jestem w stanie wymyślić żadnego prostego i szybkiego algorytmu do mojego problemu, mianowicie:

- dane są trzy punkty (na tej samej płaszczyźnie, więc działamy tylko w 2 wymiarach): a, b, c
- tworzymy prostą z punktów a i b
- rzutujemy prostopadle punkt c na utworzoną z punktów a i b prostą
- algorytm zwraca współrzędne punktu, znajdującego się między a i b, będącego rzutem prostopadłym punktu c na odcinek ab
- jeżeli rzut prostopadły punktu c na prostą utworzoną z ab, nie przecina się z odcinkiem ab (jest możliwy taki scenariusz), algorytm zwraca 0/null

Będę wdzięczny za najmniejsze nawet wskazówki. Najlepiej jakby było od razu w Java (Point2D, Line2D), ale najprostszy pseudokod też będzie dla mnie ogromnym zbawieniem.
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

[Java] rzut punktu na odcinek

Post autor: kadiii »

Skoro potrafisz rozwiązac te zadanie w sposób matematyczny to rozwiąż go w sposób analityczny, który automatycznie da ci jak rozwiązać to programowo.
ODPOWIEDZ