• ベストアンサー

二次元空間から三次元空間への変換

具体的なイメージが浮かばないので、問題が解けません。 考え方と、行列を用いた回答を教えてください!! 問題は以下のとおりです。 右目と左目の距離が70mmである人が、目と紙の距離が140mmの時に見るとちょうどよくなるようなステレオ図を作れ。 うまい立体が思い浮かばない場合は、次の立体をステレオ図により再現せよ。 目の前350mmのところに中心をもつ一辺の長さが70mmの立方体。 ただし、立方体の各面は顔面に平行でないとする。 理系の学生、または数学ができる方、ぜひお願いします!!

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.1

この問題、2つ変なところがあります。 (1) stereogramを140mmの所に置いて観察できるヒトは近眼です。普通これが見えるためには凸レンズ(老眼鏡)が必要。すると、像が拡大されて見えます。この事まで考慮しないと、「目の前350mmのところに中心をもつ一辺の長さが70mmの立方体」を実際に見せてあげることは出来ません。 (2) 350mm先にある大きい立体を右目だけ、左目だけで観察してみれば分かるように、140mmのところに置いたスクリーン上では右目用の図と左目用の図は部分的に重なり合ってしまいます。だから、赤と青で描いて、左右の目に赤・青の色つき眼鏡を掛けるとか、もっと小さい物を見せるとか、工夫しないといけません。 出題者はここまで考えているのかなあ。  目がピンホールカメラみたいに、うんと近いところにもピントが合うものとして考える(多分出題者の意図はこっちでしょう)なら、瞳は点で表されます。顔面から(従って左右目の瞳からも)140mmの距離にある平面状のスクリーンSに3次元空間中の点p=(x,y,z)を投影したとき、どこに来るのか。つまり、右の瞳Rと点Pとを結ぶ直線がSと交わる点はどこか。これをPrとしましょう。同様に左の瞳Lと点Pとを結ぶ直線がSと交わる点をPlとする。 見せたい立体を構成する各点の座標PをPr, Plに変換してスクリーン状に点を打てばstereogramができあがるわけです。 まず右目だけ考えます。右目の瞳を原点とする3次元座標系(x,y,z)、ただしx-y平面がスクリーンと平行である、そういう座標系を考える。この座標系で問題の図形の各頂点の座標を表す方法は、自分で考えてね。  スクリーンS上にも座標系(X,Y)を作ります。原点はz軸とSとの交点とし、X軸はx軸と平行であるとしましょう。つまりスクリーンはz=Dという方程式で表される平面です。D=140mm。  点Pの座標(x,y,z)と原点とを結ぶ直線とSとの交点はどこに来るか。パラメータtを使って直線を((x/z)t, (y/z)t, t)と表すことが出来ますね。だから、t=Dの時、X=(x/z)D, Y=(y/z)D、これがスクリーンに投影された点Pの像の位置PRです。  さて、物体が直線の辺を持っているとき、スクリーン上でもこの辺の像は直線になります。だから、多面体のように辺が直線で構成された物なら、頂点の座標だけこの方法で変換して、あとは線分で繋いでやれば良いんですね。  左目についても同じようにやります。70mmだけ見せたい物体の座標をずらす必要があることにご注意。  あとはご自分で。でっきるかな。できるのか。

関連するQ&A