Witam
Muszę zrobić algorytm opisujący położenie punktu względem odcinka ale nie wiem za diabły jak to ugryźć. Proszę o jakieś podpowiedzi. Pozdrawiam
[C++] klasy Punkt, Odcinek
-
- Użytkownik
- Posty: 2
- Rejestracja: 6 gru 2014, o 00:47
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- musialmi
- Użytkownik
- Posty: 3466
- Rejestracja: 3 sty 2014, o 13:03
- Płeć: Mężczyzna
- Lokalizacja: PWr ocław
- Podziękował: 382 razy
- Pomógł: 434 razy
[C++] klasy Punkt, Odcinek
A jakie masz dokładnie polecenie? Możliwe odpowiedzi to "na odcinku" i "poza odcinkiem", czy dokładniej: "na", "pod", "nad, "po lewej", "po prawej", "na przedłużeniu" (to dla płaszczyzny, a jak w przestrzeni to jeszcze więcej)?
-
- Użytkownik
- Posty: 2
- Rejestracja: 6 gru 2014, o 00:47
- Płeć: Mężczyzna
- Lokalizacja: Kraków
[C++] klasy Punkt, Odcinek
Polecenie brzmi tak jak napisałem w pierwszym poście. Dokładniejszego polecenia nie dostałem.
-
- Użytkownik
- Posty: 15
- Rejestracja: 8 mar 2011, o 21:42
- Płeć: Mężczyzna
- Lokalizacja: localhost
- Podziękował: 3 razy
- Pomógł: 2 razy
[C++] klasy Punkt, Odcinek
Przykład dla płaszczyzny (dwa wymiary).
Punkt jest zdefiniowany jako P(X,Y)
Odcinek może być zdefiniowany jako 2 punkty - początkowy i końcowy lub jako funkcja dana wzorem y=ax+b w jakimś zakresie.
I teraz najlepiej wykonaj w miarę możliwości wszystkie operacje, które podał musialmi.
Czyli na początek sprawdź czy punkt leży na tej prostej - jeśli nie to policz odległość od prostej. Do tego możesz sprawdzić czy leży może na przedłużeniu tego odcinka. I zwracasz przykładowo:
- Punkt A(2,4) leży na odcinku S.
- Punkt B(4,5) leży na przedłużeniu odcinka S w odległości 100 od końca odcinka w punkcie (14,45).
- Punkt C(3135,45) leży poza odcinkiem S, w odległości 123.
Cyfry dobrałem losowo. To jest moje interpretacja tego zadania w dwóch wymiarach, zwiększając ilość wymiarów dochodzą kolejne możliwości do przeanalizowania - np. wypisanie na jakiej płaszczyźnie, której krawędzią jest odcinek leży punkt, etc.
Punkt jest zdefiniowany jako P(X,Y)
Odcinek może być zdefiniowany jako 2 punkty - początkowy i końcowy lub jako funkcja dana wzorem y=ax+b w jakimś zakresie.
I teraz najlepiej wykonaj w miarę możliwości wszystkie operacje, które podał musialmi.
Czyli na początek sprawdź czy punkt leży na tej prostej - jeśli nie to policz odległość od prostej. Do tego możesz sprawdzić czy leży może na przedłużeniu tego odcinka. I zwracasz przykładowo:
- Punkt A(2,4) leży na odcinku S.
- Punkt B(4,5) leży na przedłużeniu odcinka S w odległości 100 od końca odcinka w punkcie (14,45).
- Punkt C(3135,45) leży poza odcinkiem S, w odległości 123.
Cyfry dobrałem losowo. To jest moje interpretacja tego zadania w dwóch wymiarach, zwiększając ilość wymiarów dochodzą kolejne możliwości do przeanalizowania - np. wypisanie na jakiej płaszczyźnie, której krawędzią jest odcinek leży punkt, etc.
- musialmi
- Użytkownik
- Posty: 3466
- Rejestracja: 3 sty 2014, o 13:03
- Płeć: Mężczyzna
- Lokalizacja: PWr ocław
- Podziękował: 382 razy
- Pomógł: 434 razy
[C++] klasy Punkt, Odcinek
Jeśli twój nauczyciel nie jest człowiekiem, który nie umie dostrzec swojego błędu, to wykorzystałbym niedokładność polecenia na swoją korzyść i napisał program, w którym rozpatrywaną przestrzenią jest prosta Więc punkt ma jedną współrzędną. Sprawdzenie czy leży na danym odcinku jest banalnie proste.