2010-02-26 14 views
14

P1 ve P2 verildiğinde, açıyı P1'den P2'ye nasıl alabilirim? Teşekkürler2 Puan Açısı

+9

angle * 180/PI yapın radyan olduğunu iki puan aralarında bir açı yok. Ancak iki vektör var. Nokta ürününe bakın ve oradan neler yapabileceğinizi görün. – GManNickG

+1

OP inanıyorum, P1 ve P2 eklemlerini birleştiren çizgiyi x ekseni ile açılandırmak anlamına gelir. En azından, seçilen cevap budur. –

cevap

33

Sadece float angle = atan2(p1.y - p2.y, p1.x - p2.x) bu. Tabii

döndürme türü derecelerle de gerekirse sadece bilgiç olmak

6

Lise trigini hatırlayarak ok. Bu benim aldığım şey.

iki nokta A (x1, y1) ve B (x2, y2)

Sana iki nokta ve kökeni O (0,0) arasındaki açıyı istediğiniz varsayalım.

Her nokta, yüksekliği, tabanı ve hipotenüsüyle sınırlı bir üçgen oluşturur, böylece iki açı alpha1 ve alpha2 alırsınız. Bu fikir, her birini bulmak ve gerekli açı beta bilgisini, alfa1> alpha2 gibi alfa1 olduğu yerde beta = alpha1 - alpha2 yaparak hesaplamaktır.

sonra beta = Alpha1 yapmak

hesaplayın alfa1 = inv_tan (y1/x1) ve alfa-2 = inv_tan (y2/x2) - alfa-2

+1

Diğer cevaplar aynı şey anlamına gelir, ancak daha özlüdür. – Ankur

İlgili konular