ブックタイトル実装技術3月号2014年特別編集版

ページ
27/30

このページは 実装技術3月号2014年特別編集版 の電子ブックに掲載されている27ページの概要です。
秒後に電子ブックの対象ページへ移動します。
「ブックを開く」ボタンをクリックすると今すぐブックを開きます。

ActiBookアプリアイコンActiBookアプリをダウンロード(無償)

  • Available on the Appstore
  • Available on the Google play
  • Available on the Windows Store

概要

実装技術3月号2014年特別編集版

フィックス演算は各点の座標計算を行うことになります。3Dグラフィックスですから、各点の座標は(X、Y、Z)の3 次元座標で定義されます。 ここで、座標の時間変化による移動演算を説明します。 移動前の座標を(x、y、z)、移動後の座標を(X、Y、Z)とします。 図形の平行移動(図4) (x、y、z)⇒(X、Y、Z) X=x+L Y=y+M X=z+N 拡大、縮小(S 倍)(図5) X=xxS Y=yxS X=zxS 次にある点を中心に、図形が回転する場合には、回転の中心からの局座標で表します。 x平面、y平面、z平面を基準として、θ1がθ2だけ平面回転について考えます。たとえば、z 平面を固定した(x、y)平面では、移動前の点P1(x、y)の座標は局座標で x=rcos(θ1)、y=rsin(θ1)で表現できます。この時、P1がθ2 回転したP2(X、Y)の座標は X=rcos(θ1+θ2)、Y=rsin(θ1+θ2)で表せます(図6)。この時、 r= x2+y2、θ1=tan?1(y/x) X=xcos(θ2)?ysin(θ2) Y=xsin(θ2)+ycos(θ2)の関係があります。 これを、x軸、y軸、z軸に拡張すれば、フル3次元の回転となります。 P1(x、y、z)がθ回転した座標P2(X、Y、Z)は x 軸回転では X=x Y=ycos(θ)?zsin(θ) Z=ysin(θ)+zcos(θ) y 軸回転では X=xcos(θ)+zsin(θ) Y=y Z=?xsin(θ)+zcos(θ) z 軸回転では X=xcos(θ)?ysin(θ) Y=xsin(θ)+ycos(θ) Z=zとなります。 同じように透視図も簡単な式で演算できます。z 方向の座標(0、0、1/r)を消点とする1点透視図は X=x/(rz+1)、Y=y/(rz+1)、Z=z/(Rz +1) で表されます(図7)。 レンダリングについても、実は簡単な演算で処理できます。 光源の方向によって表面の明るさと影を作画しますが、これも簡単な計算で実現できます図7 透視図図5 図形の拡大・縮小図6 局座標図4 図形の移動前田真一の最新実装技術 あれこれ塾49