• ベストアンサー

にゃんこ先生の自作問題、立方体の影(の一部)から元の立方体を復元するには

にゃんこ先生といいます。 3次元空間の原点を始点として、互いに直交し、大きさが等しい3つのベクトルi,j,kがあったとします。この順に右手系とします。 このとき、i,jをxy平面に正射影したときの2つの平面ベクトルがそれぞれ、 u=(a,b), v=(c,d) であることが分かっているとき、kの正射影ベクトルwはu,vを用いてどのようにかけるのでしょうか? さらに、もとのi,j,kをu,vを用いてどのようにかけるのでしょうか? もとのi,j,kには、4の自由度があります。 にゃぜなら、i,iの成分にはそれぞれ3つずつ合計6の自由度がありますが、大きさが等しく直交するという条件から自由度が2減り、またこのとき、kは一意に定まるので。 ところで、u=(a,b), v=(c,d)には、4つの情報があるので、理論的には以上のようにゃ'復元'ができるとは思います。 内積や外積を用いて考えているのですが、よくわかりません。 いい知恵がありましたら教えてください。

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

  • ベストアンサー
noname#63284
noname#63284
回答No.2

i=u+x,j=v+yと書きます。 x=(0,0,X), y=(0,0,Y) とおきます。 u,v ⊥ x,y に注意。 i^2 = j^2 より、(u+x)^2 = (v+y)^2 u・x = v・y = 0 より、u^2+x^2 = v^2+y^2 x^2-y^2 = v^2-u^2 故に、X^2-Y^2 = v^2-u^2 0 = i・j = (u+x)・(v+y) = u・v + x・y 故に、XY = - u・v 故に、X^2 Y^2 = (u・v)^2 X^2 (X^2 + u^2 - v^2) = (u・v)^2 X^4 + (u^2-v^2)X^2 - (u・v)^2 = 0 X^2 = [- (u^2 - v^2) + √[(u^2-v^2)^2 +4(u・v)^2]]/2 Y^2 = [+ (u^2 - v^2) + √[(u^2-v^2)^2 +4(u・v)^2]]/2 X = √([- (u^2 - v^2) + √[(u^2-v^2)^2 +4(u・v)^2]]/2) Y = √([+ (u^2 - v^2) + √[(u^2-v^2)^2 +4(u・v)^2]]/2) と求まる。 k=i×j=(u+x)×(v+y) = u×v + u×y + x×v u×v // (0,0,1) u×y, v×x ⊥ (0,0,1) 故に、w = u×y + x×v = Y(b,-a,0) + X(d,-c,0) すなわち、 w = (d,-c,0)√([- (u^2 - v^2) + √[(u^2-v^2)^2 +4(u・v)^2]]/2)   +(b,-a,0)√([+ (u^2 - v^2) + √[(u^2-v^2)^2 +4(u・v)^2]]/2) もっと整理できるのかもしれませんが、一応、求まりました。

nyankosens
質問者

お礼

すばらしい回答をありがとうございます。たいへんよくわかりました。

その他の回答 (3)

  • tomtom_
  • ベストアンサー率39% (43/110)
回答No.4

コンピュータ・ビジョンという分野の問題です. 「"Shape from shadow" ビジョン」などというキーワードで検索なさってみてはいかがでしょうか.

  • kabaokaba
  • ベストアンサー率51% (724/1416)
回答No.3

あーkではなくて kの正射影ベクトルだった 失礼.

  • kabaokaba
  • ベストアンサー率51% (724/1416)
回答No.1

i=(1,0,0) j=(0,1,0) k=(0,0,1) i=(1,0,1) j=(0,1,1) k=(-1,-1,1)*(\sqrt{2}/\sqrt{3}) 射影すれば情報は欠落する