• 検索結果がありません。

サンゴの形状特性を考慮したモデルの自動生成手法の提案

N/A
N/A
Protected

Academic year: 2021

シェア "サンゴの形状特性を考慮したモデルの自動生成手法の提案"

Copied!
36
0
0

読み込み中.... (全文を見る)

全文

(1)

2009 年度 卒 業 論 文

サンゴの形状特性を考慮した

モデルの自動生成手法の提案

指導教員:渡辺 大地 講師

メディア学部 ゲームサイエンスプロジェクト

学籍番号 

M0106455

森田 宏明

(2)

2009 年度 論文題目

サンゴの形状特性を考慮した

モデルの自動生成手法の提案

メディア学部 指導 学籍番号 : M0106455 森田 宏明 教員 渡辺 大地 講師 キーワード 自動生成, 制作支援, モデリング, 3DCG, サンゴ, 群体 近年、3 次元コンピューターグラフィックス (3DCG) の分野では、自然景観の生成に 3 次元形状モデルを利用している。3DCG の景観生成において、景観を構成している様々な 生物や建物といったオブジェクトのモデリング作業がある。モデリング作業には多くの労 力、時間を必要とするためにモデリングを効率的に行う手法が重要になる。モデリングを 効率的に行う手法の 1 つとして自動生成がある。自動生成に関する研究は多くあるが、自 動生成の対象となるものは植物や地形等の陸上の自然景観を表現するためのものが多い。 陸上の自然景観の生成と比較し海底の景観生成に関するコンテンツや研究は少なく、海底 の景観を構成するオブジェクトに関する研究も少ない。海底の景観を構成する上でサンゴ は重要な生物である。サンゴは多種多様な形状を持つ生物であり、海中に多く群生する。 また、サンゴはとても複雑な形状を持つため、モデルの制作に大変な労力を要する。 本研究ではサンゴ特有の形状特性を考慮した自動生成手法を提案する。サンゴの群体 という形状特性を調査し、その特性を考慮してサンゴの群体の形状を自動的に生成でき る手法を提案する。本手法では枝状部分というモデルを生成し、複数の枝状部分のモデル を組み合わせてサンゴの群体のモデルを生成した。本研究では、形状の特徴が明確である コリンボース型、セスピトース型、洗瓶ブラシ状の 3 種の群体のサンゴを研究対象とし、 サンゴのモデルの自動生成プログラムを実装した。本研究で提案した手法を用いて実際 にモデル制作を行い、本研究の目的であるモデル制作作業の効率化ができているか比較、 検証を行う。本研究の手法を用いてモデル制作を行った結果、通常のモデル制作よりも効 率的にモデルを生成する事ができた。

(3)

目 次

第 1 章 はじめに 1 1.1 研究背景と目的 . . . . 1 1.2 本論文の構成 . . . . 3 第 2 章 サンゴの性質 4 2.1 ポリプと群体 . . . . 4 2.2 サンゴの群体の種類 . . . . 5 第 3 章 サンゴのモデル生成 9 3.1 サンゴの枝状部分のモデル生成 . . . . 9 3.1.1 サンゴの枝状部分のパラメータの設定 . . . . 9 3.1.2 頂点配置の設定 . . . 11 3.1.3 枝状部分の表面のポリプの生成 . . . 12 3.2 群体の生成 . . . . 13 3.2.1 コリンボース型群体 . . . 15 3.2.2 セスピトース型群体 . . . 16 3.2.3 洗瓶ブラシ状群体 . . . 19 第 4 章 結果と検証 22 4.1 結果 . . . 22 4.2 まとめ . . . 28 謝辞 30 参考文献 31

(4)

図 目 次

1.1 樹木の形状に似たサンゴ . . . . 2 1.2 実際の樹木の枝 . . . . 2 2.1 ポリプ断面図 . . . . 5 2.2 サンゴの骨格 . . . . 5 2.3 樹枝状サンゴ . . . . 5 2.4 塊状サンゴ . . . . 5 2.5 テーブル状サンゴ . . . . 5 2.6 コリンボース型群体のサンゴ . . . . 6 2.7 セスピトース型群体のサンゴ . . . . 7 2.8 洗瓶ブラシ . . . . 8 2.9 洗瓶ブラシ状群体のサンゴ . . . . 8 3.1 p = 301 のときの枝状部分モデルの形状図 . . . 11 3.2 枝状部分生成の頂点配置図 . . . 12 4.1 生成したコリンボース型のサンゴのモデル . . . 22 4.2 コリンボース型群体の生成例 . . . . 23 4.3 実際のコリンボース群体の例 . . . . 24 4.4 セスピトース型群体の生成例 . . . . 25 4.5 実際のセスピトース群体の群生している例 . . . 26 4.6 洗瓶ブラシ状群体の生成例 . . . 27 4.7 実際の洗瓶ブラシ状群体の例 . . . . 28

(5)

1

はじめに

1.1

研究背景と目的

近年、コンピューターグラフィックス (CG) の分野では、自然景観の生成に 3 次 元形状モデルを利用している。CG の景観生成において、景観を構成している様々 な生物、建物といったオブジェクトのモデリング作業は多くの労力を必要とする。 そのためオブジェクトのモデリングに関する研究は効率化を目的として、様々な 研究 [1][2][3][4] がある。 景観生成に関するコンテンツにおいては植物や地形等の陸上の自然景観を表現 するものが多く、海底の景観を表現するものは少ない。海底には海藻や魚など多 くの生物が生息しており、海底の景観を生成するのは多くの生物をモデリングす る必要がある。海底に生息する生物の中でもサンゴは、サンゴの観賞をメインと した水槽や、サンゴを見る事を目的とした水中ダイビングを行うツアーがあるな ど、観賞する対象として評価が高い。そのため、サンゴは多くの調査、研究 [5][6] が行われている。また、サンゴは多くの生物の住処 [7][8][9] となっており、海底に 多く群生し多種多様な形状を持つため景観を形成する上で重要な生物であると言 える。そのためサンゴをモデリングするのには多くの調査時間と労力が必要にな る。そこで、サンゴの形状を自動的に生成する事でサンゴのモデリング制作の時 間やサンゴの形状を調査、分析する時間を効率化する事ができる。サンゴの形状 を生成する参考研究として樹木の自動生成がある。樹木とサンゴの形状には共通

