1点からの傾きと度単位の角度を取得する
-
10-07-2019 - |
質問
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)数学関数に度またはラジアンが必要かどうかを理解し、適切な引数を指定してください。
ベクトルを使用することで問題を確認するより良い方法があります:
(ソース: equationsheet.com )
この方法でベクターを書くこともできます:
(ソース: equationsheet.com )
where
(ソース: equationsheet.com )
最初の値を2番目の値に設定すると、開始点、角度、距離を指定して終了点を解くことができます:
(ソース: equationsheet.com )
(ソース: equationsheet.com )