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.
[Java] rzut punktu na odcinek
- kadiii
- 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
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.