Algorytm matematyczny - wyznaczenie współrzędnych trójkąta


(Pablo Zwierzeta) #1

Mam współrzędne dwóch punktów trójkąta równobocznego. Potrzebuję wyznaczyć współrzędne trzeciego.

Kombinowałem masę wzorów z geometrii analitycznej. Możliwe, że równanie okręgu mi tu pomoże. Czy mógłby mi ktoś pomóc i wyprowadzić te wzory?


(Sawyer47) #2

Nie żartuj, przecież to proste. Tu masz różne własności trójkąta równobocznego:

http://www.interklasa.pl/portal/dokumen ... katy1j.htm

Możesz skorzystać z tego, że wszystkie boki są równe. |CA| = |CB| = |AB|.


(Pablo Zwierzeta) #3

Właśnie udowodniłeś, że nie masz zielonego pojęcia o czym mówisz...

Chodzi mi o współrzędne, a nie długości boków. Długości liczyłem na wszystkie sposoby. Trygonometria, wektory. Ogólnie wzory na długość niewiele dają.


([alex]) #4

Pablo128 , właśnie udowodniłeś że nie zastanawiałeś się nad odpowiedzią którą dostałeś.

Ze wzoru który podał ci nr47 wynika że wystarczy rozwiązać system równań:

{

(ax-bx)^2+(ay-by)^2=(ax-cx)^2+(ay-cy)^2

(ax-bx)^2+(ay-by)^2=(bx-cx)^2+(by-cy)^2

}

913c29061340.jpg


(Sawyer47) #5

Skąd ten pochopny osąd? Ja już skończyłem podstawówkę/gimnazjum (chociaż poziom nauki w szkołach spada, kto wie skąd to zadanie...).

Możesz to obliczyć również w ten sposób, że wyznaczasz równanie prostej zawierającej odcinek AB oraz jego środek, stąd automatycznie masz równanie prostej zawierającej wysokość. I teraz wystarczy znaleźć punkt leżący na tej prostej odległy o h od tego wyliczonego środka. Możliwości jest dużo, w sumie to dobre zadanie, znaleźć takie rozwiązanie, które wymaga jak najmniej obliczeń (bo z umieszczenia postu w dziale programowanie wnioskuję, że chcesz to implementować. Takie zadanie z informatyki w podstawówce? Ciekawe). Życzę powodzenia z tym problemem :wink:


(Pablo Zwierzeta) #6

Szczerze dziękuję. Wielkie dzięki. A wiesz może jak obrócić trójkąt równoboczny wokół jednego znanego punktu. Długość każdego boku również znamy.


([alex]) #7

Ax=Qx+sqrt((ax-Qx)*(ax-Qx)+(ay-Qy)*(ay-Qy))*sin(atan2(ax-Qx,ay-Qy)+Kat);

Ay=Qy+sqrt((ax-Qx)*(ax-Qx)+(ay-Qy)*(ay-Qy))*cos(atan2(ax-Qx,ay-Qy)+Kat);


(Pablo Zwierzeta) #8

To bardzo miło, że odpowiedziałeś, ale nie jestem tego pewien.

Wyszło mi, że trójkąt obraca się względem boku. (ax, ay; Qx, Qy);

Proszę o objaśnienie.


([alex]) #9

Podano równanie na współrzędne punktu ax,ay po obrocie o kąt Kat odnośnie punktu Qx,Qy.


(Pablo Zwierzeta) #10

Jakie więc mają być początkowe wartości ax i ay?


([alex]) #11

Skoro masz trójkąt to masz współrzędne jego punktów, jeżeli nie masz to niema jak go obrócić. ax,ay - aktualne współrzędne jednego z nich, pozostałe obliczasz tak samo.


(Pablo Zwierzeta) #12

Dzięki wielkie. Mógłbyś mi powiedzieć skąd ten wzór? Kto go opracował? Jaki to dział Maty?


([alex]) #13

Ten wzór wprost wynika z podstaw trygonometrii.