3-D Visualization | ![]() ![]() |
テキスチャマッピング
テクスチャマッピングは、サーフェスプロットに適合するようにカラーデータを変換することによって、2-Dイメージを3-Dサーフェスに写像する技術です。このような機能を用いると、サーフェスを作成するのに必要な幾何学的モデル化を行わずに、凹凸や木目などの"テクスチャ"をサーフェスに適用することができます。カラーデータは、スキャンした写真など任意のイメージでも構いません。
テクスチャマッピングにより、カラーデータ配列の次元を、サーフェスプロットを定義するデータとは異なるものとすることができます。すなわち、任意のサイズのイメージを任意のサーフェスに適用することができます。MATLABは、テクスチャのカラーデータをサーフェス全体に写像できるように補間します。
例題 - サーフェスのテキスチャマッピング
この例題では、関数sphere
を使って、球面を作成し、テクスチャはそれを宇宙から撮影した地球のイメージで写像します。地球イメージは、一方向から地球を見ているので、この例題は、イメージを球面のある一面のみにマッピングし、イメージデータに要素から1の値のデータを加えます。この場合、イメージデータは、257行250列の行列で、そのために、3つの行列をお互いに連結することにより、要素が1の2つの257行125列の行列を両側に付加します。
テクスチャマッピングを使用するためには、FaceColor
をtexturemap
に設定し、イメージをサーフェスのCData
に割当てます。
load earth % earthイメージデータXとカラーマップmapをロード sphere; h = findobj('Type','surface'); hemisphere = [ones(257,125),... X,... ones(257,125)]; set(h,'CData',flipud(hemisphere),'FaceColor','texturemap') colormap(map) axis equal view([90 0]) set(gca,'CameraViewAngleMode','manual') view([65 30])
![]() |
トゥルーカラー | 視点の定義 | ![]() |