2008-09-11 10 views
7

私は、var "z"(下の画像を参照してください)度を度で与える式3をActionScript 3で記述しようとしています。これをラジアンに変換します。三角法三角法(ActionScript 3)

私はすでにvars "x"と "y"の値を知っています。三角法を使って、どのようにして斜辺の長さ、ひいてはvar zの可変角度を計算できますか? AS3または擬似コードのいずれかのソリューションは非常に役に立ちます。ありがとう。 YHの角度 -

triangle

答えて

6

必要なものは次のとおりです。

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

角度をラジアンで指定する必要があります。x/yを入れ替える必要があり、おそらく90度を追加したり削除したりする必要があります。数学はかなり遅いという理由だけで、あなたが行うことができます)私が代わりにMath.powの乗算を(使用

を(あなたも、あなたがATAN2を使用しているときZを取得するために時間を必要としないことに注意してください):

var h:Number = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); 

正確に同じである必要があります。

4

zは180と等価です。または:

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

また、ActionScriptのの数学ライブラリがそれを持っている場合、正しく記号で、xとyと取引の両方を取る上記Arctan2を、使用しています。

0

@パトリックはまた、斜辺もsqrt(x^2 + y^2)と述べました。

1

あなたが望む角度は、yとhの間の角度と反対の角度です。

レッツ・コールayh間の角度は、あなたが望む角度は、実際にあなたの単位(度またはラジアン)に応じて、180 - aまたはPI - aです。

今ジオメトリがあることを教えてくれる:)

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

は、(日焼け使用して、我々が得る:

a = arctan(x/y) 

我々は180を探していると - 、あなたは計算する必要があります。

180 - arctan(x/y)