フラクタルによる風景画描画 研究者:5EI 22 番 指導教員: 【研究目的】 中野 下條 希 雅史 【描画技法】 現在、テレビやゲーム等では、山や海のよ 地形データを、山や海として表現するための うな自然の地形をCGで表現されている場合 技法を挙げる。 が多い。この研究ではランダムフラクタル理 (1)陰線処理 論に従って、地形データを自動生成し、これ 視点から見えない部分を隠す処理。 に様々なレンダリングテクニックを駆使して 前年度までは Z バッファ法を用いていたが、 風景画を描画することを目的としている。 処理の簡略化のため、視点から最も遠い場所 【フラクタルの概要】 から描いていくという方法を取った。これに フラクタルとは、相似次元Dが非整数で位 よりレンダリング速度は従来の約 14 倍にな 相次元Eよりも大きい集合のことである。位 った。 相次元Eとは一般的に使われる「線は 1 次元、 (2)拡散反射光 面は 2 次元」といったことである。相似次元 地形に光を当てたときの輝度を、太陽方向 Dはある図形を縮小率 1/r で縮小したときに、 のベクトルと各面の法線ベクトルの大きさの 元の図形を復元するのに必要な縮小図形をN 内積によって決定した。 個とする。このときに、 (3)シェーディング D=− 輝度を線形補間し、各面を多くの部分に分 log N log r 割することで、色の変化が滑らかになるよう である。 にした。 【フラクショナルブラウン運動】 (4)シャドーイング 自然の地形をフラクタルで表現する方法と 地形の別の部分に遮られることによってで して、最も有効な数学モデルのひとつにフラ きる日陰を表現するため、Z バッファ法を光 クショナルブラウン運動(fBm)がある。fBm 源を視点として用いて、影のできる部分を判 は下のような離散フーリエ変換によって生成 定した。 山の表現には(1)~(4)の描画技法を用いる される。 N −1 2 Vn = ∑ vm ⋅ e m =0 が、水面の表現には(5)も考慮される。 2πif mt n vm = 1 β m2 βは fBm の形状を指定する変数で、 v m の 位相は乱数により決定される。 この式は 1 変数関数であるが、これを2次 元に拡張することによって自然の地形を表現 する。 (5)鏡面反射光 光沢のある物体に光を当てたとき、各面に 反射する光が、輝度にどれだけ影響をあたえ るかを、太陽、視線、各面の法線ベクトルを 用いて決定した。 【水鏡(みずかがみ)の再現】 背景を湖面に映り込ませ、水鏡を再現させ る手法を説明する。 (1)背景画作成 まず、湖面に映す背景画の作成を行う。 背景画作成には長い時間がかかるため、別 プログラムで先に作成し、そのデータを読み 込む形で描写することにする。従って背景は 立体的な地形データではなくスクリーン上の 一枚絵になっている。 背景は空、雲、山の順で描く事で表現する。 空はグラデーションになるように線を引き、 図2:水鏡の再現 山はシャドーイングまでを施したものを用い 【研究成果】 た。雲については fBm によるデータを用意し、 (1)陰線処理を Z バッファ法ではなく、視点か ある値を超えた際に点を描くというようにし ら最も遠い場所から描くことで行い、その結 ている。前年度と違ってあらゆる方向に進行 果、処理速度が約 14 倍になった。 する波を重ね合わせたことで、さらに雲らし (2)光源を視点とする Z バッファ法を用いるこ くなった。 とで、影のできる範囲を判断してシャドーイ (2)水鏡 ングを行った。 (3)背景を直接描画することでスクリーン上 の一枚絵とし、水面に反射する視線をトレー スして背景のどの部分に当たるかを判断する ことで水鏡の再現を行うことができた。 【参考文献】 (1)パイトゲン/D ザウペ著 山口昌哉監訳 「フラクタルイメージ」 図1:水鏡の手法 湖面に背景を映しこむ手法は、まず図1の ように視点から湖面の各面をそれぞれ結び、 各面ごとに反射する方向を計算によって導き (2)石村貞夫/石村園子著「フラクタル数学」 (3)小堀研一/春日久美子著「基礎から学ぶ図形 処理」 (4)小笠原祐治著「C++による簡単実習 3 次元 CG 入門」 出す。そして、その反射した方向に一枚絵で (5)宮下政宏/森崎雅之著「フラクタルを用いた ある背景が存在するかを判断し、存在する場 風景画の作成」平成 14 年度卒業論文 合には一枚絵のその画素の色を暗くして湖面 (6)上石信吾著「フラクタルによる風景画描 の色としている。 画」平成 18 年度卒業論文 水鏡の再現手法により作成した画像を図 2 に示す。
© Copyright 2024 Paperzz