ベストアンサー 座標の交点の求めかた 2002/12/18 20:25 ある座標が、ある線分上に交差または重なるか調べるにはどう計算すれば良いのか教えて下さい。 みんなの回答 (2) 専門家の回答 質問者が選んだベストアンサー ベストアンサー fushigichan ベストアンサー率40% (4040/9937) 2002/12/19 11:45 回答No.2 YUMIPAさん、こんにちは。 >ある座標が、ある線分上に交差または重なるか調べるにはどう計算すれば良いのか 座標というのは、点ですね。線分というのは直線なので、その点が、その直線上にあるかどうか、 ということでしょうか。 だとすると、直線の方程式をax+by+c=0・・・・(★) とします。 点の座標を(x1,y1)だとしますと、これを(★)に代入して ax1+by1+cを計算し、それが0になれば、直線上の点だということになります。 0にならなければ、直線上にない点です。 また、線分と線分が交差するか、重なるか、という問題でしたら、 線分の方程式を、それぞれ ax+by+c=0 px+qy+r=0 としますね。このとき、それぞれの傾きを調べると ax+by+c=0 b≠0のとき、y=-a/bx-c/b となるので、傾きは-a/b px+qy+r=0 q≠0のとき y=-p/qx-r/q となるので、傾きは-p/q ここで、-a/b=-p/qのとき、すなわちaq-bp=0のとき 二つの線分は平行または、等しい。 等しくなるのは、-c/b=-r/qつまりcq-br=0のときである。 aq-bp≠0のときは、二つの線分は交わります。(平行ではないので、どこかで交わる点があります) このようなことでしょうか。 ご参考になれば幸いです。 質問者 お礼 2002/12/24 23:48 御礼が遅れてしまって申し訳ありません! とても参考になり、無事に問題解決する事ができました。 本当に有難う御座いました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (1) nitscape ベストアンサー率30% (275/909) 2002/12/18 21:17 回答No.1 ある座標がある線分上に含まれているかどうかは、その線分の方程式に座標値を代入して式が成り立つかどうかを見ることで判断できると思います。 質問とは直接関係ありませんが座標は点なので線分に対して「交差」することはないと思います。 ex. 座標(10,20) 線分(y = 2*x [5 < x 30]) なら 20 = 2*10 [5 < 10 < 30] が成り立つ=含まれる 座標(10,15)なら 15 ≠ 2*10 [5 < 10 < 30] 成り立たない=含まれない 質問者 お礼 2002/12/24 23:51 御礼が遅れてしまって申し訳ありません! 無事に問題解決する事ができました。 この質問に対して一番早くレスポンス頂けた事をとても嬉しく思っています。 今回は本当に有難う御座いました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ 学問・教育数学・算数 関連するQ&A 交点の座標 宜しくお願いします。 2本の線分の交わる交点の座標の計算のしかたを、教えて下さい。2本とも角度と点の座標は分かっていると仮定します。 宜しくお願いします。 交差する2線分の交点座標の求め方 2つの線分が交差する場に交点の座標を求めようと思っています。 アドバイスを頂けないでしょうか? 入力値:(aX1, aY1)(aX2, aY2) (bX1, bY1)(bX2, bY2) 出力値:(X, Y) よろしくお願いします。 3次元座標上の2直線の交点判定について 座標A(x1,y1,z1)から座標B(x2,y2,z2)への線分ABと 座標C(x3,y3,z3)から座標B(x4,y4,z4)への線分CDがあり、 線分ABと線分CDが交点を持つかどうかのプログラムを作りたいです。 C言語かVBかFortranで記述され、DirectXやOpenGLのライブラリを使わない方法の サンプルソースの載っているページを教えていただけませんか? また、ご迷惑でなければソースコードを記述していただけると助かります。 天文学のお話。日本ではどのように考えられていた? OKWAVE コラム 2つの座標と角度から交点座標の求め方 (X1, Y1)と(X2, Y2)の2点の座標と角度θがあります。 この情報から交点座標(XX, YY)を求めたいと思っています。 どのような計算式になるのでしょうか? VB6にて作成しております。 よろしくお願いします。 原点が複数存在する座標系は可能ですか? 普通のxy軸を持った座標は二本の直線が交差しているかたちで原点がひとつだけありますが、いま円を描いて、この円に内接する形で星型を描くと二本の線分(?)が交差する点が10個できますが、これは全て同じような原点の資格を持っているように思われます。このような複数の原点を持った座標を使っていろいろな関数のグラフを描くと全く違うものになりそうにも思うのですが、どうなのでしょう。 線分の交点の保持 いつもお世話になってます。 2つ以上の線分が2次元上にあって、線分が交差した場合それぞれの交点を保ちながらも移動し、交点で回転しながら他の線分とも衝突判定を行う、というアルゴリズムを考えているのですがなかなかうまくいかず悩んでいます。 最終的にはたくさんの線分がくっついて、くねくねしながら移動するようなイメージです。 速度を同じにして、交点を軸に回転させてみたのですが、3本目の線分が交差したときうまくいかなくなってしまいました・・。 ぜひ皆さんの力を貸してください。よろしくお願いします。 座標変換について アフィン変換などの座標変換で、「線分を座標変換するときに線分上のすべての点ではなく、両端点のみを変換すれば正しい」という数学的な証明がわかりません。 どうかどうか教えていただけないでしょうか?? ベクトルの交点座標 3次元空間において、二つのベクトルの交点座標を求める方法を教えていただけませんか。 座標系は3次元直交座標で結構です。よろしくお願いいたします。 交点の座標の計算 2点PQとそこからの距離l,mが与えられた時、RP=l,RQ=mを満たす点の座標を求めたいのです。 図では簡単に、点Pを中心に半径lの円、点Qを中心に半径mの円を書けば、交点が求める点Rになる訳ですが、これを計算で行いたいのです。 が、式がややこしくて頭が混乱してしまったので、助けてください。 簡単な計算方法があれば教えてください。 プログラムCで、(Px,Py, Qx,Qy, l,m)をパラメタとした関数を書きたいのです。 よろしくお願いします。 座標を結んだ線分の交差 配列 x, y に(実数)値が与えられており、 (x[1], y[1]) を座標平面上の点 P1 、(x[2], y[2]) を点 P2 、… と考えたとき、 P1とP2を結んだ線分と、P3とP4を結んだ線分が交差しているかを判断する プログラム(アルゴリズム)はどのように考えることができるでしょうか? 結ぶ2点を通る直線の傾きなどを求めても、どのように利用すればよいか思いつきませんでした。 C言語というより数学の話かもしれませんが、ご教示いただければ幸いです。 なかなか方法を思いつかず、私の考察を提示できずに恐縮ですが宜しくお願いいたします。 直線の交点の座標です よろしくお願いします。 問題 2直線y=x-2、y=-2x+7の交点の座標を求めなさい。 座標空間 座標空間に点A(1.0.1),B(0.2.2)および、平面z=3上でx^2+y^2=1によって表される円周上の点光源Pがある。Pから出た光によって線分ABの影がxy平面上にできるが、その長さの最大値を求めよ。 Pを文字で置き換えても、計算の仕方がわからなかったです。 ヒントでもよろしいのでよろしくお願いします。 日本史の転換点?:赤穂浪士、池田屋事件、禁門の変に見る武士の忠義と正義 OKWAVE コラム 直角三角形の斜辺への交点の座標の求め方 いつも質問ばかり恐縮です。 数学の知識がなくお恥ずかしい限りなのですが、 直角三角形a,b,cがあって、aの座標が(x1,y1)で、cの座標が(x2,y2)で 角bが直角で、そこから斜辺acへ垂線を引いた時の交点をdとして、 そのdの座標の求め方や公式などありましたら教えていただきたいです!! あともしできましたらその座標dからbへの任意の場所の座標(例えばdからbへ10進んだ時の座標) の求め方的なものも何かありましたらお願いしたいです!! 数学orアルゴリズムが得意の方(線分と線分の交点判別) C言語のアルゴリズムを勉強中です。 線分A(A(x1,y1),B(x2,y2))と線分B(C(x3,y3),D(x4,x4))が交差するかどうかを判別し、交差するのであればその交点P(X,Y)を求める。 また、その交点がどちらか一方の線分上にあるかどうかも判別したいのです。 一番効率よくやるにはどのようにすればよいでしょうか。 例えば 1、三角形の符号付き面積を使って交差するかどうかと各点が線分上にあるかどうかを判別し、その後交点を求める 2、とり合えず交点を求めてその交点が各線分内(上)にあるかどうかを判別 他にもたくさんありそうですがとにかく出来るだけ計算回数を減らしたいのです。(さっき求めた~~を~~するといったかんじで) 出来れば流れ全体を書いていただきたいのですが書き込むのが大変だと思うのでせめて使う判別式だけでも教えてください。 これが出来たら、 多角形と多角形の交点判別のアルゴリズムにも挑戦しようと思っています。 数学の得意な方、アルゴリズムを考えるのが好きな方 よろしくお願いします。 線分同士の交点の判定 線分の交差判定についてネットで調べていたら、以下のような処理で できると書かれていたページがあったのですが、どうしても理解する事が できません。 もしできれば、解説を頂いてもいいでしょうか。 よろしくお願いします。 //2次元での線分と線分の交差判定と交点 BOOL CheckCrossLine(CONST D3DXVECTOR2* pvA1, CONST D3DXVECTOR2* pvA2, CONST D3DXVECTOR2* pvB1, CONST D3DXVECTOR2* pvB2, D3DXVECTOR2* pvOut) { D3DXVECTOR2 v1 = *pvA1 - *pvB1; D3DXVECTOR2 vA = *pvA2 - *pvA1; D3DXVECTOR2 vB = *pvB2 - *pvB1; if (*pvA1 != *pvA2) ; else return FALSE;//線分が点のときは交差していないとする if (*pvB1 != *pvB2) ; else return FALSE;//線分が点のときは交差していないとする FLOAT fDeno = vA.x * vB.y - vA.y * vB.x;//外積の長さ //分母が0で、平行なときは if (fDeno != 0.0f) ; else return FALSE;//交差していないことにする FLOAT t = (v1.y * vB.x - v1.x * vB.y) / fDeno; FLOAT s = (v1.y * vA.x - v1.x * vA.y) / fDeno; if (t < 0.0f || t > 1.0f || s < 0.0f || s > 1.0f) return FALSE;//交差していない else { //交点を返す pvOut->x = vA.x * t + pvA1->x; pvOut->y = vA.y * t + pvA1->y; return TRUE;//交差 } 各座標軸との交点についての質問 座標の問題についての質問 平面x+4y+8z=6について (1)各座標軸との交点の座標を求めよ 解答(6,0,0)(0,3/2,0),(0,0,3/4) (2)原点から平面上の点までの距離の最小値を求めよ 解答2/3 (3)この平面のx≧0、y≧0、z≧0である部分の面積を求めよ 解答81/16 という問題が答えは分かるのですがいまいち解き方など分からないところがあります どなたかお教えくださるとありがたいです グラフ上の座標から0.01離れた座標の求め方 いつもお世話になります。宜しくお願いします。 下記座標を通る曲線(にみえる)グラフがあります。 教えて頂きたいのは、この線に対して距離0.01離れた座標を求めたいのです。 単純にyのみを+0.01するのではありませんし、二等辺三角形の傾斜部を0.01として求めた値でもありません。 求め方は、座標(1)と(2)の直線に対し、座標(1)を通る垂線上の距離が0.01の移動した座標です。 同様に(2)と(3)の直線に対し、(2)を通る垂線上の距離0.01離れた座標を求めたいのです。 この各座標を求める計算式を教えて下さい。 分かり難いところがあれば補足しますので、宜しくお願いします。 座標 x y (1)0.242 0.238 (2)0.246 0.242 (3)0.256 0.257 (4)0.280 0.288 (5)0.287 0.296 中学2年生 (交点の座標を求めるに)ついて 中学2年生で出る交点の座標が分かりません もしよかったら途中式を教えてください(連立方程式で) 問題 次の2直線の交点の座標を求めなさい です ご回答宜しくお願いします 2つの線分に垂直な線分の交点 2次元平面に点P(x0,y0)、点A(x1,y1)、点B(x2,y2)があり、 点Aを通る線分PAに垂直な線分と 点Bを通る線分PBに垂直な線分の交点の 求め方を教えて下さい。 垂直ベクトルを求め、任意に座標を決めて 連立方程式を解くやり方だと上手くいかない時が あります。シンプルに求める方法がありましたら 教えて下さい。 UCS座標の回転について AutoCAD LT2016を使用しています。 水平垂直でない図形(45度などに傾いた図形)に対して作図を行う場合よく、UCS座標を、ワールドでなくオブジェクトを選択して、作図したい傾いた線分などを選択して、座標を回転させるのですが。 下記のURLのようなイメージです。 http://www.g-hokuto.jp/autocad/auto007002.html 添付した画像のように一発で、思い描いた通りの座標になればいいのですが、たいがいはX軸とY軸が逆転していたり、軸の正負の向きが逆転していたり、4通り?の座標のいずれかがおみくじのようにランダムに表れてしまいます。 そういう時は添付した画像のように線分で四角形を仮に書いて、それぞれの線分を何度もクリックして望んだ座標の向きになるまで何度もコマンドを繰りかえしています。 確実にUCS座標を思った向きにする方法。またはX-Y軸だけ入れ替えるコマンドX軸(Y軸)の正負の向きだけ変えるコマンドなどありますでしょうか。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ 学問・教育 人文・社会科学 語学 自然科学 数学・算数 応用科学(農工医) 学校 受験・進学 留学 その他(学問・教育) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
御礼が遅れてしまって申し訳ありません! とても参考になり、無事に問題解決する事ができました。 本当に有難う御座いました。