すみません。

表題の件で質問です。

例えば四角形と三角形の交点を求めるような、プログラムを作成したいのですが、
どのようなアルゴリズムを組めばいいのかわかりません。

直線と図形との交点算出はできたんですが....。
ちなみに開発言語はc#です。

どなたかわかる方いらっしゃいましたら、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>直線と図形との交点算出はできたんですが....。



それができたのなら、線分と図形との交点も算出できませんか。

線分と図形との交点が算出できれば、図形を線分に分割してそれぞれの交点を求めればいいでしょう。

例えば四角形と三角形の交点は、三角形の3本の線分と四角形の図形との交点を計算するというように。
    • good
    • 0
この回答へのお礼

なんとかできました。

ありがとうございます。

お礼日時:2011/04/24 15:20

「四角形と三角形の交点」というのは, より正確にはどのような点のことを意味するのですか?

この回答への補足

四角形の辺と、三角形の辺の交わる点のことです。

補足日時:2011/04/22 01:31
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPowerpoint2007による立体図形

Powerpoint 2007で立体図形の書き方についてご教示下さい。

図形描画の「基本図形」を利用して、立体の星の図形を作成しようと試みていますが、上手くいきません。「基本図形」平面図を利用して立体図形を描くことは無理なのでしょうか?

フリーソフトあるいは有料ソフトでもいいのですが、Powerpointの「基本図形」を補強するようなものはあるのでしょうか?

「基本図形」に存在しない図をPowerpointで描くには、どのようにするのがいいのでしょうか?

以上の点について、ご教示願います。

Aベストアンサー

> 図形描画の「基本図形」を利用して、立体の星の図形を作成しようと試みていますが、上手くいきません。

Word 2007の「3-D効果」を使って3-D化しておいて、PowerPointにコピペした方が簡単です。
「図形を立体化する(3-D効果)」
http://jishuu.net/word2007/w07-shape/shape-3d.html

> 「基本図形」に存在しない図をPowerpointで描くには、どのようにするのがいいのでしょうか?

一般的には、「図形」の「線」→「フリーフォーム」を使って描画します。
「頂点の編集」を使うと、「基本図形」の図形を変形させることもできます。

「Word(ワード)2007でフリーハンドの図形を描く」
http://word2007office.com/figure/sakusei_2.html#1
「word Excelのオートシェイプであそぼ!」(2003までは、「オートシェイプ」と言いました。)
http://6.pro.tok2.com/~smile-eko/obenkyou/word/word.htm

> 図形描画の「基本図形」を利用して、立体の星の図形を作成しようと試みていますが、上手くいきません。

Word 2007の「3-D効果」を使って3-D化しておいて、PowerPointにコピペした方が簡単です。
「図形を立体化する(3-D効果)」
http://jishuu.net/word2007/w07-shape/shape-3d.html

> 「基本図形」に存在しない図をPowerpointで描くには、どのようにするのがいいのでしょうか?

一般的には、「図形」の「線」→「フリーフォーム」を使って描画します。
「頂点の編集」を使うと、「基本図形」の図形を変形さ...続きを読む

Qc言語 三角形

三つの実数a,b,cを入力して、それらを三辺とする三角形がつくれるかどうかを判定するプログラムをつくる(float型)のですが、
三角形が作れる場合、その三角形は鈍角三角形か鋭角三角形か、または直角三角形かを判断するものに発展させなくてはいけない、
らしいのです。どうやったらいいのかわかりません。教えてください。
回答よろしくお願いします。

Aベストアンサー

1.三角形であるかの判定
三角形の1辺は他の2辺の和より小さいこと
つまり
a<b+c かつ
b<a+c かつ
c<a+b であることが条件です。
2.直角三角形の場合は、
ピタゴラスの定理(別名三平方の定理)
斜辺の2乗=底辺の2乗+高さの2乗が成立します。
すなわち
aの2乗=bの2乗+cの2乗 又は
bの2乗=aの2乗+cの2乗 又は
cの2乗=aの2乗+bの2乗 が成立すれば直角三角形です。
3.鋭角三角形の場合は、
全ての3辺について
1辺の2乗<他の1辺の2乗+もう1辺の2乗 が成立します。
4.上記の何れにもあてはまらないのが、鈍角三角形です。

Qパワーポイントでの図形選択

例えば、大きな四角の図形を貼り付けます。

その大きな四角の図形の中に小さな図形を貼り付けます。

