| 
前のページの続きです
さて、計算式の説明です。(キョーミない人は、無視してくださいね)
図(1)
 まず、被写体 X が 画角 aθ にみえる 視点 P を設定してここを「原画 A」 とします。
同じ 被写体 X が 画角 bθ に見える点まで移動したとして、「原画 B」 を考えます。
視点 P から任意の距離に置いた仮想投影面 を考えると、ここに投影された 画角
aθ および bθ が、それぞれの原画の寸法 a b となります。
図(2)  任意の中間地点「 原画(または動画) C 」の 寸法 c が欲しいので、
以下の様な計算式を立てます。
前提条件として
	原画 A のサイズ = a
	原画 B のサイズ = b
	A-B  間の分割数 = K
	(A-B  間の中枚数 = K-1)
	求める原画 C のポイント = P   :( P は A から近い順に 1.2.3...K-1.)
                                      :( P=0 で A    P=K で B  に なる。 )
	求める原画 C のサイズ   = c
	被写体の仮想の寸法 = X
	仮想投影面迄の距離 = D
	仮想投影面から被写体までの距離
		原画 A に対して = Za
		原画 B に対して = Zb
		原画 C に対して = Zc
と、仮定します。
-----------------------------------------------------------------------------
原画の寸法は、共通の仮想投影面で切り取った被写体の画角の寸法なので
以下の様な式にできる。(* これが、厳密に成立するのは単点透視の場合のみです)
(1)	a=(D*X)/(D+Za)
(2)	b=(D*X)/(D+Zb)
(3)	c=(D*X)/(D+Zc)
ここで、仮想投影面と原画 C の間の距離は仮定から、以下の様に導かれる。
(4)	Zc=P*(Zb-Za)/K+Za
式(4) を 式(3) に代入して以下の 式(6)が得られる
(6)	c=(D*X)/(D+P*(Zb-Za)/K+Za)
-----------------------------------------------------------------------------
式(1) を移項して Za に代入できる 式(7) にする
(1)	       a=(D*X)/(D+Za)
	a*(D+Za)=(D*X)
	a*D+A*Za=(D*X)
	    a*Za=(D*X)-(a*D)
		a*Za=D*(X-a)
(7)	      Za=D*(X-a)/a
-----------------------------------------------------------------------------
同様の手順で Zb に代入できる 式(8) を得る
(8)	      Zb=D*(X-b)/b
-----------------------------------------------------------------------------
式(6) に 式(7) および 式(8)で、得られた Za Zb を代入してみると・・・
	c=(D*X)/(D+P*((D*(X-b)/b)-(D*(X-a)/a))/K+(D*(X-a)/a))
	 =(D*X)/(D+P*(((D*X-D*b)/b)-((D*X-D*a)/a))/K+((D*X-D*a)/a))
	 =(D*X)/(D+P*((D*X/b-D)-(D*X/a-D))/K+(D*X/a-D))
	 =(D*X)/(D+P*(D*X/b-D*X/a)/K+(D*X/a-D))
	 =(D*X)/(D+P*(a*D*X-b*D*X)/(a*b*K)+(D*X/a-D))
	 =(D*X)/(D+(a*D*P*X-b*D*P*X)/(a*b*K)+(D*X/a-D))
	 =(D*X)/((a*b*D*K+a*D*P*X-b*D*P*X+b*D*K*X-a*b*D*K)/(a*b*K))
	 =(a*b*D*K*X)/(a*b*D*K+a*D*P*X-b*D*P*X+b*D*K*X-a*b*D*K)
           ~           ~     ~       ~       ~         ~
	 =(a*b*K*X)/(a*b*K+a*P*X-b*P*X+b*K*X-a*b*K)
                 ~~~~~     ~     ~     ~ ~~~~~
	 =(a*b*K*X)/X*(a*P-b*P+b*K)
(9)	 =(a*b*K)/(a*P+b*(K-P))
あら不思議、未知数だった X と D は すっぱりと消えてなくなって
式(9) が、あらわれました。
-----------------------------------------------------------------------------
	よって、 求める原画 C の サイズは、
		c =  (a * b * K) / (a * P + b * (K-P))
	と なります。
-----------------------------------------------------------------------------
おまけ ですが、同様の計算で画面上の位置も求める事ができます。
(*これが成立するのは、被写体の軌道が直線移動のときだけです)
	A 点の座標 = (Xa,Ya)
	B 点の座標 = (Xb,Yb)
	C 点の座標 = (Xc,Yc)
と、おくと
-----------------------------------------------------------------------------
	Xc = Xa * Xb * K / ( Xa * P + Xb * (K-P))
	Yc = Ya * Yb * K / ( Ya * P + Yb * (K-P))
-----------------------------------------------------------------------------
	  以上の式は、 「 単点透視 」 及び 「 視線方向に垂直な長さ 」 に のみ、
	正確な値が得られる式です。
	  それ以外の場合には近似値として扱ってください。 
 |