- 締切済み
線分の交点
1点を通り、ある角度を持つ、無限長の線分を定義する構造体 struct LongLine{ CPoint p; double dAngle; }; を作りました。 これを使って2つの線分の交点を求める関数を作りたいと思いますが、なかなかできかません。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- moonlight_777
- ベストアンサー率33% (3/9)
回答No.3
dAngleということは単位は度かな? ラジアンにすると θ = dAngle × π/180 で、θをx軸からの傾きとすると、 y = ax + b の a は arctan(θ) これでいいっすか?
- neKo_deux
- ベストアンサー率44% (5541/12319)
回答No.2
2つの線分をL1, L2と置きます。 L1上の点pを媒介変数tを使って表すと、 p(cos(L1.dAngle)*t+L1.p.x, sin(L1.dAngle)*t+L1.p.y) のような感じになります。 点pを通り、角度L2.dAngleの直線は… その直線が(L2.p.x, L2.p.y)を通るので… とすると、tが算出できて、点p(t)の座標に代入すると、交点が求まる。 なんてのも1つのアルゴリズムです。 -- > 関数を作りたいと思いますが、 関数の戻り値の型は? 関数の引数の数は?型は? > なかなかできかません。 どういう考え方をしたか? その結果、どこで詰まったか? なんて事を書かれては?
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.1
それで、ご質問はなんですか? y = ax + b の形式に変換すれば、あとは連立方程式を解くだけ。