それから、小さな図形を選択しようとしても、どうしても大きな図形が選択されてしまいます。

小さな図形を選択するにはどうしたらいいのでしょうか?

Aベストアンサー

> 例えば、大きな四角の図形を貼り付けます。
> その大きな四角の図形の中に小さな図形を貼り付けます。
> それから、小さな図形を選択しようとしても、どうしても大きな図形が選択されてしまいます。
> 小さな図形を選択するにはどうしたらいいのでしょうか?

お使いのPowerPointのバージョンが書かれていませんが、2007~2013ですと、
「ホーム」タブの「編集」にある「選択」をクリックして「オブジェクトの選択」をクリックして、
選択したい図形を囲むようにドラッグすると、ドラッグした範囲内にある図形などのオブジェクトはすべて選択されます。
(PPTの場合は、「オブジェクトの選択」は、既定でオンになっています。)

選択されたオブジェクトの中に選択から外したいものがある場合は、「Shit」キーを押しながらクリックします。

『大きな四角の図形の中に小さな図形』がある場合は、小さな図形を囲むようにドラッグします。
(注意して操作すれば、小さな図形だけを選択することはそんなに難しくありません。)

「図形の複数選択(オブジェクトの選択ボタン編)」
http://www.becoolusers.com/office/object-select-button.html

> 例えば、大きな四角の図形を貼り付けます。
> その大きな四角の図形の中に小さな図形を貼り付けます。
> それから、小さな図形を選択しようとしても、どうしても大きな図形が選択されてしまいます。
> 小さな図形を選択するにはどうしたらいいのでしょうか?

お使いのPowerPointのバージョンが書かれていませんが、2007~2013ですと、
「ホーム」タブの「編集」にある「選択」をクリックして「オブジェクトの選択」をクリックして、
選択したい図形を囲むようにドラッグすると、ドラッグした範囲内にある図形...続きを読む

QCASLIIで三角形の面積を求めたいのですが

CASLIIを使ったプログラムについて教えて下さい。

三角形の面積を求めたいです。

底辺の長さ6
高さ12
の三角形から

底辺2
高さ8
の長方形を切り取った時の面積を求めたいのですが、どうすれば良いでしょうか?

ヒントだけでも、お書きいただければ幸いです

Aベストアンサー

6×12÷2 - 2×8
を計算しろということですか?

とりあえず答えは20なんで、
LAD GR0, 20
でいいんじゃないか、という気もしますが、
それじゃあんまりだというのであれば、
掛け算を計算するサブルーチン(足し算を繰り返す)
を作るんでしょうね。

QエクセルのVBAで図形を均等割りするにはどうすれば

エクセルのVBAで図形を均等割りするにはどうすれば良いのか教えていただけないでしょうか

複数図形(画像)の上下左右合わせは以下のメンバで出来るのですが、
均等割りの方法がありましたら、教えていただけないでしょうか


メンバ名    説明
msoAlignBottoms 複数図形の下端を揃える。
msoAlignCenters 複数図形を左右中央で揃える。
msoAlignLefts  複数図形の左端を揃える。
msoAlignMiddles 複数図形を上下中央で揃える。
msoAlignRights 複数図形の右端を揃える。
msoAlignTops  複数図形の上端を揃える。

Selection.ShapeRange.Align msoAlignCenters, False

Aベストアンサー

図形を上下に整列
 msoDistributeVertically
図形を左右に整列
 msoDistributeHorizontally

かな?

Qlinuxのemasなんですが三角関数を出すプログラム

print for if scanを使って三角関数sinxを出すプログラムを作成せよ
って問題なんですがどうやればいいですか

Aベストアンサー

タイトルには「emas」ってあるんだけど, ひょっとして emacs と書きたかったんだろうか.
そうだとして, emacs lisp でプログラムを作れってことかなぁ? でも, emacs lisp には scan って関数はないよなぁ.... for ってスペシャルフォームもないか.
ということで, 問題をもっと正確に書くとともに, あなたがどこまで理解できていてどこがわからないかをちゃんと書いてください... 自分で考える気はない, というのでなければ.

Q空間図形と立体図形の違い

 確認させてください。

 空間図形と立体図形の違いなのですが、厳密な言葉でなければ

 1.立体図形は空間図形の一部
 
 2.立体図形には体積がある

 ということでよろしいのでしょうか。

 よろしくお願いします。

Aベストアンサー

もっと簡単にいきましょう。

