Witam forumowiczów.
Panowie i Panie - bujam się cały dzień z algorytmem do gry i nie mogę wpaść na rozwiązanie.
Do rzeczy:
- Istnieją dwa punkty A i B (znamy ich współrzędne) - potrzebuję obliczyć punkt C (jego współrzędne X i Y), który będzie leżał na odcinku AB lub przedłużeniu odcinka AB, ale chciałbym aby jego odległość od punkt B była wyznaczana przeze mnie (jakaś stała). Jeżeli odległość od punktu B do C wypadnie poza odcinkiem A i B, to trudno (a nawet wiem, że tak będzie musiało być w niektórych przypadkach).
Próbowałem ze współrzędnymi środka odcinka - odpada ponieważ jeżeli odległość między A i B jest duża - wszystko jest ok. Kiedy zaś odległość od odcinków A i B jest mała albo bardzo mała - wyznaczony przez komputer środek jest zbyt blisko punktu B i wszystko się wali.
Dokładnie dla tego samego odpada wzór na odległość punktu na prostej (oba wyciągnąłem z tablic) - przy zbyt małych odległościach, wszystko trafia szlag.
Czy ktoś byłby w stanie mi pomóc w zaistniałej sytuacji? Od szkoły średniej i wyższej minęło już trochę czasu i może po prostu nie pamiętam jakiegoś banalnego wzoru, który rozwiąże moje wszystkie problemy - wtedy oczywiście proszę o wskazówkę.
Z góry dziękuję i pozdrawiam!
Współrzędne punktu C na, lub poza odcinkiem AB
-
- Użytkownik
- Posty: 2
- Rejestracja: 9 mar 2014, o 23:34
- Płeć: Mężczyzna
- Lokalizacja: Polska
- kropka+
- Użytkownik
- Posty: 4389
- Rejestracja: 16 wrz 2010, o 14:54
- Płeć: Kobieta
- Lokalizacja: Łódź
- Podziękował: 1 raz
- Pomógł: 787 razy
Współrzędne punktu C na, lub poza odcinkiem AB
A próbowałeś, czy komputer wyliczy Ci dobre równanie prostej przechodzącej przez dwa punkty (A i B), gdy jest między nimi bardzo mała odległość? Wtedy mógłbyś liczyć odległości od dowolnego punktu tej prostej do wszystkich trzech punktów.
-
- Użytkownik
- Posty: 2
- Rejestracja: 9 mar 2014, o 23:34
- Płeć: Mężczyzna
- Lokalizacja: Polska
Współrzędne punktu C na, lub poza odcinkiem AB
Myślę, że sobie z tym poradzi - sprawdzę niestety dopiero w domu pod wieczór.
Nie za bardzo jednak wiem o czym dokładnie mówisz - znamy współrzędne A i B, a punkt C przy małych ilościach zawsze wypadnie poza odcinkiem AB, więc chyba nie może to być żaden wzór na współrzędne punktu leżącego na tym odcinku. Chyba, że nie zrozumiałem czegoś z Twojej wypowiedzi
Nie za bardzo jednak wiem o czym dokładnie mówisz - znamy współrzędne A i B, a punkt C przy małych ilościach zawsze wypadnie poza odcinkiem AB, więc chyba nie może to być żaden wzór na współrzędne punktu leżącego na tym odcinku. Chyba, że nie zrozumiałem czegoś z Twojej wypowiedzi
- kropka+
- Użytkownik
- Posty: 4389
- Rejestracja: 16 wrz 2010, o 14:54
- Płeć: Kobieta
- Lokalizacja: Łódź
- Podziękował: 1 raz
- Pomógł: 787 razy
Współrzędne punktu C na, lub poza odcinkiem AB
Chodzi mi o to, że jak wyznaczysz równanie prostej AB to dostaniesz jakiś wzór
\(\displaystyle{ y=ax+b}\)
Ta prosta AB przecina osie \(\displaystyle{ OX}\) i \(\displaystyle{ OY}\) w punktach \(\displaystyle{ P _{y} \left( - \frac{b}{a},0 \right)}\) i \(\displaystyle{ P _{x} \left( 0,b\right)}\). Możesz więc wyliczyć odległości punktu B od tych punktów przecięcia z osiami, czyli odległości \(\displaystyle{ BP _{x}}\) i \(\displaystyle{ BP _{y}}\). I wtedy jak zadasz np. \(\displaystyle{ BC=5}\), to odległość \(\displaystyle{ CP _{x}=BP _{x}-5 \vee CP _{x}=BP _{x}+5}\).
Analogicznie dla \(\displaystyle{ CP _{y}}\). Wybierasz sobie z tych punktów przecięcia z osiami punkt dalej położony od punktu B, i w ten sposób pozbywasz się bardzo małych odcinków w liczeniu położenia punktu \(\displaystyle{ C}\).
\(\displaystyle{ y=ax+b}\)
Ta prosta AB przecina osie \(\displaystyle{ OX}\) i \(\displaystyle{ OY}\) w punktach \(\displaystyle{ P _{y} \left( - \frac{b}{a},0 \right)}\) i \(\displaystyle{ P _{x} \left( 0,b\right)}\). Możesz więc wyliczyć odległości punktu B od tych punktów przecięcia z osiami, czyli odległości \(\displaystyle{ BP _{x}}\) i \(\displaystyle{ BP _{y}}\). I wtedy jak zadasz np. \(\displaystyle{ BC=5}\), to odległość \(\displaystyle{ CP _{x}=BP _{x}-5 \vee CP _{x}=BP _{x}+5}\).
Analogicznie dla \(\displaystyle{ CP _{y}}\). Wybierasz sobie z tych punktów przecięcia z osiami punkt dalej położony od punktu B, i w ten sposób pozbywasz się bardzo małych odcinków w liczeniu położenia punktu \(\displaystyle{ C}\).
-
- Użytkownik
- Posty: 1923
- Rejestracja: 30 lis 2013, o 13:26
- Płeć: Kobieta
- Lokalizacja: Warszawa
- Podziękował: 22 razy
- Pomógł: 326 razy
Współrzędne punktu C na, lub poza odcinkiem AB
Odległość
\(\displaystyle{ \left| BC\right|= \sqrt{(x_C-x_B)^2+(y_C-y_B)^2}}\)
\(\displaystyle{ y_C=ax_C+b}\)
gdzie \(\displaystyle{ y=ax+b}\) jest znanym równaniem prostej przechodzącej przez dane punkty \(\displaystyle{ A}\) i \(\displaystyle{ B}\)
Masz układ 2 równań z 2 niewiadomymi.
\(\displaystyle{ \left| BC\right|= \sqrt{(x_C-x_B)^2+(y_C-y_B)^2}}\)
\(\displaystyle{ y_C=ax_C+b}\)
gdzie \(\displaystyle{ y=ax+b}\) jest znanym równaniem prostej przechodzącej przez dane punkty \(\displaystyle{ A}\) i \(\displaystyle{ B}\)
Masz układ 2 równań z 2 niewiadomymi.