Dwa punkty i kąt

0

rysunek przedstawia dwa dane punkty i chciałbym dokłądnie znając tylko ich pozycje x i y obliczyć kąt zaznaczony na rysunku (alpha)
user image

0

user image

tg(beta) = a/b
alfa = 180^ - beta.

z a i b tez nie ma problemu, wiec alfa łatwo wyliczysz, :)
pozdrawiam!

ps : to sie moze przydac : tg(90^ - beta) = ctg(beta)

0

Jeśli się nie mylę to:

pi/2+atn(red.x-green.x/green.y-red.y)

0

Najpierw musisz wyznaczyć równanie prostej ,która przechodzi przez dwa punkty:robisz układ równań i wyliczas z nich odpowiednio współczynnik a i b ( y1=ax1+b and y2=ax2+b ).Wsp.a jest to wsp.kiedrunkowy prostej.
Tangens tego kąta równa się właśnie wsp.a
tg(alfa)=a.Teraz kożystasz z funkcji otwrotnej:arctg(a)=alfa.I w ten sposób masz wyliczony kąt alfa. [cya]

0

Chyba najprostszy sposób podał pq, ale z niewielkimi błędami.
Powinno być:
alfa := ArcTan((green.x-red.x)/(green.y-red.y));
To jest rozwiązanie niezależnie od położnia kąta w którejś z ćwiartek.
Jeżeli chciałbyś dokładne wartości z poprawką na ćwiartkę to użyj:
alfa := ArcTan2(green.x-red.x, green.y-red.y); (moduł Math)

0

Nio :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1