Garbage Collection

塵も積もれば山

目次

Blog 利用状況

ニュース

C++とかC#とか数学ネタを投下していく予定です。

[その他のページ]
日々の四方山話を綴った日記出水の日記帳

書庫

日記カテゴリ

[数学]捻じれて縺れてこんがらかる

某会社の入社試験でこんな問題が出ました。
「線分A,Bが交差しているか調べる方法を書きなさい」

ははぁ、外積をつかってあーだこーだするんですな。
わんくま大阪勉強会で私がスピーカーをしたやつじゃないですか。
楽勝、楽勝…とはいかず、うだうだ書いてたら時間切れになってしまいました。

「ふふふ、簡単と思っているようだが…誰も二次元とは言ってない!!」
「な、なんだって!!三次元だと!!!」

ということで、線分は厳しいので、三次元空間で直線A,Bが交わるか調べる方法です。

その前に三次元空間における線の関係をおさらいしましょう。
線が2つあるとき、「同一」「平行」「交差」「ねじれ」のどれかになります。

「同一」は文字通りまったく同じ線です。
「平行」、「交差」は二次元でも出てくる関係なので問題ないでしょう。
残った「ねじれ」、これはなんでしょう。
一言で言うと、「平行」でも「交差」でもない状態です。

立方体の各辺において、図示しました。
ねじれの関係の辺は平行でもないし、交差もしてないことに注目してください。

で、どうすればいいのか。

直線同士が最も近づく距離を測ってやって、その距離が0なら交差、
そうでないならねじれ、ということにしましょう。

直線Aを含む平面を平面α、直線Bを含む平面を平面βと名付けます。
そして、平面α、平面βは平行です。
こうして、平行な平面αと平面βの距離を測ってやります。

なお、この平面α、平面βの組は必ず1つしかありません。
存在しなかったり、複数あったりすることはありません。

ということで、方針は決定したので
次回は実際のプログラムを書きつつ解説します。

数学好きの人は、実際にどんなプログラムを書けばいいか想像してください。

投稿日時 : 2009年10月9日 16:55

Feedback

# [数学][C]内積と外積を軽く分析 2009/10/14 9:55 Garbage Collection

[数学][C]内積と外積を軽く分析

# [数学][C]直線交差点 2009/10/14 20:44 Garbage Collection

[数学][C]直線交差点

# Begun, the great itnenret education has. 2012/10/20 19:35 Titia

Begun, the great itnenret education has.

タイトル
名前
Url
コメント