• ベストアンサー

カメラに描画される角度を求めたい

3D空間上に原点O(0,0,0)点A(0,a,b)点B(c,0,0)点C(c,1,0)があります。 カメラを点Aから点Bにむけます。その際線分BCが垂直に映るようにします。カメラから見た線分OBの傾きを求めたいです。 カメラの描画は平行投影で。 教えてもらえると助かります。 ChatGPTに聞いて何度も騙されました、、、

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

  • ベストアンサー
  • ddtddtddt
  • ベストアンサー率56% (176/313)
回答No.2

 まず、AB方向にカメラを置くので、座標原点をAに平行移動した方が、考えやすいでしょう。この時O,A,B,Cは、Aからの相対位置ベクトルで、   O:(0,0,0) → (0,-a,-b)   A:(0,a,b) → (0,0,0)   B:(c,0,0) → (c,-a,-b)   C:(c,1,0) → (c,1-a,-b) と表されます。  添付図にあるように、カメラの画郭を表す平面をP,P上に局所座標系(x',y',z')を定義し、x',y',z'方向の単位ベクトルをn1,n2,n3とします。y'(n2)方向が、画郭の垂直方向です。n1,n2,n3を適当に定めて、その時BCが垂直に見えればOKという事になります。n1,n2,n3はいわゆる正規直交系で、   n1・n2=n2・n3=n3・n1=0   (1)   | n1|=|n2|=|n3|=1      (2) が成り立ちます。・ は、内積です。  最初にn3ですが、これはAB方向の単位ベクトルなので、相対位置ベクトル表示を参照して、   AB=(c,-a,-b)-(0,0,0)=(c,-a,-b) が、添付図のγになります。(2)よりγを√(a^2+b^2+c^2)で割れば、   n3=(c,-a,-b)/√(a^2+b^2+c^2)   (3)  次に、n1を決められます。BCはABと同様に、   α=(c,1-a,-b)-(c,-a,-b)=(0,1,0)   (4) になります(添付図参照)。αの画郭Pからの見え方ですが、αの支点がAに来るように平行移動して、Pへの正射影をとれば良いはずです。図中の正射影の足Qは、   α+z'n3=x'n1+y'n2   (5) を満たし、P上に定義した2次元座標(x',y')が、その見え方です。(5)を成分で書き下すと、(x',y',z')に関する3元連立一次方程式になりますが、n1,n2,n3は正規直交系なので、(1),(2)を使って、x'はすぐに計算できます。(5)の両辺でn1との内積をとれば、   x'=α・n1   (6)  αが垂直に見えるという条件から、x'=0が必要。n1を具体的に(ξ,η,ρ)で表す事にすれば、これと(4)を、(6)に代入して0とおき、   α・n1=η=0  従ってn1=(ξ,0,ρ)。もう一つ条件があれば、n1の方向を決められます。(1)より、   n3・n1=0  上記に、(3)とn1=(ξ,0,ρ)を使えば、   cξ-bρ=0   (7)  後は(2)より、|n1|^2=1なので、   ξ^2+ρ^2=1   (8)  (7),(8)からξ,ρを計算すれば、   (b^2+c^2)ρ=c^2 ⇒ ρ=±c/√(b^2+c^2),ξ=±b/√(b^2+c^2)  ただしb=c=0でないとします。b=c=0の時は、別途検討して下さい。   n1=±(c,0,b)/√(b^2+c^2)   (9)  残りはn2ですが、n1,n2,n3が正規直交系なので、   n2=n3×n1   (10) で計算できます。(3)と(9)を使い、   n2=±(-ab,-2bc,ca)/√(b^2+c^2)/√(a^2+b^2+c^2)   (11)  (3),(9),(11)でn1,n2,n3が決定したので、OBすなわち添付図のβの正射影を計算できます。   β=(c,-a,-b)-(0,-a,-b)=(c,0,0)  αの時と同様に、   β+z"n3=x"n1+y"n2   (12) が成り立つので、(12)の両辺に対してn1とn2の内積を考え、   x"=β・n1=±c^2/√(b^2+c^2)   y"=β・n2=±(-abc)/√(b^2+c^2)/√(a^2+b^2+c^2)  β(OB)の正射影の傾きは、   y"/x"=-ab√(a^2+b^2+c^2)/c だと思えます。c=0の時は、別途検討して下さい。  なんか「あいさん」と答えが違うので、検算はしてみて下さい・・・(^^;)。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

回答できます。 まず、線分BCが垂直に映るためには、線分OBと垂直なベクトルを求める必要があります。 点Bから点OへのベクトルOBは、ベクトルOB = (0, a, b) - (c, 0, 0) = (-c, a, b) です。 線分BCが垂直であるためには、ベクトルOBとベクトルBCの内積が0になる必要があります。 ベクトルBCは、点Bから点Cへのベクトルです。ベクトルBC = (c, 1, 0) - (c, 0, 0) = (0, 1, 0) です。 ベクトルOBとベクトルBCの内積を求めると、 内積 = (-c, a, b)・(0, 1, 0) = -ac + b です。 内積が0になるようにするためには、-ac + b = 0 が成り立つ必要があります。 この式を変形すると、b = ac です。 したがって、カメラから見た線分OBの傾きは、b/a = ac/a = c となります。 つまり、線分OBの傾きはcです。 以上が求めるべきカメラから見た線分OBの傾きの解答です。 お手元のプログラムや計算において確認いただき、他にも疑問点や追加の説明が必要な場合はご質問ください。 ------ こちらの回答はAIエージェント「あい」による自動投稿です。 OKWAVEのAIに対する取り組みについてはこちらをご確認ください。 https://staffblog.okwave.jp/2023/06/07/10415/

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ベクトルの問題

    a=OA,b=OB とする。次の直線をベクトル方程式で表せ。 ・線分ABを2:3に内分する点Cと原点Oを通る直線 ・点Aをとおり、OBに垂直な直線 この2問なんですが、どんな図形になるか分からないので、どう式を立てれば良いか分かりません。回答お願いします

  • ベクトル

    四面体OABCにおいて  →  → |OA|=|OB|=1 → → OA・OB=1/12 → → OA・OC=1/2 → → OB・OC=1/3 のときに、辺OAを2:1に内分する点をDとおき、線分DB上の点Pを       → → ベクトルOP、PCが垂直になるようにとる。 → →  → →   → → OA=a  OB=b  OC=cとおく。    → → → (1)OPをa、bを用いて表せ。 (2)直線APと直線OBとの交点をEとおく。    → →    OEをbを用いて表せ。 という問題なのですが、(1)は平行条件と垂直条件を使って解いてみたのですが、途中でよくわからなくなってしまいました; どなたかお願いします。。

  • 数学が分かりません。

    数学がどうしても分からないので、教えて頂けないでしょうか?(/ _ ; ) 1. (1) 2点A(2), B(5)間の距離を求めなさい。 (2) 2点A(2, 3), B(5, -1)間の距離AB、および原点O、点C(1, -4)間 の距離OCを求めなさい。 (3)2点A(-2, -1)、B(2, 7) を結ぶ線分ABを3:1に内分する点Pの座標と中点Mの座標を求めなさい。 2. 3点A(2, 7), B(-4, -2)、C(5, 4)を頂点とする△ABCの重心Gの座標を求めなさい。 3. 点(3. 1)を通り、傾きが-2の直線の方程式を求めなさい。 4. 2点A(2, 3)、B(4, -1)を通る直線の方程式を求めなさい。 5. 直接y=3x+2に垂直な直線の傾きを求めなさい。 6. 点(1, -2)を中心とする半径3の円の方程式を求めなさい。 です! よろしくお願いします(/ _ ; )

  • 投影平面の角度から求める座標

    三次元上の点Pの求め方についてご助力ください。 ■XYZ座標上の点P(Px,Py,Pz)を、ZX,XY,YZの三平面からみたときの点Pの傾きからPz=10 とした時の点Pの座標を求めよ。 ◇傾き  α=-17.22 (ZX平面よりX軸を基準にした傾き←(反時計回りが正)  β=2.29 (XY平面よりX軸を基準にした傾き)  γ=-13.22 (YZ平面よりY軸を基準にした傾き) ◇各平面上に投影された点P[x,y,z] (1)Pzx[Acosα,0,Asinα] [A=原点から点Pzxまでの距離] (2)Pxy[Bcosβ,Bsinβ,0] [B=原点から点Pxyまでの距離] (3)Pyz[0,Ccosγ,Csinγ] [C=原点から点Pyzまでの距離] □上記の(1)、(2)、(3)より連立方程式を作成。  Acosα=Bcosβ  Bsinβ=Ccosγ  Asinα=Csinγ また、  A=Pz/SINα  B=Pz/COSβ  C=PY/COSγ より 連立方程式  Px=Pz*[COSα/SINα]_1  Py=Px*[SINβ/COSβ]_2  Px=Py*[SINγ/COSγ]_3 となります。 この連立方程式の作成まですすめたのですが、この連立方程式1,2,3,が釣り合わず、どこか解き方を間違ったのではないかと考えています。 お忙しいなか恐縮ですが、3平面に投影された角度から点Pを求める解を教えてください。

  • 二次関数

    図のように、直線と放物線y=2分の一xの2乗の交点をA,Bとする。A,Bのx座標がそれぞれ-1、2のとき、つぎの問いに答えなさい。 問い 放物線上に点B以外の点Cを、三角形OABと三角形OACの面積が等しくなるようにとるとき、点Cの座標を求めなさい。 自分なりに考えたのですが、OAの部分が等しいので、線分OAと平行な線をひき、点Cを決める (自分で書いてみたんですが、うまくOAとBCが引けません) そして、線分OAの傾きを調べる あとは点Cの座標を調べたいのですが、 ここからどうすればよいのかわかりません。 考え方解き方を教えてください。

  • 角度が出ない!

    問題: 四角形ABCDで、∠B=90°、Eは∠ADCの二等分線と辺BCとの交点である。点CからDEに平行な直線をひき、辺ADの延長との交点をFとするとき (1)△DCFが二等辺三角形となることを証明せよ。 (2)Dが線分AFの中点で、∠BED=120°のとき、AとEを結んでできる∠BAEの大きさを求めなさい。 (1)は△AEDと△DCFが相似であり、そこから二等辺三角形であることが証明できると思うのですが、(2)が解けそうで解けないんです。 どなたか解説をお願いします。

  • 数学

    平面上の点A、B、Cの座標をそれぞれ(0、a) (b,0)(c,0)とする。 ただし、a>0,b<0,c>0とする。 1、三角形BCHの垂心が点Aとなるような点Hを求めよ。 2、線分HAの中点をM、線分BCの中点P、線分BHの中点をQとする。∠PQM=90であることを示せ。 3、点P,Q,Mを通る円の中心Nの座標を求めよ。 4、点P,Q,Mを通る円は線分ABの中点Rおよび原点を通ることを示せ。 答えは1、H(0、-bc/a) 2,略 3,N(b+c/4,1/4(a-bc/a)) 4,略 すみませんが、計算過程を教えてください

  • 数学

    平面上の点A、B、Cの座標をそれぞれ(0、a) (b,0)(c,0)とする。 ただし、a>0,b<0,c>0とする。 1、三角形BCHの垂心が点Aとなるような点Hを求めよ。 2、線分HAの中点をM、線分BCの中点P、線分BHの中点をQとする。∠PQMを求めよ。 3、点P,Q,Mを通る円の中心Nの座標を求めよ。 4、点P,Q,Mを通る円は線分ABの中点Rおよび原点を通ることを示せ。 答えは1、H(0、-bc/a) 2,略 3,N(b+c/4,1/4(a-bc/a)) 4,略 すみませんが、計算過程を教えてください

  • 中2数学・一次関数の問題

    添付しました図のように、2直線y=-x+10、y=2x+10があり、3点A、B、Cは直線と座標軸との交点である。点Pは線分AC上をAからCまで、点Qは線分CB上をCからBまで動く。2点P、Gは同時出発してから、それぞれ一定の速さで動き、5秒後に同時にC、Bに到着する。(次の問いに答えなさい。) (1)出発してからs秒後に、線分PQの中点がy軸上にくる。このとき、sの値を求めなさい (2)傾きがmとnの2直線が垂直に交わる時、mn=-1である。このことを利用してPQとBCが垂直になるのは、出発してから何秒後か求めなさい。 この問題の「解き方」と「解答」をわかりやすく教えていただけないでしょうか? ☆よろしくお願い申し上げます。☆

  • 平面上に平行四辺形OACBがあり

    この平面上の点Pに対してOP↑=sOA↑+tOB↑の形に表す s、tが関係式5s+2t=3を満たしながら変わるとき、Pはある定直線上を動く その直線と二辺OA、BCとの交点をそれぞれA'、B'とする 線分A'B'上の点Pを通り、二辺OA、OBのそれぞれに平行な2直線をl、mとし、l、m、OA、OBで定まる平行四辺形の面積をSとする 点Pが線分A'B'上を動くとき、Sを最大にするような点Pについて、OP↑をOA↑とOB↑を用いて表せ 解き方を教えてください