Współrzędne punktu względem odcinka
-
- Użytkownik
- Posty: 15
- Rejestracja: 26 lis 2010, o 16:32
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 1 raz
Współrzędne punktu względem odcinka
Witam, pisze program, dokładniej grę.
Znalazłem się w sytuacji w której muszę policzyć współrzędne punktu który tworzy z odcinkiem AB kąt \(\displaystyle{ \alpha}\). Niestety sam nie mogę się doliczyć więc proszę o pomoc, szukałem w google, były podobne zagadnienia, ale niestety nie umiem ich przekształcić ;(
Dokładniej mówiąc - mamy punkt A o współrzędnych x1, y1 i punkt B o współrzędnych x2, y2, długość d oraz kąt \(\displaystyle{ \alpha}\) o znanej nam miarze. Mamy za zadanie policzyć wspólrzędne punktu C. Kąt między odcinkami AB i AC to właśnie \(\displaystyle{ \alpha}\), a ich długości są równe d.
No i jeszcze trzeba zwrócić uwagę na to że wszystko dzieję się na monitorze - lewy górny róg współrzędne (0,0), w dół rośnie y, w prawo x. W tym przypadku nie powinno być wartości ujemnych, zdaję sobie sprawę, że przy źle dobranym odcinku AB to jest konieczne, ale to już moja sprawa żeby był w odpowiednim miejscu.
Z góry Dziekuje za pomoc, Pozdrawiam.
Znalazłem się w sytuacji w której muszę policzyć współrzędne punktu który tworzy z odcinkiem AB kąt \(\displaystyle{ \alpha}\). Niestety sam nie mogę się doliczyć więc proszę o pomoc, szukałem w google, były podobne zagadnienia, ale niestety nie umiem ich przekształcić ;(
Dokładniej mówiąc - mamy punkt A o współrzędnych x1, y1 i punkt B o współrzędnych x2, y2, długość d oraz kąt \(\displaystyle{ \alpha}\) o znanej nam miarze. Mamy za zadanie policzyć wspólrzędne punktu C. Kąt między odcinkami AB i AC to właśnie \(\displaystyle{ \alpha}\), a ich długości są równe d.
No i jeszcze trzeba zwrócić uwagę na to że wszystko dzieję się na monitorze - lewy górny róg współrzędne (0,0), w dół rośnie y, w prawo x. W tym przypadku nie powinno być wartości ujemnych, zdaję sobie sprawę, że przy źle dobranym odcinku AB to jest konieczne, ale to już moja sprawa żeby był w odpowiednim miejscu.
Z góry Dziekuje za pomoc, Pozdrawiam.
-
- Użytkownik
- Posty: 16328
- Rejestracja: 26 lis 2008, o 20:14
- Płeć: Kobieta
- Podziękował: 35 razy
- Pomógł: 3248 razy
Współrzędne punktu względem odcinka
ABC to trójkąt równoramienny o danych dwóch bokach.
Z twierdzenia cosinusów liczysz bok \(\displaystyle{ BC=a}\)
potem rozwiązujesz układ równań
\(\displaystyle{ \begin{cases} \sqrt{(x_3-x_1)^2+(y_3-y_1)^2}=d \\ \sqrt{(x_3-x_2)^2+(y_3-y_2)^2}=a\end{cases}}\)
Z twierdzenia cosinusów liczysz bok \(\displaystyle{ BC=a}\)
potem rozwiązujesz układ równań
\(\displaystyle{ \begin{cases} \sqrt{(x_3-x_1)^2+(y_3-y_1)^2}=d \\ \sqrt{(x_3-x_2)^2+(y_3-y_2)^2}=a\end{cases}}\)
- akw
- Użytkownik
- Posty: 479
- Rejestracja: 24 lis 2010, o 20:15
- Płeć: Mężczyzna
- Lokalizacja: W.
- Podziękował: 11 razy
- Pomógł: 57 razy
Współrzędne punktu względem odcinka
Nie znam się na programowaniu ale mój brat miał ostatnio problem z napisaniem wykresu sinusoidy w php. Zobaczymy może coś Ci się przyda.
Zakładam że jeżeli jesteś wstanie policzyć \(\displaystyle{ \sphericalangle BAC}\) to jesteś też wstanie policzyć kąt \(\displaystyle{ \sphericalangle ABC}\) Jeżeli tak to możesz skorzystać z twierdzenia sinusów i uzależnić kąty od odcinków.
\(\displaystyle{ \frac{|BC|}{sin \alpha }= \frac{|AC|}{sin \sphericalangle ABC}}\)
Teraz z tego możemy obliczyć długość odcinka \(\displaystyle{ |BC|}\)
A mając trzy boki i współrzędne dwóch wierzchołków to możemy policzyć współrzędne trzeciego wierzchołka.
Zakładam że jeżeli jesteś wstanie policzyć \(\displaystyle{ \sphericalangle BAC}\) to jesteś też wstanie policzyć kąt \(\displaystyle{ \sphericalangle ABC}\) Jeżeli tak to możesz skorzystać z twierdzenia sinusów i uzależnić kąty od odcinków.
\(\displaystyle{ \frac{|BC|}{sin \alpha }= \frac{|AC|}{sin \sphericalangle ABC}}\)
Teraz z tego możemy obliczyć długość odcinka \(\displaystyle{ |BC|}\)
A mając trzy boki i współrzędne dwóch wierzchołków to możemy policzyć współrzędne trzeciego wierzchołka.
-
- Użytkownik
- Posty: 15
- Rejestracja: 26 lis 2010, o 16:32
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 1 raz
Współrzędne punktu względem odcinka
Sorry, ale nie umiem rozwiązać tego uładu równań... ;( Moglibyście powiedzieć ile się równa x3 i y3 ?? Byłbym wdzięczny.
- akw
- Użytkownik
- Posty: 479
- Rejestracja: 24 lis 2010, o 20:15
- Płeć: Mężczyzna
- Lokalizacja: W.
- Podziękował: 11 razy
- Pomógł: 57 razy
Współrzędne punktu względem odcinka
To są wzory na długość odcinka. Masz trzy długości (jedna wartość wyliczona z tw. cosinusów) i współrzędne dwóch punktów. Podstawiając do powyższego układu będziesz miał dwie niewiadome. \(\displaystyle{ x_{c}, y_{c}}\) A wtedy na liczbach i dwóch niewiadomych już łatwo pójdzie.
-
- Użytkownik
- Posty: 15
- Rejestracja: 26 lis 2010, o 16:32
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 1 raz
Współrzędne punktu względem odcinka
Niby tak, ale no właśnie zastanawiam się jak to inaczej wyliczyć...
-
- Użytkownik
- Posty: 4094
- Rejestracja: 10 lut 2008, o 15:31
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 12 razy
- Pomógł: 805 razy
Współrzędne punktu względem odcinka
Jeśli dobrze rozumiem, to chcesz tak naprawdę obrócić punkt \(\displaystyle{ B(x_b,y_b)}\) o kąt \(\displaystyle{ \alpha}\) wokół punktu \(\displaystyle{ A(x_a,y_a)}\).
Znamy wzory na obrót wokół początku układu współrzędnych. Żeby dostać wzory na obrót wokół dowolnego innego punktu:
przesuwamy wszystkie punkty tak, żeby punkt, wokół którego chcemy obrócić, stał się początkiem układu
obracamy odpowiedni punkt wokół początku układu
"wracamy" z punktami na swoje miejsce:
\(\displaystyle{ \begin{cases} x_b^{\prime}=x_b-x_a \\ y_b^{\prime}=y_b-y_a \end{cases}}\)
\(\displaystyle{ \begin{cases} x_b^{\prime \prime}=(x_b-x_a)cos\alpha-(y_b-y_a)sin\alpha \\ y_b^{\prime \prime}=(x_b-x_a)sin\alpha+(y_b-y_a)cos\alpha \end{cases}}\)
\(\displaystyle{ \begin{cases} x_b^{\prime \prime \prime}=(x_b-x_a)cos\alpha-(y_b-y_a)sin\alpha+x_a \\ y_b^{\prime \prime \prime}=(x_b-x_a)sin\alpha+(y_b-y_a)cos\alpha+y_a \end{cases}}\)
Te ostatnie wzory dają już współrzędne szukanego punktu (nie jestem pewien, ale specyficzny układ osi układu współrzędnych w Twoim problemie będzie chyba wymagał lustrzanego odbicia, więc musisz się zastanowić, jaki kąt podstawić do wzoru zamiast \(\displaystyle{ \alpha}\)).
Znamy wzory na obrót wokół początku układu współrzędnych. Żeby dostać wzory na obrót wokół dowolnego innego punktu:
przesuwamy wszystkie punkty tak, żeby punkt, wokół którego chcemy obrócić, stał się początkiem układu
obracamy odpowiedni punkt wokół początku układu
"wracamy" z punktami na swoje miejsce:
\(\displaystyle{ \begin{cases} x_b^{\prime}=x_b-x_a \\ y_b^{\prime}=y_b-y_a \end{cases}}\)
\(\displaystyle{ \begin{cases} x_b^{\prime \prime}=(x_b-x_a)cos\alpha-(y_b-y_a)sin\alpha \\ y_b^{\prime \prime}=(x_b-x_a)sin\alpha+(y_b-y_a)cos\alpha \end{cases}}\)
\(\displaystyle{ \begin{cases} x_b^{\prime \prime \prime}=(x_b-x_a)cos\alpha-(y_b-y_a)sin\alpha+x_a \\ y_b^{\prime \prime \prime}=(x_b-x_a)sin\alpha+(y_b-y_a)cos\alpha+y_a \end{cases}}\)
Te ostatnie wzory dają już współrzędne szukanego punktu (nie jestem pewien, ale specyficzny układ osi układu współrzędnych w Twoim problemie będzie chyba wymagał lustrzanego odbicia, więc musisz się zastanowić, jaki kąt podstawić do wzoru zamiast \(\displaystyle{ \alpha}\)).
-
- Użytkownik
- Posty: 15
- Rejestracja: 26 lis 2010, o 16:32
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 1 raz
Współrzędne punktu względem odcinka
Wielkie dzięki, myślę, że wystarczy \(\displaystyle{ 360^\circ - \alpha}\), ale jeszcze sprawdzę, jeszcze raz dzięki.
-- 28 lis 2010, o 13:23 --
Kurcze, coś jednak nie gra...
Przetestowałem dla czterech kątów (we wszystkich punkt a ma \(\displaystyle{ x = 10}\) i \(\displaystyle{ y = 10}\)):
a) \(\displaystyle{ \alpha = 72^\circ,x_b = 11.2, y_b = 15.1}\)
b) \(\displaystyle{ \alpha = 144^\circ ,x_b = 7.5 y_b = 6.8}\)
c) \(\displaystyle{ \alpha = 216^\circ,x_b = 13.4, y_b = 16.0}\)
d) \(\displaystyle{ \alpha = 288^\circ,x_b = 5.7, y_b = 11.0}\)
Wyszły raczej złe wyniki, gdyby to narysować to sami zobaczcie co by wtedy było. Może wiecie co może być źle ??
Użyłem dokładnie tego trzeciego wzoru:
\(\displaystyle{ x_b = (x_b - x_a) \cdot cos\alpha - (y_b - y_a) \cdot sin\alpha + x_a\\
y_b = (x_b - x_a) \cdot sin\alpha + (y_b - y_a) \cdot cos\alpha + y_a}\)
-- 28 lis 2010, o 13:23 --
Kurcze, coś jednak nie gra...
Przetestowałem dla czterech kątów (we wszystkich punkt a ma \(\displaystyle{ x = 10}\) i \(\displaystyle{ y = 10}\)):
a) \(\displaystyle{ \alpha = 72^\circ,x_b = 11.2, y_b = 15.1}\)
b) \(\displaystyle{ \alpha = 144^\circ ,x_b = 7.5 y_b = 6.8}\)
c) \(\displaystyle{ \alpha = 216^\circ,x_b = 13.4, y_b = 16.0}\)
d) \(\displaystyle{ \alpha = 288^\circ,x_b = 5.7, y_b = 11.0}\)
Wyszły raczej złe wyniki, gdyby to narysować to sami zobaczcie co by wtedy było. Może wiecie co może być źle ??
Użyłem dokładnie tego trzeciego wzoru:
\(\displaystyle{ x_b = (x_b - x_a) \cdot cos\alpha - (y_b - y_a) \cdot sin\alpha + x_a\\
y_b = (x_b - x_a) \cdot sin\alpha + (y_b - y_a) \cdot cos\alpha + y_a}\)
Ostatnio zmieniony 28 lis 2010, o 22:05 przez Crizz, łącznie zmieniany 1 raz.
Powód: Nieczytelny zapis - brak LaTeX-a. Proszę zapoznać się z instrukcją: http://matematyka.pl/latex.htm .
Powód: Nieczytelny zapis - brak LaTeX-a. Proszę zapoznać się z instrukcją: http://matematyka.pl/latex.htm .
-
- Użytkownik
- Posty: 4094
- Rejestracja: 10 lut 2008, o 15:31
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 12 razy
- Pomógł: 805 razy
Współrzędne punktu względem odcinka
Hmmm... no ja sprawdziłem pierwszy punkt i podstawiłem po prostu kat \(\displaystyle{ 72^\circ}\). Współrzędne punktu \(\displaystyle{ C}\) wyszły \(\displaystyle{ (5,52;12,7)}\) i po narysowaniu wszystkich trzech punktów wygląda sensownie.
-
- Użytkownik
- Posty: 4094
- Rejestracja: 10 lut 2008, o 15:31
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 12 razy
- Pomógł: 805 razy
Współrzędne punktu względem odcinka
Hmm, no normalnie:
\(\displaystyle{ x_a=10,y_a=10\\
x_b=11.2, y_b=15.1\\
x_b-x_a=1.2,y_b-y_a=5.1}\)
\(\displaystyle{ x_c=1.2 cos 72^\circ-5.1 sin72^\circ+10 \approx 5.52}\)
\(\displaystyle{ y_c=1.2 sin 72^\circ+5.1 cos72^\circ+10 \approx 12.7}\)
Jak zaznaczysz punkty \(\displaystyle{ A,B,C}\) w układzie współrzędnych, to kąt BAC będzie miał \(\displaystyle{ 72^\circ}\).
\(\displaystyle{ x_a=10,y_a=10\\
x_b=11.2, y_b=15.1\\
x_b-x_a=1.2,y_b-y_a=5.1}\)
\(\displaystyle{ x_c=1.2 cos 72^\circ-5.1 sin72^\circ+10 \approx 5.52}\)
\(\displaystyle{ y_c=1.2 sin 72^\circ+5.1 cos72^\circ+10 \approx 12.7}\)
Jak zaznaczysz punkty \(\displaystyle{ A,B,C}\) w układzie współrzędnych, to kąt BAC będzie miał \(\displaystyle{ 72^\circ}\).
-
- Użytkownik
- Posty: 15
- Rejestracja: 26 lis 2010, o 16:32
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 1 raz
Współrzędne punktu względem odcinka
Nie, nie to nie tak xb nie równa się 11.2 a yb nie równa się 5.1 to są moje nieudane wyniki Na początku xb = 10, a yb = 5... Potem wyliczamy nowe wartości tego punktu, lub ewentualnie pkt. c.