空間図形は空間(XYZ平面のある座標軸)の中にある図形
立体図形は物体だけがポンッとその場にある感じですね。

空間図形はただの線の集まり、組合せにすぎず、結果的に図形を描いてるように見えるだけです。

あなたの質問の真意がよくわからないのですがこんな感じですかね?
ちょっと何を聞きたいのか分かりずらいです。
理系の悪い癖ですので直しましょう。

ちなみに、
あなたの2は、やや間違いでしょう。
空間図形でも、私たちがそう認識すれば
体積はあるでしょうね。
立体図形も、私たちが面があると思ってるだけで
実は辺という骨組みだけかもしれませんし。
1もなんか間違ってるような気がしますが、私にはわかりません

Q線分の交点の保持

いつもお世話になってます。

2つ以上の線分が2次元上にあって、線分が交差した場合それぞれの交点を保ちながらも移動し、交点で回転しながら他の線分とも衝突判定を行う、というアルゴリズムを考えているのですがなかなかうまくいかず悩んでいます。

最終的にはたくさんの線分がくっついて、くねくねしながら移動するようなイメージです。

速度を同じにして、交点を軸に回転させてみたのですが、3本目の線分が交差したときうまくいかなくなってしまいました・・。

ぜひ皆さんの力を貸してください。よろしくお願いします。

Aベストアンサー

まずは、幾何学的に考えてみると、線が2本なら交点一個だから、そこを中心に回転もできるけど、3本あると、各2本取り出す組み合わせが3つで、つまり、交点数は3つで、三角形を形成するので、交点が移動しないことには、線分は移動できないでしょう。
ってことで、回転中心をどの交点にするか、もうちょっと考察が必要。
方法1:交差判定で、交差したら、その交点へ回転中心を移して、その線分上の他の交点は、その交点周りを回転させるとか、
方法2:全交点の中心を求めて、そこに回転中心を移すとか、
方法3:それとも、AとB2つで回転していて、Bが別のCにぶつかったら、ぶつかったBとC2つで回転させて、Aは、離れるとか。
他にもいろいろやりかたはあるでしょう。

Q仲間はずれの図形は?(IQテスト要素の問題その2)

upした画像の中で1つだけ仲間はずれの図形があります。それとその仲間はずれの理由は、下記で正しいですか?
判定してください。


仲間はずれの図形:左端の上から2番目
理由:左端の上から2番目の図形以外は、"同じ色"で且つ"図形を構成する1つの要素が同じ"図形が、ペアとしてある。
例えば、真ん中の上から2番目の図形と右端の上から1番目の図形は色も黄色と同じで且つ図形を構成する1つの"要素(ここでは四角形)"が同じ。


http://cdn.uploda.cc/img/img5005b90e08d79.jpg

Aベストアンサー

念のため、質問者様の行きついたお答えを見ないで考察いたしました。
質問者様のお答えであっていると思います。

Q3Dプログラミングでは何故2直線の交点を「最近点」として求めるのでしょうか?

http://oshiete1.goo.ne.jp/qa74647.html?ans_count_asc=0
こちらの質問で、
>3D幾何計算ライブラリなどでは直線(線分)同士は、「交点」ではなく「最近点」として求めるのが普通です。
とありますが、何故なのでしょうか?
確かに色々調べてみますと、交点ではなく2直線の距離を求めて、その距離が一定の閾値以下なら交差している、というアルゴリズムが多く見つかりました。
小数が有限なために完全に交差することは殆どないから・・・でしょうか?

Aベストアンサー

> 小数が有限なために完全に交差することは殆どないから・・・でしょうか?

交差することは殆どないからですが、その理由は小数が有限だからでは無いです。

例えば、
・X軸
・相当に単純な図形である(1, 1, 1 )の単位立方体(?)
の12本の線分でさえ、交差しない線分が7本もあります。
ちょっと平行移動、回転するだけで、ほとんどの辺が交差しなくなります。


2Dの世界なら、ほとんどの直線と直線は交差するんですが。
同様に、3Dの世界ではほとんどの平面と平面は交差します。


汎用的に利用されるライブラリでは、指定されたほとんどの直線が交差するだろうなどという都合の良い前提を出すと、実際に使い物にならなくなるからです。

例)
・0~2πの引数しか与えられないであろうcos関数
・同じ値が入っている事は無いであろうソート関数
・割る数にゼロは指定されないであろう割り算、剰余関数