web-dev-qa-db-ja.com

角度のある線方程式

開始点、線の長さ、線の角度(x軸を基準)を指定して、線の方程式を見つけたり、線を描画したりするにはどうすればよいですか?

25
Zinx

線の方程式は次のようなものです。

_m*x + n = y 
_

mは角度で計算できます。 m = tan(angle)開始点がわかっている場合は、nを見つけることができます。

_tan(angle) * startPoint_X + n = startPoint_Y
_

したがって、n = startPoint_Y - (tan ( angle) * startPoint_X )

線分を描き、長さ、始点、角度がわかっている場合、2つの方程式があります。

最初は_m*x + n = y_です(解決しました)。

そして、これはm*(endPoint_X) + n = endPoint_Yを意味します

2つ目は、endPointを見つけることです。

_length^2 = (endPoint_X - startPoint_X)^2 + (endPoint_Y - startPoint_Y)^2
_

まだわからないことが2つだけあります。endPoint_xとendPoint_Y方程式を書き換えると、次のようになります。

_length^2 = (endPoint_X - startPoint_X)^2 + ( m*(endPoint_X) + n - startPoint_Y)^2
_

これで、endPoint_X以外のすべてがわかりました。この方程式により、endPoint_Xの2つのソリューションが得られます。次に、2つの異なるednPoint_Yを見つけることができます。

9
H2O

あなたが知っている出発点(x1, x2)、終点は(x1 + l * cos(ang), y1 + l * sin(ang))ここで、lは長さ、angは角度です。

36
Artelius

始点(x1, y1)をラインのもう一端(x2, y2)と呼びましょう。

次に、長さ[L]とx軸からの角度[a]が与えられた場合:

x2 = x1 + (L * cos(a))

y2 = y1 + (L * sin(a))

角度がy軸からの場合-cosとsinを入れ替えます。

(x1,y1)から(x2, y2)まで線を引きます。

線をどの方向に移動するかについては、あいまいさが見つかるかもしれません。角度の定義方法には注意が必要です。

18
morechilli

実際には2つの異なる質問があります。1つはタイトル、もう1つは本文です。

タイトルからの質問に答えることから始めましょう:

線方程式

線の方程式は

y = a*x + b

ここで、aは線とX軸の間の角度の正接であり、bは(0、0)を介して引かれた線の標高です。

角度と点が与えられた線方程式

(角度はわかっているので)aは簡単に計算できますが、bはわかりません。しかし、あなたも知っていますx0およびy0なので、bを簡単に計算できます。

b = y0 - a*x0 

これで、方程式は次のようになります。

y = tan(fi)*x + y0 - tan(fi)*x0 = tan(fi)*(x - x0) + y0

ポイント、角度、長さを指定してセグメントを描画

始点からセグメントを描画して、長さがLで、x軸に対する角度がfiになるようにします。

これはまったく別の問題です。

鋭角が(x0、y0)にある直角三角形を想像してください。

ヒポテヌサ(L)と角度(fi)を知っています。

定義により、

a = L*cos(fi) (adjacent, x)
b = L*sin(fi) (opposite, y)

必要なのは、x0とy0を追加することだけです。

x1 = x0 + L*cos(fi)
y1 = y0 + L*sin(fi)
3
Vanuan

_(0, 0)_から_(x_length, tan(angle)*x_length)_に描画する必要があります。勾配はtan(angle)になります。この開始点からすべてを差し引くことにより、別の開始点に対してこれを調整できます。

1
Peter