(6)

する特徴が多い。そのため、CG 上での樹木の形状生成に関する研究はフラクタル な分岐法則を用いた手法 [10] [11] や L-system を用いて自然物の構造を表現する手 法 [12][13][14] の研究が多くある。図 1.1 は樹木と似た形状を持つサンゴ、図 1.2 は 実際の樹木の枝の画像である。 図 1.1: 樹木の形状に似たサンゴ 図 1.2: 実際の樹木の枝 しかし、樹木とサンゴには大きな違いがある。サンゴには幹や根といった形状 部分が無い。そのため、既存の樹木の生成手法そのままでは、サンゴの形状生成 に用いる事はできない。また、サンゴは樹木と表面の形状が異なり、表面がイボ 状の形をしているため、モデル制作に労力を要する。 そこで、本研究では、サンゴの形状特性を考慮した自動生成の手法を提案する。 サンゴには群体という、複数の個体が集まり 1 つの形状を形成している状態を指 す形状特性がある。それを考慮し任意のサンゴの形状を生成する事でよりリアル なサンゴを制作できた。まず、サンゴの枝状の部分の表面には細かな突起が多数 存在する。サンゴの詳細な形状を再現するための自動生成の手法を提案した。ま た、コリンボース型、セスピトース型、洗瓶ブラシ状群体の 3 種類の群体の特徴 を分析し、形状を自動生成する手法を提案した。コリンボース型は枝状の部分が 群体の中心から放射状に広がり、全体が半球状の形状を形成する。セスピトース 型は樹枝状サンゴの 1 種であり、樹木の枝の分岐と似た形状になる。樹木の枝状

(7)

ブラシに似た形状のサンゴを生成する事ができた。また、本手法で生成した 3 種 類のサンゴの群体モデルと実際のサンゴの画像と比較し検証を行った。様々な形 状のサンゴを自動的に生成する事で、モデリングによる作業時間や労力を効率化 する事が検証できた。

1.2

本論文の構成

本論文の構成は次の通りである。第 2 章ではサンゴの性質、群体という形状特 性、そして本研究の研究対象となるサンゴについて述べる。第 3 章ではサンゴを 構成する細部の形状の生成手法と研究対象とする 3 種類のサンゴの群体の形状を 生成する手法について述べる。第 4 章では第 3 章で述べた手法でサンゴの自動生 成を行い、その結果と今後の展望や課題について述べる。

(8)

2

サンゴの性質

2.1

ポリプと群体

サンゴは刺胞動物 [15][16] である。刺胞動物とは刺胞と呼ばれる毒液を注入する 細胞を体内に備える生物である。クラゲやイソギンチャク、サンゴなどの動物が刺 胞動物である。また、刺胞動物は腔腸動物の中の 1 つでもある。腔腸動物に属す る生物はポリプという固着性の形体の個体によって体を形成している [17]。ポリプ とは体は円筒形で口の周囲に触手が並び、下端は足盤という吸着性のある部位を 持ち、水底等に付着する個体の事である。刺胞動物の 1 種であるサンゴは複数の ポリプが集まる事で 1 つの形状を作る。このように、複数の個体が集まり 1 つの 個体の様な形状を作っている状態の生物を群体と呼ぶ。現在確認されている、多 くの種類のサンゴは群体である。サンゴを構成しているポリプは、個々のポリプ がそれぞれの体内にある胃腔の延長である管を連結し群体となっている。胃腔と は消化循環形の内部の空所の事である。群体の形状を形成する要因として、サン ゴに当たる光量や水流の強さなどの周囲の環境の影響と、サンゴが行う光合成の 頻度やポリプの先端からプランクトンを捕食する種類かどうかの生態による影響 の 2 種類がある。ポリプは群体を形成した後に、ポリプの下端から石灰質を分泌

(9)

図 2.1: ポリプ断面図 図 2.2: サンゴの骨格

2.2

サンゴの群体の種類

群体の形状は、サンゴの生息場所の環境に応じて様々に変化する [18]。例とし て、樹枝状群体サンゴと呼ぶものは樹木の枝状の部分に類似した形状を持つサン ゴであり、塊状群体サンゴは、全体の形状が 1 つの塊状になっているサンゴの事 を指す。テーブル状群体サンゴは、樹枝状群体の変形したもので群体全体の形状 が平らな形状を形成しテーブルの様になるサンゴである。図 2.3 図 2.4 図 2.5 はそ れぞれ、樹枝状、塊状、テーブル状群体のサンゴの画像である。 図 2.3: 樹枝状サンゴ 図 2.4: 塊状サンゴ 図 2.5: テーブル状サンゴ 多くのサンゴは生態が不明確であったり、形状の構造が不規則なものが多い。本 研究では、形状を作る条件が明確である群体を研究対象とし、コリンボース、セ スピトース、洗瓶ブラシ状の 3 種類の群体のサンゴを選んだ。 コリンボース型群体のサンゴは、枝状のポリプが群体の中心から放射状に広が

(10)

