JavaScript で、ユーザー定義の角度で線を引こうとしています。
基本的に、次の点を作成するための点 (x,y) と角度があります。線の長さは 10px にする必要があります。
開始点が (180, 200) であるとしましょう... 角度 "A" を指定し、斜辺 (推測) が 10 の場合、X と Y を取得するための方程式はどうなるでしょうか。斜面?
ご協力いただきありがとうございます!
JavaScript で、ユーザー定義の角度で線を引こうとしています。
基本的に、次の点を作成するための点 (x,y) と角度があります。線の長さは 10px にする必要があります。
開始点が (180, 200) であるとしましょう... 角度 "A" を指定し、斜辺 (推測) が 10 の場合、X と Y を取得するための方程式はどうなるでしょうか。斜面?
ご協力いただきありがとうございます!
さて、基本的な三角法から...
sin A° = Y/10
cos A° = X/10
10^2 = Y^2 + X^2
ドイル氏が冷笑的にほのめかしたように、数学はそれほど難しいものではありませんが、
1) 角度が何を参照しているか、座標がどの方向を向いているかを明確にしてください。ほとんどの単純な三角関数は、x が右に増加し、y がページに増加する従来のデカルト座標を扱っていることを前提としていますが、ほとんどの描画 API では、y がページに増加し、x が右に増加します。
2) 数学関数が度またはラジアンを必要とするかどうかを理解し、適切な引数を指定してください。
H =斜辺(この例では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の値によって異なります。
計算を確認するには-A(ユーザーが入力したもの)は、X1、X2、Y1、およびY2の値を元の入力と結果の出力に置き換える勾配方程式を使用して計算できます。
A = InvTan((Y2 - Y1) / (X2 - X1))
= InvTan((Y2 - 200) / (X2 - 180))
問題を調べるより良い方法は、ベクトルを使用することです。
(出典:equationsheet.com)
次のようにベクトルを記述することもできます。
(出典:equationsheet.com)
どこ
(出典:equationsheet.com)
最初の値を 2 番目の値に等しく設定すると、開始点、角度、および距離が与えられた場合に終点を求めることができます。
(出典:equationsheet.com)
(出典:equationsheet.com)