質問

javascriptでは、ユーザー定義の角度で線を描画しようとしています。

基本的に、次のポイントを作成するポイント(x、y)と角度があります。行の長さは10pxである必要があります。

開始点は(180、200)であるとしましょう...角度「A」を指定すると、そして、(私は推測する)斜辺は10です、私の方程式は傾斜のXとYを得るために何でしょうか?

ご協力ありがとうございます!

役に立ちましたか?

解決

H = Hypotenuse(例では10)と仮定すると、これは勾配の式です:

Y2 = H(Sin(A)) + Y1
   = 10(Sin(A)) + 200

X2 = Sqrt((H^2)-(Y2^2)) + X1
   = Sqrt(100 - (Y2^2)) + 180

だからあなたは持っている

(180, 200) -> (X2, Y2)

X2、Y2は、AとHの値によって異なります

計算を確認するには-X1、X2、Y1、Y2の値を元の入力と結果の出力に置き換える勾配方程式を使用して、(ユーザーが入力した)Aを計算できます。

A = InvTan((Y2 - Y1) / (X2 - X1))
  = InvTan((Y2 - 200) / (X2 - 180))

他のヒント

まあ、基本的な三角法から...

sin A°= Y / 10

cos A°= X / 10

10 ^ 2 = Y ^ 2 + X ^ 2

ドイル氏がひそかに暗示したように、数学はそれほど難しくありませんが、:

1)角度の参照先と、座標の方向を明確にしてください。ほとんどの単純なトリガーは、xが右に増加し、yがページを増加する従来のデカルト座標を処理していることを前提としています。

2)数学関数に度またはラジアンが必要かどうかを理解し、適切な引数を指定してください。

ベクトルを使用することで問題を確認するより良い方法があります:

 alt text
(ソース: equationsheet.com

この方法でベクターを書くこともできます:

 alt text
(ソース: equationsheet.com

where

 alt text
(ソース: equationsheet.com

最初の値を2番目の値に設定すると、開始点、角度、距離を指定して終了点を解くことができます:

 alt text
(ソース: equationsheet.com

 alt text
(ソース: equationsheet.com

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top