り、群体全体の形状が半球状になるサンゴを指す。水流が速い環境にあるサンゴ は、枝状になっているポリプを密集して生やす事で枝状部分が折れにくくになる。 また塊状の群体と違い光合成が行いやすいよう、枝状部分が密集するだけでなく、 全体が放射状に広がる形になる。光合成を活発に行い、水流の速い水域に群生す るサンゴがこの群体になる。実際のコリンボース型群体のサンゴを図 2.6 に示す。 図 2.6: コリンボース型群体のサンゴ セスピトース型群体のサンゴは、樹枝状サンゴの種類の 1 つで、樹木の枝の部 分と似た形状を形成しているサンゴを指す。枝状部分が脆いため、折れにくいよ うに長く伸びない形状のサンゴがこの群体である。長く伸びると、深度の浅い場 所は波や水流の影響が強いため枝状部分が折れやすい。そのため枝状部分は長く 伸びず、海底部分で複雑に枝状部分が絡み、茂るような形状になりこの群体にな る。実際のセスピトース型群体のサンゴを図 2.7 に示す。

(11)

図 2.7: セスピトース型群体のサンゴ 洗瓶ブラシ状群体は洗瓶ブラシと似た形状を形成するサンゴを指す。洗瓶ブラ シとは瓶を洗う為の器具で、ブラシの棒状の部分の半分より先の部分から 360 度 の方向に洗うための毛が生えている物である。図 2.8 は実際の洗瓶ブラシの画像で ある。洗瓶ブラシ状群体は主軸となる中心の枝状ポリプから、洗瓶ブラシの毛の 部分の様に別のポリプが生えている形状を指す。光合成の他にプランクトンの捕 食を主とするサンゴは、プランクトンを捕食しやすいように水流の流れが速い水 面付近までポリプを伸ばすためこの群体形になる。実際の洗瓶ブラシ状群体のサ ンゴを図 2.9 に示す。

(12)

図 2.8: 洗瓶ブラシ

(13)

3

サンゴのモデル生成

3.1

サンゴの枝状部分のモデル生成

枝状部分とはサンゴの群体を構成している先端部が少し尖った円柱状の形状を した部分の事を指す。また、枝状部分の表面は複数のポリプが集まってイボの様 な形状を形成している。枝状部分とはサンゴの群体を構成する要素の 1 つであり、 群体の形状を生成する上で重要な要素となる。本手法ではサンゴの群体のモデル を、複数の枝状部分のモデルを組み合わせて生成する。本節では枝状部分モデル を生成するための頂点群の座標を決定する。

3.1.1

サンゴの枝状部分のパラメータの設定

本節ではサンゴの枝状部分のモデルを生成するパラメータの設定について述べ る。枝状部分は円柱に類似しており、先端部は尖った形をしている。本手法では 枝状部分の円柱状の形状を再現する為に角柱を用いる。このとき正多角柱の角数 M (6 5 M 5 40) を設定する。角柱の大きさを設定する外接円の半径を r とし、枝 状部分のモデルの高さを H と入力する。以降、半径は正多角形の外接円の半径を 指すものとする。次に、分割数 D(20 5 D 5 70) を入力する。分割数とは枝状部 分の形状の高さをいくつの部分に分割するかという値である。分割した角柱を区 切る各節と上面、底面に対して、底面から昇順に番号 d(1, 2, 3, . . . , D + 1) をつけ

(14)

