3DCGの透視投影変換の途中式の変形の不明点3つ

このQ&Aのポイント
  • 透視投影変換の途中式の変形の不明点が3つあります。
  • 1つ目の不明点は、式変形の途中での計算方法が分かりません。
  • 2つ目と3つ目の不明点は、式変形の途中での演算子の使い方が分かりません。
回答を見る
  • ベストアンサー

3DCGの透視投影変換の途中式の変形の不明点3つ

 お世話になっております。 透視投影変換の途中式の変形の不明点が3つあるのですが 1つ目 x '' = 2 ( x ' - l ) / ( r - l ) - 1 上の行の式から下の行の式への式変形が分かりません(1つ目) = 2x ' / ( r - l ) - 2l / ( r - 1 ) - 1 2つ目と3つ目 x '' = - 2nx / ( r - l ) z - 2l / ( r - l ) - 1 上の行の式から下の行の式への式変形が分かりません(2つ目) = - 2nx / ( r - l ) z + (- 2l - r + l ) / ( r - l ) 上の行の式から下の行の式への式変形が分かりません(3つ目) = - 2nx / ( r - l ) z - ( r + l ) / ( r - l ) よろしくお願いいたします。

noname#204807
noname#204807

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

  • ベストアンサー
  • info22_
  • ベストアンサー率67% (2650/3922)
回答No.1

質問のタイトルは大学生の質問のようですが、内容は文字を使った簡単な分数計算で、おそらく中学1~2年位の数学レベルです。分数計算そのものは小学校高学年レベルですが、文字を使う分数計算の意味で中学レベルになるのかな? >1つ目 >x '' >={ 2 ( x ' - l ) / ( r - l )} - 1 >上の行の式から下の行の式への式変形が分かりません(1つ目) >= {2x ' / ( r - l )} - {2l / ( r - 1 )} - 1 これば前の分数の分子を2つに分けて、別々の分数にしただけ。 公式:(A-B)/C=(A/C)-(B/C) で A=2x', B=2l , C= r - l とすればよい。 なお、最後の「-1」はそのまま残す。 >2つ目と3つ目 >x '' >= -{ 2nx / ( r - l ) z} - {2l / ( r - l )} - 1 >上の行の式から下の行の式への式変形が分かりません(2つ目) >= - 2nx / ( r - l ) z + (- 2l - r + l ) / ( r - l ) ,,,(※) これは最初の項はそのまま残し、2項目と3項目の「-1」を通分するだけ。 通分のため、3項目の分母を2項目の分母と同じ「 r - l 」に合わせる。 - {2l / ( r - l )} - 1 ={-2l / ( r - l )}-{( r - l )/( r - l )} ={-2l / ( r - l )}+{( -r + l )/( r - l )}] 通分の公式 (A/C)+(B/C)=(A+B)/C で A=-2l, B=-r + l , C=r - l とすれば良い。 すると (A+B)/C=(-2l-r+l)/r+l …(☆) と(※)の式の第2項が出てくる。 >上の行の式から下の行の式への式変形が分かりません(3つ目) >= - {2nx / ( r - l ) z} - {( r + l ) / ( r - l )} …(◆) (☆)の式の分子を計算すると (A+B)/C=-(r+1)/r+l …(★) となるので(※)の式に戻せば (◆)の式になります。 なお(※)の第一項は(◆)の第一項としてそのまま残しています。 お分かりになりました? よくご覧頂ければ、中学程度の分数計算(通分と分数の分解)をしているだけですよ。

noname#204807
質問者

お礼

info22_さま ありがとうございます。 長く迷いましたが種明かしを聞きますと とてもシンプルなものだったのでよかったです。 テキストでの数式は 割り算のスラッシュ/に慣れないと 項の境界が読みづらいですね。 中カッコを付けたinfo22_様の解説は とても分かりやすかったです。 また、よろしくお願いいたします。

関連するQ&A

  • 式の変形ができません。

    フィルタ補正逆投影法というのを授業でやったんですが、その中で出てくる式の変形ができません。 f(x,y)=∫[0 - π] ∫[0 - ∞] F(ρcosθ,ρsinθ)exp{j2π(xcosθ+ycosθ)ρ}ρ dρdθ + ∫[0 - π] ∫[0 - ∞] F(ρcos(θ+π),ρsin(θ+π))exp{j2π(xcos(θ+π)+ycos(θ+π))ρ}ρ dρdθ が、F(ρ,θ+π)=F(-ρ,θ)となることを考えると f(x,y)=∫[0 - π] [ ∫[0 - ∞] G(ρ)|ρ|exp(j2πρr)dρ]dθ ただし、 G(ρ)=∫[0 - ∞] ρ(r,θ)exp(-j2πρr)drとする。 というのがあります。途中の経過式がわからずどのようにして求めたのか気になるのでアドバイスおねがいします。 あと、式が長くてすいません。

  • 透視投影図形の回転

    C言語で透視投影の図形(3次元)を作成しました。 プログラムは下のような感じになりました。 static struct {int f; double x,y,z;}a[] ...(略) for(j=0; a[j].f!=-999; j++){//-999が来るまで描画  h=-a[j].x*sin(ay)/vp+a[j].z*cos(ay)/vp+n/vp+1;  px=(a[j].x*cos(ay)+a[j].z*sin(ay)+1)/h;  py=(a[j].y+m)/h;   if(a[j].f==-1) //-1が先頭にあるなら    pDC->MoveTo(px+200,-py+200);//描画の始点   else //そうでないなら    pDC->LineTo(px+200,-py+200);//線の終点 } これに、わかっているx軸まわり・y軸まわりの回転変換マトリックスを掛け合わせた、統合変換マトリックスの式 x=x*cosθ-z*sinθ y=x*sin^2θ+y*cosθ+z*sinθcosθ z=x*sinθcosθ-y*sinθ+z*cos^2θ を使用して図形を回転させたいのですが、プログラム中にはpDC->MoveTo(px+200,-py+200);のようにxとyしか出力がなく、z=をどう出力しようかと悩んでいます。また、回転を表示させるのに、 描画→回転させたx,y座標の算出→一度画面を白く塗りつぶす→描画 ということをfor文でやっていこうと思うのですが、画面がとてもちらついてしまいます。ちらつかない方法があれば教えてください。

  • 式変形がうまくいきません。

    式変形がうまくいきません。 z=-[(mg)/λ][(m/λ)exp(-λt/m)+t]+(m/λ)²g =(m/g)²[1-exp(-λt/m)]-[(mg)/λ]t 1行目から2行目へはどのような式変形が行われているのでしょうか? 教えてくださいませんか。

  • 指数式の変形

    Z=200*R^1.5 という式を R=~ の式に変形したいのですがどうすればよろしいでしょうか。

  • 式変形

    (2x-y-z)(2y-x-z)(2z-x-y)を x+y+z=S1 ,xy+yz+zx=S2,xyz=S3として S1,S2,S3を用いて表せという問題です。 途中(3x-S1)(3y-S1)(3z-S1)と変形しましたが この後どのように変形すれば良いのでしょうか。 他の方法があればその方法も教えて頂きたいです。

  • 円又は楕円を透視図または平行投影した場合の、投影平面上の楕円の公式の方

    円又は楕円を透視図または平行投影した場合の、投影平面上の楕円の公式の方程式またはそれを解説した書物を探しています。 コンピューターで3Dを作成する際、点の座標変換は分かりますが、平面上で元の円又は楕円がどのような式に変換されるのか分かりません。

  • 座標の変換の式変形がわかりません

    http://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%86%E3%83%AC%E3%82%AA%E6%8A%95%E5%BD%B1#.E6.95.B0.E5.AD.A6.E7.9A.84.E3.81.AA.E5.AE.9A.E7.BE.A9 の(X,Y) -> (x,y,z)の式変形が分かりません. (X,Y)=(,)側の導出はちゃんと出せました. X=x/(1-z),Y=y/(1-z)から(x,y,z)の各々について式を求めればいいと 思うのですが,もうひとつ式がないと導出できない気がしてます. 考えても分からなかったので,教えてください.

  • 式の変形

    http://www.gifu-nct.ac.jp/elcon/labo/endo-n/endo/lecture/syscon/node2.html 上のページの2.8式の証明について何ですが、 (2.8)式について: と書いてある、右辺の1行目の式から2行目の式へ何故変形できるのか分かりません。 九九の表のように右辺1行目の第一項を縦に、第二項を横列に取り、i行j列の要素となるような表を考えた場合、右辺2行目の式では、表の左上の要素から三角形を作るような範囲を埋め尽くすように無限に加算されていく形となり、四角形の範囲を埋め尽くすことにはならないと思うのですが、何故このような変換が出来るのでしょうか?

  • フィッシャー投影式とニューマン投影式

    Fischer投影式とNewman投影式の関係(各置換基の対応)が、よくわかりません。 Fischer投影式では、縦軸(不斉炭素の結合)の、上下についている置換基は、紙面より裏側、 縦軸の左右についている置換基は、紙面より手前に向かって出ていますが、これをそのままニューマン投影式で表そうとすると、全てY字が二つ重なった状態の「重なり型」になってしまうように思うのですが、正しくはどう考えればいいのでしょうか? つまり、Fischer投影式で左右に表されている手前向きの置換基は、Newman投影式のY字の上の二箇所(円の12時の方向を0度とすると時計回りに、それぞれ60度、300度の部分)に対応し、Fischer投影式の上下に表されている奥に向かう置換基はNewmanのY字の下の部分(同様に、180度の部分)に対応すると考えると、必ず重なり型になってしまうのでは?と考えました。 Fischer投影式で表されたものを、Newmanの「重なり型」ではなく、「ねじれ型」(antiかgauche?)として表すには(または逆にnewmanのねじれ型でかかれたものを、fischer型で表すには)、どう考えればいいのでしょうか? 図を書けないため、とてもわかりづらくてすみません。 説明がわかって頂けたか不安ですが、 よろしくお願いします!

  • 下の連立方程式の途中式を教えて下さい。

    下の連立方程式の途中式を教えて下さい。 rcosΘ+lcosΘ-(r+l-x)=0 rsinΘ-lsinβ=0 βを消去して、xについて解きます。 よろしくお願いします。