2008-09-11 23 views
7

ActionScript 3'te bana "z" (aşağıdaki resme bakın) verecek derece cinsinden bir formül yazmayı deniyorum, ki daha sonra radyanlara dönüştüreceğim.Üçgen Trigonometri (ActionScript 3)

"x" ve "y" değişkenlerinin değerini bileceğim. Trigonometri kullanarak, hipotenüsün uzunluğunu ve dolayısıyla değişken z'nin değişken açısını nasıl hesaplayabilirim? AS3 veya psuedocode'ta bir çözüm çok yardımcı olacaktır. Teşekkürler. yH açısı -

triangle

cevap

6

İhtiyacınız olan şudur:

var h:Number = Math.sqrt(x*x + y*y); 
var z:Number = Math.atan2(y, x); 

Bu size radyan cinsinden açı vermelidir, x/y takas etmeniz ve muhtemelen 90 derece eklemeniz veya çıkarmanız gerekebilir, ancak numara yapmalısınız!

Ben Matematik oldukça yavaştır sırf) yerine Math.pow (çoğalmasını kullanmak, yapabileceğiniz (hatta z size ATAN2 kullandığınızalmak için h gerekmez unutmayın):

Ve tam olarak aynı olmalıdır.

4

z 180 eşdeğerdir. Veya:

180 - arctan(x/y) //Degrees 
pi - arctan(x/y) //radians 

Ayrıca ActionScript matematik kütüphaneleri bunu varsa, doğru işaretleri ile x ve y ve fırsatları hem aldığı, arctan2 kullanın.

0

Ne @Patrick, ayrıca hipotenüs sqrt(x^2 + y^2) olduğunu söyledi.

1

İstediğiniz açı, y ile h arasındaki bir ıslak alana karşılık gelen açı ile aynıdır.

edelim çağrısı ay ve h arasındaki açı, istediğiniz açı aslında biriminde (derece veya radyan) bağlı 180 - a veya PI - a olduğunu. Kullanılması

cos(a) = y/h 
sin(a) = x/h 
tan(a) = x/y 

) (bronzluk elde ederiz:

Şimdi geometri söyler

a = arctan(x/y) 

biz 180 arıyoruz gibi - bir, sen hesaplamak gerekir:

180 - arctan(x/y)