る。枝状部分の形状の底面から d がついた節までの高さを Hd、その高さのときの 半径を rdと表す。Hdの値を求める式を式 (3.1) に示す。 Hd = H(d− 1) D (3.1) 次に生成した枝状部分のモデルの先端部分の設定について述べる。先端部分を 設定する方法を 2 種類用意する。第 1 の方法は、枝状部分のモデルの先端部分は D− 30 から D までの範囲とする。また、この時 D = 50 であるとする。先端部以 外の半径 r は一定であるとし、先端部の半径 rd(d= D − 30) の値は各節ごとに変化 する。このときの変化の割合 p(0 < p5 1 30) を入力する。先端部の半径 rdの値を求 める式先端部以外の半径 rdの値を求める式を式 (3.2) とし、形状を図 3.1 に示す。 この方法で生成した枝状部分を用いてコリンボース型群体のモデルを生成する。 rd= { r{1 − p(d + 29 − D)} (d = D − 30) r (d < D− 30) (3.2)

(15)

図 3.1: p = 1 30のときの枝状部分モデルの形状図 第 2 の方法は、分割した後の枝状部分に先端部分となる部分を追加する。枝状 部分の上面の高さから6H 5 の高さまで枝状部分の高さを追加する。追加した部分を 先端部分とする。先端部分は角錐状になる。この方法で生成した枝状部分を用い てセスピトース型群体、洗瓶ブラシ状群体のモデルを生成する。

3.1.2

頂点配置の設定

3.1.1 節で入力した M 、D、Hd、rd、p の値を元に各頂点の位置を設定し、角柱 の形状を作る。角柱を分割した各節の正多角形に頂点番号として m(1, 2, 3, . . . , M ) と設定し、正 M 角柱の各頂点の位置ベクトルを Smdと表す。また、HDの方向か ら見て時計回りに 1 から M までの頂点番号をつけるものとする。枝状部分のモデ ルの底面からの各節の高さを Hdとする。枝状部分の底面の高さを 0 とし、底面か ら上面まで y 軸方向に生成するものとする。正多角柱を生成する頂点の位置の各 成分を式 (3.3) で求める。

(16)

Smd = ( rdcos ( 2πm M ) , Hd, rdsin ( 2πm M )) (3.3) 図 3.2 は枝状部分形状のモデルを正 8 角柱で生成したときの例である。図 3.2 の 左は上面の方向から見た頂点配置を示した図であり、図 3.2 の右は入力した分割数 で高さを分割した枝状部分の側面を示した図である。 図 3.2: 枝状部分生成の頂点配置図

3.1.3

枝状部分の表面のポリプの生成

2.1 節で説明した枝状部分の表面のポリプの形状を生成する手法について述べる。 本手法では、3.1.2 節で設定した枝状部分のモデルの各頂点を移動しポリプの形状 を生成する。枝状部分のモデルの表面のポリプ 1 つ 1 つは、生成するかどうか一 定の確率で決まるものとする。ポリプを生成する確率を入力値 W (0 < W < 1) と する。ポリプを発生する頂点として、m < M かつ 1 < d < D であり、m と d が 4

(17)

に決定した頂点 Smdと、その周囲の 3 つの頂点 S(m+1)d、Sm(d−1)、S(m+1)(d−1)の 4 頂点を円の外側に向けて Q の長さだけ移動し、ポリプの形状を生成する。このと き、式 (3.4) の β に m の値を代入し、計算式で求めた位置にそれぞれの頂点を移 動する。 Sβd = ( (rd+ Q) cos ( 2πβ M ) , Hd, (rd+ Q) sin ( 2πβ M )) (3.4)

3.2

群体の生成

本節では各群体の特徴を考慮し、枝状部分を利用してサンゴの群体のモデルを 生成する手法について述べる。ここではまず、群体を生成する手法を説明する上 で用いる座標変換について述べる。 本節では 3.1 節で生成した枝状部分の頂点群を利用する。生成した枝状部分の 頂点群の座標を移動し、任意の位置に枝状部分のモデルを配置して群体のモデル を生成する。枝状部分のモデルの底面の外接円の中心点を枝状部分の下端と呼び、 上面の外接円の中心点を上端と呼び、以降の群体の生成について述べる。 本手法では、群体を生成するために複数の枝状部分を生成する。枝状部分を形 成する各頂点を回転する事で姿勢を設定し、枝状部分を平行移動する事で群体を 生成する所定の位置に配置する。 次に、枝状部分を形成する各頂点の回転を行う処理と平行移動する処理につい て説明する。枝状部分を形成する頂点の回転や平行移動を行うために、各頂点座 標を同次座標表現する。枝状部分の各頂点を同次座標で表すことで、行列変換に よる各頂点の回転や平行移動が実現できる。 以降の群体の生成の説明において、枝状部分の回転は行列を用いた 1 次変換を 利用するものとする。回転前の頂点の各成分を (X, Y, Z) とし、回転後の頂点の各 成分を (X0, Y0, Z0) としたとき、頂点座標を求める各座標軸の回転変換を以下の式 で示す。x 軸の回転を式 (3.5)、y 軸の回転を式 (3.6)、z 軸の回転を式 (3.7) で求め

(18)

る事ができる。      X0 Y0 Z0 1     =      1 0 0 0 0 cos θ − sin θ 0 0 sin θ cos θ 0 0 0 0 1           X Y Z 1      (3.5)      X0 Y0 Z0 1     =      cos θ 0 sin θ 0 0 1 0 0 − sin θ 0 cos θ 0 0 0 0 1           X Y Z 1      (3.6)      X0 Y0 Z0 1     =      cos θ − sin θ 0 0 sin θ cos θ 0 0 0 0 1 0 0 0 0 1           X Y Z 1      (3.7) 以降の群体の生成に関する説明で、枝状部分の回転変換はこの数式を用いる。ま た、この数式を省略し式 (3.8) と表す。 Rx(θ) =      1 0 0 0 0 cos θ − sin θ 0 0 sin θ cos θ 0 0 0 0 1      Ry(θ) =      cos θ 0 sin θ 0 0 1 0 0 − sin θ 0 cos θ 0 0 0 0 1      Rz(θ) =      cos θ − sin θ 0 0 sin θ cos θ 0 0 0 0 1 0 0 0 0 1      (3.8)

(19)

だけ平行移動した後の頂点の各成分を (X0, Y0, Z0) としたとき、頂点座標を求める 式を式 (3.9) に示す。      X0 Y0 Z0 1     =      1 0 0 x0 0 1 0 y0 0 0 1 z0 0 0 0 1           X Y Z 1      (3.9) また、V は平行移動したい方向ベクトルを表し、T は平行移動するための行列 を示すものとする。以降の群体の生成に関する説明で、枝状部分の平行移動はこ の数式を用いる。また、この数式を省略し式 (3.10) と表す。 T(V) =      1 0 0 Vx 0 1 0 Vy 0 0 1 Vz 0 0 0 1      (3.10) また、本手法ではベクトルを列ベクトルとして扱う MV 体系を用いる事を前提 とする。上記で述べた回転変換と平行移動を組み合わせることで、頂点移動の計 算を表記する。回転や平行移動を行う詳しい順序は、群体の種類により異なるた め後述する。

3.2.1

コリンボース型群体

コリンボース型群体は群体の中心から、複数の枝状部分が放射状に生えており、 全体の形状が半球状になる。また群体の中心から、枝状部分が生える場所は規則 的に並び、密集している。この特徴を考慮した生成手法を述べる。 入力値 F (25 F 5 4) の数の円周が xz 座標平面上にあると仮定する。これらの 円周上に枝状部分のモデルを等間隔に配置する。円の中心は座標の原点である群 体の中心とし、円周の半径は 2f r(f = 1, . . . F ) であるとする。r は生成する枝状部 分の半径であり、f は各円周につける番号である。f = 1 の円周上に配置する枝状

(20)

部分のモデルの数を入力値 α(5 5 α 5 7) とし、f の円周上に配置する数を fα と し、円周上に配置する枝状部分のモデルの番号を k(k = 1, 2, 3, . . . f α) とつける。 枝状部分のモデルを構成する任意の頂点を P とし、f 番の円周の k 番目のモデ ルを Cf kとする。Cf kを構成する頂点を Pf kとする。群体の中心にモデルを生成 し、頂点 Pf kを式 (3.11) を利用して回転し、姿勢を設定する。設定した枝状部分 の頂点を P0 f kとする。この計算を枝状部分の全ての頂点に対して行う。 P0f k = Rz ( f π 9 ) Ry ( 2kπ f α ) Pf k (3.11) 次に姿勢を設定した枝状部分のモデルを群体の特徴を考慮し、配置する。各枝状 部分を配置する際、下端の位置が V となるような方向ベクトルを定義し、式 (3.12) を用いて枝状部分を構成する全頂点の平行移動を行う。求めたベクトル Vf kを用 いて、姿勢を設定した頂点 P0 f kを所定の位置に配置する。所定の位置に配置した 頂点を P00 f kとする。 Vf k = ( 2f r cos ( 2kπ f α ) , 0, 2f r sin ( 2kπ f α )) P00f k = T(Vf k)P0f k (3.12) 各枝状部分の配置が終わったら、群体の中心に配置する枝状部分を 1 つ生成する。

3.2.2

セスピトース型群体

セスピトース型群体は樹枝状群体の 1 種で樹木の枝と共通した特徴を持つ。ま た、2.2 節で述べたように、この群体は枝状部分が長く伸びないという特徴がある。 セスピトース型群体は樹木の枝と共通する特徴を多く持つため、樹木の枝ふりの

(21)

次に、第 1 世代ポリプから派生して生える枝状部分の本数を入力値 A(A = 2, 3, 4) とする。第 1 世代ポリプから派生して生える各枝状部分に番号 a(a = 1, . . . , A) を つけるものとする。ここで生成した枝状部分を第 2 世代ポリプと呼び、νaと表す。 次に、各第 2 世代ポリプからそれぞれ派生して生える枝状部分を第 3 世代ポリ プと呼ぶ。1 つの第 2 世代ポリプから生える第 3 世代ポリプの本数を A とする。各 第 3 世代ポリプに番号 ab(b = 1, . . . , A) をつけ、それぞれの枝状部分を νabと表す。 νabの a はどの第 2 世代ポリプから派生して生えている枝状部分なのかを示す番号 である。 次に、各第 3 世代ポリプからそれぞれ派生して生える枝状部分を第 4 世代ポリ プと呼ぶ。1 つの第 3 世代ポリプから生える第 4 世代ポリプの本数を A とする。各 第 4 世代ポリプに番号 abc(c = 1, . . . , A) をつけ、それぞれの枝状部分を νabcと表 す。νabcの a はどの第 2 世代ポリプから派生して生えている枝状部分なのかを示す 番号であり、b はどの第 3 世代ポリプから生えている枝状部分なのかを示す番号で ある。 次に各第 2 世代ポリプの姿勢を制御する。各第 2 世代ポリプ毎に任意の姿勢を設 定する。各第 2 世代ポリプの x 軸回転の角度を入力値 θl(l = 1, . . . , A) とする。各第 2 世代ポリプの y 軸回転の角度を入力値 φl(l = 1, . . . , A) とする。回転する角度は各第 2 世代ポリプ毎に異なり、νaに対する回転変換は Rx(θa) Ry(φa) となる。第 3 世代ポ リプは派生している第 2 世代ポリプの姿勢から第 3 世代ポリプの角度だけ回転した 姿勢をとる。第 3 世代ポリプ νabに対する回転変換は Rx(θa) Ry(φa) Rx(θb) Ry(φb) となる。同様に第 4 世代ポリプは派生している第 3 世代ポリプの姿勢から第 4 世代 ポリプの角度だけ回転した姿勢をとり、第 4 世代ポリプ νabcに対する回転変換は Rx(θa) Ry(φa) Rx(θb) Ry(φb) Rx(θc) Ry(φc) となる。 枝状部分のモデルを構成する任意の頂点を P とし、νaを構成する頂点を Pa、νab を構成する頂点を Pab、νabcを構成する頂点を Pabcとする。 また、枝状部分を構成する頂点の上端を (0, HD+1, 0) 下端を (0, 0, 0) とする。下 端から上端に向けた方向ベクトルを v とする。式 (3.13) を利用して、各世代ポリ

(22)

プの頂点 Pa、Pab、Pabcを回転し、姿勢を設定する。設定した枝状部分の頂点を P0a、P0ab、P0abcとし、回転後の方向ベクトルを v0a、v0ab、v0abcとする。この計算 を枝状部分の全ての頂点に対して行う。 P0a = Rx(θa) Ry(φa) Pa P0ab = Rx(θa) Ry(φa) Rx(θb) Ry(φb) Pab P0abc = Rx(θa) Ry(φa) Rx(θb) Ry(φb) Rx(θc) Ry(φc) Pabc v0a = Rx(θa) Ry(φa) va v0ab = Rx(θa) Ry(φa) Rx(θb) Ry(φb) vab v0abc = Rx(θa) Ry(φa) Rx(θb) Ry(φb) Rx(θc) Ry(φc) vabc (3.13) 次に各世代ポリプの位置の設定を行う。まず、第 1 世代ポリプは群体の中心の 位置に設定する。第 1 世代ポリプは原点に生成し、回転や平行移動を行わないも のとする。次に、各第 2 世代ポリプ νa(a = 1, . . . , A) は第 1 世代ポリプの下端から 上端までの線分上の位置に平行移動する。配置場所は入力値 Ln(n = 1, . . . , A) に よって決定する。Lnは νnの配置場所を下端からの距離で示す値である。ただし、 Ln < Ln+1とする。 各枝状部分を配置する際、下端の位置が V となるような方向ベクトルを定義し、 式 (3.14) を用いて枝状部分を構成する全頂点の平行移動を行う。求めたベクトル V を用いて、姿勢を設定した頂点 P0を所定の位置に配置する。所定の位置に配置 した頂点を P00とする。この計算を第 2 世代以降全てのポリプの全頂点に対して 行う。

(23)

Va = Lav HD+1 Vab = Lbva HD+1 + Va Vabc = Lcvab HD+1 + Vab P00 = T(V)P0 (3.14)

3.2.3

洗瓶ブラシ状群体

洗瓶ブラシ状群体は前述の 2.2 節で述べた洗瓶ブラシに似た形状の群体である。 主軸となる枝状部分を主軸ポリプ、主軸ポリプの側面部分から派生して生えてい る枝状部分を側軸ポリプと呼ぶ。また、主軸ポリプの上端付近から生える側軸ポ リプは、下端付近から生える側軸ポリプと比較し長く伸びる特徴がある。長く伸 びた側軸ポリプからは更に枝状部分が生える場合があり、この枝状部分を第 2 世 代側軸ポリプと呼ぶ。これらの特徴を考慮した、サンゴの群体の生成手法を説明 する。 まず、各ポリプを生成する前に、側軸ポリプの長さを設定する。長さが異なる 側軸ポリプを 3 種類用意する。1 番長い側軸ポリプは主軸ポリプの1 8 以上、 1 4 以下 の長さとし、側軸ポリプ L と呼ぶ。2 番目に長い側軸ポリプは側軸ポリプ L の 7 10 の長さとし、側軸ポリプ M と呼ぶ。1 番短い側軸ポリプは側軸ポリプ L の 1 2 の長 さとし、側軸ポリプ S とする。 主軸ポリプとなる枝状部分のモデルを生成し µ と表す。次に側軸ポリプの生成 する数を設定する。主軸ポリプの下端と上端を結ぶ線分の下端から 1 3 までの長さ を HD+1 3 とする。主軸ポリプの HD+1 3 の高さから上端まで線分を分割する数を J + 1 とし、入力値を J(155 J 5 30) とする。次に、分割した主軸ポリプの各節から放 射状に側軸ポリプを生やす数を入力値 I(5 5 I 5 10) とする。放射状に生える側 軸ポリプに y 軸の正方向から見て時計回りに番号 i(i = 1, 2, 3, . . . , I) をつけ、各節 ごとに主軸ポリプの下端に近い方から番号 j(j = 1, 2, 3, . . . , J) をつけ、各側軸ポ

(24)

リプを µijと呼ぶ。また、主軸ポリプの上端付近と下端付近で生成する側軸ポリプ の種類を変える。j > 2J 3 のときは、側軸ポリプの種類を側軸ポリプ S か側軸ポリ プ M か側軸ポリプ L を任意の確率で設定し、それ以外のときは、側軸ポリプの種 類を側軸ポリプ S か側軸ポリプ M で任意の確率で設定する。本研究では 2.2 節で 述べた特性に基づき上端付近では側軸ポリプ L がでやすいという特徴を考慮して いる。 枝状部分のモデルを構成する任意の頂点を P とし、µijを構成する頂点を Pijする。また、枝状部分を構成する頂点の上端を (0, HD+1, 0)、下端を (0, 0, 0) とす る。各枝状部分の下端から上端に向けた方向ベクトルを v とする。側軸ポリプ µij を生成し、頂点 Pij を式 (3.15) を利用して回転し、姿勢を設定する。この計算を 枝状部分の全ての頂点に対して行う。姿勢を設定した枝状部分の頂点を P0ijとし、 回転後の方向ベクトルを v0ijとする。 P0ij = Rz (π 2 ) Ry ( 2iπ I ) Pij v0ij = Rz (π 2 ) Ry ( 2iπ I ) vij (3.15) 次に姿勢を設定した側軸ポリプのモデルを平行移動する。各側軸ポリプを配置 する頂点の方向ベクトルを Vjとし、次に P0ijを式 (3.16) を利用して各枝状部分の モデルの下端が Vjに来るように配置する。 Vj = ( 0,HD+1 3 + 2jHD+1 3 J , 0 ) P00ij = T(Vj)P0ij (3.16) 側軸ポリプから更に生える第 2 世代側軸ポリプを生成する方法について述べる。

(25)

する。設定した確率によって各側軸ポリプ L から第 2 世代側軸ポリプが生えるかど うかを判定する。側軸ポリプ µij から生える第 2 世代側軸ポリプを κij と表す。さ

らに 1 つの側軸ポリプがら生える 3 つの第 2 世代側軸ポリプに番号 w(w = 1, 2, 3) をつけ、各第 2 世代側軸ポリプを κijwと表す。

第 2 世代側軸ポリプ κijwを生成する。κijwを構成する頂点 Pijwを、式 (3.17) を

利用して回転し、姿勢を設定する。姿勢を設定した枝状部分の頂点を P0 ijwとする。 この計算を枝状部分の全ての頂点に対して行う。 P0ijw = Rz (π 2 ) Ry ( 2iπ I ) Rz (π 20 ) Ry ( 2wπ 3 ) Pijw (3.17) 次に姿勢を設定した第 2 世代側軸ポリプを式 (3.15) を利用して求めた v0ij と、 (3.16) を利用して求めた Vjを用いて平行移動する。各第 2 世代側軸ポリプを配置 する頂点の方向ベクトルを Vij とし、P0ijwを式 (3.18) を利用して各枝状部分のモ デルの下端が Vij に来るように配置する。また、各枝状部分ごとに q(q = 3, 4) の 値をランダムに設定する。所定の位置に配置した頂点を P00 ijwとする。この移動を 第 2 世代側軸ポリプの全頂点に対して行う。 Vij = qv0ij 5 + Vj P00ijw = T(Vij)P0ijw (3.18)

(26)

4

結果と検証

4.1

結果

第 3 章で述べたサンゴの群体を考慮した生成手法をプログラムで実装した。実 装には 3D グラフィックツールキットである FK System[19]、GUI ライブラリであ る Lily Libraly[20] を用いた。実装したプログラムを用いて、サンゴの枝状部分の 長さ、太さ、数を変える事で、様々な形状の群体を生成する事ができた。本章で は第 3 章で述べた手法を用いてモデルを生成した例をそれぞれの群体ごとに示す。 図 4.1 は本手法を用いて生成したコリンボース型群体のサンゴのモデルである。 図 4.1: 生成したコリンボース型のサンゴのモデル

(27)

るという特徴があり、枝状部分は密集して生える。また、群体の特性を考慮しつ つ、モデルの規模や細部の形状を生成することができた。 生成したモデルを図 4.2 に示す。以降の全てのモデルの生成例は、ポリプの形状 を発生する確率を 0.7、ポリプの高さを 1 から 2 の範囲の値でランダムに設定し生 成したものである。また、図 4.2 に示したモデルは枝状部分の角数を 30、分割数 を 60、先端部分の半径の変化割合を 1 30と設定した。その他の入力値は表 4.1 に示 す。実際のサンゴを図 4.3 に示す。 (a) 生成例 (b) 生成例 (c) 生成例 (d) 生成例 図 4.2: コリンボース型群体の生成例

(28)

表 4.1: モデル生成の際に入力したパラメータ 対応する図 枝状部分 枝状部分 円周の数 円周上の枝状部分 の半径 (r) の長さ (H) (F ) の数 (α) (a) 生成例 3 50 2 5 (b) 生成例 3 50 4 7 (c) 生成例 5 60 4 7 (d) 生成例 3.5 80 3 5 図 4.3: 実際のコリンボース群体の例 図 4.4 は本手法を用いて生成したセスピトース型群体のサンゴのモデルである。 全体として枝が短い、樹枝状サンゴの 1 種であり、枝状部分が高く伸びずに、海 底に茂るような形状になるという特徴を考慮し、モデルを自動生成することがで きた。また、枝状部分の分岐法則には、樹木の自動生成で枝状部分の分岐法則な どに利用する自己相似性を本手法で利用した事により樹枝状という形状を表現で きた。また、枝状部分が生える数を制限した事で枝状部分が高伸びないという性 質も再現できた。

(29)

の入力値を表 4.2 に示す通りに設定しモデルを生成した。実際のセスピトース群体 のサンゴの群生を図 4.5 に示す。

(a) 生成例 (b) 生成例

(c) 生成例 (d) 生成例

(30)

表 4.2: モデル生成の際に入力したパラメータ 対応する図 枝状部分 枝状部分 の半径 (r) の長さ (H) (a) 生成例 3 30 (b) 生成例 4 30 (c) 生成例 4 50 (d) 生成例 3 50 対応する図 枝状部分 1 枝状部分 2 枝状部分 1 枝状部分 2 の角度 (φ1) の角度 (φ2) の角度 (θ1) の角度 (θ2) (a) 生成例 36 36 48 24 (b) 生成例 180 36 48 36 (c) 生成例 180 36 72 60 (d) 生成例 180 36 24 24 図 4.5: 実際のセスピトース群体の群生している例 図 4.6 は本手法を用いて生成した様々な形状の洗瓶ブラシ状群体のサンゴのモデ ルである。主軸となる枝状部分から側軸となる枝状部分を生成する事で洗瓶ブラ シ状の形状を再現し、サンゴのモデルを生成する事ができた。洗瓶ブラシ状の形

(31)

生成したモデルを図 4.6 に示す。また、図 4.6 に示したモデルは枝状部分の角数 を 6、分割数を 20 と設定して生成した。その他の入力値を表 4.3 に示す。また、実 際の洗瓶ブラシ状群体のサンゴを図 4.7 に示す。 (a) 生成例 (b) 生成例 (c) 生成例 (d) 生成例 図 4.6: 洗瓶ブラシ状群体の生成例 表 4.3: モデル生成の際に入力したパラメータ 対応している図 主軸枝状部分 主軸枝状部分 側軸枝状部分 側軸枝状部分 の半径 (r) の長さ (H) の数 (J) の数 (I) (a) 生成例 5 100 15 5 (b) 生成例 5 100 24 8 (c) 生成例 7 150 24 7 (d) 生成例 7 160 21 8

(32)

図 4.7: 実際の洗瓶ブラシ状群体の例

4.2

まとめ

本手法ではサンゴの枝状部分の太さ、長さ、本数等の値を任意に設定しつつ、群 体の特性を考慮したサンゴの形状を自動生成する事ができた。群体という形状特 性を考慮した事で、よりリアリティのあるサンゴのモデルを生成することができ た。また、サンゴのモデルの細かな形状を自動生成できた事で、手作業では時間 のかかる形状部分の制作を効率化できた。本研究によって、一般のモデリングソ フトを用いてサンゴのモデルを制作する場合と比較し、本手法を用いた場合の方 がモデリングにかかる時間、労力を効率化できた。 また、セスピトース型群体サンゴの枝状部分の分岐には自己相似性を持たせた。 自己相似性とは、全体の形状の 1 部を拡大すると、他の部分、または全体と形が一 致する性質の事である。自己相似性は樹木のモデルの自動生成に利用する事があ る。この性質を利用した事で、自然な樹枝状サンゴの特徴を表現する事ができた。

(33)

サンゴの多様性を表現できたとは言い難い。そのため、多くのサンゴの群体を調 査し、より多くの種類のサンゴの群体を表現できる自動生成の手法を提案する必 要がある。また、サンゴは水流の強さやサンゴにあたる光量など、周囲の環境に よって異なる形状を形成する。しかし、本手法では周囲の環境を考慮していない。 周囲の環境の影響によるサンゴの形状の特徴を考慮することで、より実際のサン ゴに近い形状を生成できるだろう。

(34)

謝辞

本研究を締めるにあたり研究の指針や開発の手法、論文の執筆など幅広くご指 導、ご教授を頂いた本校メディア学部の渡辺大地講師、並びに三上浩司講師に深 く感謝いたします。また、プログラムの実装にあたり、すばらしいライブラリを 開発し、使用する許可を下さった、本校メディア学部の嘱託研究員、渡辺賢悟氏 に深く感謝いたします。 大学での研究、生活を応援してくれた家族に感謝します。つらい時に激励して くれた高校時代の多くの友人、後輩、先輩の皆に深く感謝します。辛い時期を乗 り越える事ができたのは、高校時代の部活で培った精神のおかげだと思います。 研究の支援や相談に乗ってくれ、時には気晴らしに遊びに誘っていただいた多 くのゲームサイエンスの先輩方 (特に武田、石塚、阿部の 3 名)、本当にありがと うございました。いつも真面目に相談にのってもらい、また、最後まで面倒をか けてしまった武田先輩、ありがとうございました。自分をいじられキャラとして 最後までいじり倒してくれた石塚先輩、ありがとうございました?阿部先輩、な んかもう色々とすいません、そして本当にありがとうございました。 そして何より、共に励まし合い、苦楽を乗り越え、研究に励んだゲームサイエ ンス研究室に所属する多くの仲間達、ありがとう。年末には研究室の中心で助け

(35)

参考文献

[1] Pascal Muller, Procedural Modeling of Buildings, SIGGRAPH, 2006.

[2] 坂口竜己, 実写映像に基づいた樹木のモデリング, 電子情報通信学会, 1997. [3] 吉澤 大輔, 光環境を考慮した樹木生長モデリング, 名古屋大学大学院情報科学 研究科, 2007. [4] 柳瀬 龍郎, 3DCG を簡単に使える方法の検討 (形状モデリング (1), 形状モデリ ングおよび CG 一般), 情報処理学会, 2006. [5] 西平守孝, 日本の造礁サンゴ類, 海游舎, 1995. [6] 山里 清, サンゴの生物学, 東京大学出版会, 1991. [7] 西平守孝, 足場の生態学, 海游舎, 1996. [8] 西平守孝, サンゴ礁 生物がつくった<生物の楽園>, 平凡社, 1995. [9] 大串隆之, さまざまな共生 生物種間の多様な相互作用平凡社, 1992. [10] 渡邊 朋也, 仮想植物の作成 : 2. 形態と生長のモデル化 L-studio の利用, 日本 作物学会紀事 Vol. 76, 2007. [11] 巽 二郎, 根の形態測定法:フラクタル解析の利用, 日本作物学会紀事 Vol. 76, 2007.

(36)

[12] Aristid Lindenmayer, Development models of herbaceous plants for computer imagery purposes, ACM SIGGRAPH, 1988.

[13] Ping Tan, Image-based tree modeling, ACM SIGGRAPH, 2007.

[14] Makoto Okabe, Interactive Design of Botanical Trees using Freehand Sketches and Example-based Editing, ACM SIGGRAPH, 2007.

[15] 青野裕幸, 身のまわりで学ぶ生物のしくみ (102P), 秀和システム, 2006.

[16] サンゴを上手く飼うための本 (15P), エイ出版社, 2008.

[17] 吉野敏, マリンアクアリウムレイアウト, marine planning co.ltd, 1994. [18] ダニエル・ロング, 小笠原ハンドブック: 歴史、文化、海の生物、陸の生物

(123P), 南方新社, 2004.

[19] 渡辺大地, FK Tool Kit System , <http://fktoolkit.sourceforge.jp/>.

図 2.1: ポリプ断面図 図 2.2: サンゴの骨格 2.2 サンゴの群体の種類 群体の形状は、サンゴの生息場所の環境に応じて様々に変化する [18]。例とし て、樹枝状群体サンゴと呼ぶものは樹木の枝状の部分に類似した形状を持つサン ゴであり、塊状群体サンゴは、全体の形状が 1 つの塊状になっているサンゴの事 を指す。テーブル状群体サンゴは、樹枝状群体の変形したもので群体全体の形状 が平らな形状を形成しテーブルの様になるサンゴである。図 2.3 図 2.4 図 2.5 はそ れぞれ、樹枝状、塊状、テーブル
図 2.7: セスピトース型群体のサンゴ 洗瓶ブラシ状群体は洗瓶ブラシと似た形状を形成するサンゴを指す。洗瓶ブラ シとは瓶を洗う為の器具で、ブラシの棒状の部分の半分より先の部分から 360 度 の方向に洗うための毛が生えている物である。図 2.8 は実際の洗瓶ブラシの画像で ある。洗瓶ブラシ状群体は主軸となる中心の枝状ポリプから、洗瓶ブラシの毛の 部分の様に別のポリプが生えている形状を指す。光合成の他にプランクトンの捕 食を主とするサンゴは、プランクトンを捕食しやすいように水流の流れが速い水 面付近までポリ
図 2.8: 洗瓶ブラシ
図 3.1: p = 30 1 のときの枝状部分モデルの形状図 第 2 の方法は、分割した後の枝状部分に先端部分となる部分を追加する。枝状 部分の上面の高さから 6H 5 の高さまで枝状部分の高さを追加する。追加した部分を 先端部分とする。先端部分は角錐状になる。この方法で生成した枝状部分を用い てセスピトース型群体、洗瓶ブラシ状群体のモデルを生成する。 3.1.2 頂点配置の設定 3.1.1 節で入力した M 、 D 、 H d 、 r d 、 p の値を元に各頂点の位置を設定し、角柱 の形状を作る。角柱
+5

参照

関連したドキュメント

りの方向性を示した「新・神戸市基本構想」 (平成 5 年策定)、 「神戸づくりの 指針」 (平成

そのため本研究では,数理的解析手法の一つである サポートベクタマシン 2) (Support Vector

研究開発活動の状況につきましては、新型コロナウイルス感染症に対する治療薬、ワクチンの研究開発を最優先で

生活習慣病の予防,早期発見,早期治療など,地域の重要

 介護問題研究は、介護者の負担軽減を目的とし、負担 に影響する要因やストレスを追究するが、普遍的結論を

機械物理研究室では,光などの自然現象を 活用した高速・知的情報処理の創成を目指 した研究に取り組んでいます。応用物理学 会の「光

プログラムに参加したどの生徒も週末になると大

作品研究についてであるが、小林の死後の一時期、特に彼が文筆活動の主な拠点としていた雑誌『新