

博士論文

陰関数曲面とパーティクルシステムを用いた
仮想粘土細工による自由形状モデリングに関する研究

松宮 雅俊

年 月

日

奈良先端科学技術大学院大学
情報科学研究科 情報システム学専攻

本論文は奈良先端科学技術大学院大学情報科学研究科に博士 工学 授与の要件として提出した博士論文である。

松宮 雅俊
審査委員：

横矢 直和 教授
千原 國宏 教授
湊 小太郎 教授
竹村 治雄 助教授

陰関数曲面とパーティクルシステムを用いた
仮想粘土細工による自由形状モデリングに関する研究
松宮 雅俊

内容梗概
本論文では，粘土細工を行うような感覚で自由形状のモデリングが行える仮想
粘土細工システムについて述べる．まず 章では，本研究の背景と目的について述べる． 章では，仮想現実感技術と陰関数曲面を用いることにより，手を用いて直接的に仮想粘土へ凹凸を加えるという形状の変形を実現する手法について述
べる．形状変形に際しては，陰関数曲面表現の特徴を利用して，形状の衝突判定
や変形処理に複雑な処理を必要とせず，その定義から自然に変形を表現している．
次に， 章では，パーティクルシステムと陰関数曲面を用いた仮想粘土モデルに対し，手を用いて変形を加える手法について述べる．現実の粘土の変形挙動を少ないパーティクルで表現するとともに，粘土の表面形状を陰関数曲面を用いて表現する． 章では，上記の つの手法を組み合わせることで，粘土へらと手を用いた，より表現力の高い粘土細工を行える仮想粘土細工システムについて述べる．
対話的に変形操作を行うためには，一連の処理を高速に行う必要がある．そこで，
上記のそれぞれの手法に対して，陰関数曲面を効率良くポリゴン表現に変換する手法および，対称型マルチプロセッサシステムを用いた並列処理について述べる．
また，それぞれの手法を実装した試作システムによる形状変形例を示し，対話的な仮想粘土細工が行えることを実験的に示す．最後に  章で本研究を総括する．
キーワード
仮想粘土，陰関数曲面，仮想現実感，パーティクルシステム
 奈良先端科学技術大学院大学 情報科学研究科 情報システム学専攻 博士論文


年 月

日







 



          

  
       ! ! "# !   !   "$  %& '(   ) # )  !!
! "# $!  "  )  #   " *  )
) $ )# +  )"$  "$&   !   , $ !"  !)"  )  !", ")"  )   ) 
%"" !" ) !" $   !   ! )&     )" "$ ! " )# " $!  !")& -" $! "  )" "$ ! "   "% " "$#   ")!& !" ) "  )" "$ ! "  !  ) ) )# "& '""$(  ! "# $!      !   &       !   )" "$! "(   "$# .  "# !   "     #  )""$ ! "  !)"  #   !" $   !"!#  "# !& /,!     "$     ! &0)" 1"$( !" )( 0)" 2"$( -" $!
  
   

 !   ! "   "# 



$



目次

 序論
&

&
&


本研究の背景と目的

&&
&&
&&

次元自由形状モデリングの難しさ
芸術的造形とバーチャルリアリティ
3


本研究の目的従来研究と本研究の方針
本論文の構成 陰関数曲面による手を用いた形状変形
&
&
&

&

緒言
陰関数曲面
手を用いた形状変形&&&&

つのモデリング操作：「凹ませる」，「 つまみ出す」
形状の変形処理

対話操作のための描画手法と並列処理&&&&

陰関数曲面の描画手法
マルチスレッドプログラムの設計& 試作システムによるモデリング実験& 結言

 仮想粘土モデルによる粘土の変形挙動の表現
&
&
&
&



緒言
パーティクルシステム
仮想粘土モデル





3





3

対話操作のための描画手法と並列処理&&&&

仮想粘土モデルの描画手法
マルチスレッドプログラムの設計& 試作システムによる変形挙動の確認4& 結言 手と粘土へらを用いた仮想粘土細工システム



 結論



謝辞



参考文献



研究業績



付録



& 緒言
& 手と粘土へらを用いた仮想粘土細工システムの概要& 局所的細密表現による つの変形段階の実現& モデリング実験によるシステムの有効性の検証
& 結言




3
3

 陰関数曲面のレ イトレーシング法 補助アプリケーション： ，





図目次
三面図と透視投影図が表示された市販 次元 15 ソフトウェアの画面例（ 文献 6 7 より引用）

市販 次元 15 ソフトウェアでモデリングに使用するアイコンやメニューの例（ 文献 6 7 より引用）

曲面の 15（ 文献 6 7 より引用）

市販 次元 15 ソフトウェアでの曲面のモデ リングに使用する制御点とハンド ル（ 文献 6 7 より引用）



3
4


粘土らしく見せるための凹凸付け（ 文献 67 より引用）
重み

によるスケルタルサーフェス形状の変化

一般的な距離場関数の例
制御点 1- における距離場関数の傾きの影響
形状を凹ませた様子
形状をつまみ出した様子
エルミート曲線による距離場関数
形状の凹みの表現
形状のつまみ出しの表現



4


つのボクセル空間



3
4


表面が存在するボクセルの探索
変換領域と処理領域
ボクセルの  つの 面体への分割
面体と形状表面との交点を用いたポリゴン生成
頂点の内外判定の組み合わせによるパターン分け手を用いた変形処理におけるスレッド の関係
手を用いた仮想粘土細工の試作システムの様子
手を用いた仮想粘土細工の試作システム構成
モデリング例：ティーカップ
モデリング例：水槽の中の魚

レ イトレーシング法による画像：たこ





4



3
4


レ イトレーシング法による画像：鳥の頭
ティーカップのモデリング過程
たこモデルと市販ソフトウェアを利用して描画した画像
たこモデルと光造形装置を利用して生成した実物体
パーティクル間の相互作用力
パーティクルと陰関数曲面による粘土表現
仮想粘土モデルの距離場関数
線分による指のモデル化


3
4


平面による手のひらのモデル化



3
4


線分パーティクル間の相互作用力
ボクセル空間移動パーティクルの周囲のボクセルのみを変換
線形近似で交点座標を求める
仮想粘土モデルにおけるスレッド の関係
仮想粘土モデルの変形挙動の確認実験の様子

 個のパーティクルによる仮想粘土モデル


仮想粘土モデルを人差し指で押す様子
仮想粘土モデルを人差し指で押す様子
仮想粘土モデルに人差し指で穴を開ける様子
仮想粘土モデルを人差し指と親指でつまんで分断する様子
仮想粘土モデルを手のひらで押して傾ける様子
3
仮想粘土モデルを手のひらで分断する様子
4
1-8 数と変換したボクセル数によるポリゴン変換の処理時間の変化 
1-8 数とパーティクル数によるパーティクルシステムの処理時間
の変化
スレッド 数による個のパーティクルの処理時間の変化
手と粘土へらを用いた仮想粘土細工システムを使用している様子

手と粘土へらを用いた仮想粘土細工システムの構成

操作棒で仮想粘土モデルを分断する様子





3
4







4




 手を用いた全体変形段階
 粘土へらを用いた局所変形段階
 形状データの局所的細密表現
3 蟹の作成過程：全体変形段階での手を用いたモデリング
4 蟹の作成過程：局所変形段階での拡大部位の指定
 蟹の作成過程：局所変形段階での拡大部分に対する形状変形
 蟹の作成過程：局所変形段階での全体表示
 蟹の作成過程：完成した作品例
 モアイの作成過程：全体変形段階での手を用いた形状の傾け モアイの作成過程：全体変形段階での手を用いたモデリング モアイの作成過程：局所変形段階での形状変形
 モアイの作成過程：局所変形段階での拡大部位の指定
 モアイの作成過程：局所変形段階での拡大表示
3 モアイの作成過程：局所変形段階での拡大部分に対する形状変形
4 モアイの作成過程：局所変形段階での全体表示 モアイの作成過程：完成した作品例
3 モアイ形状と市販ソフトウェアを利用して描画した画像
3 局所的細密表現の拡張
3 1$'  の外観（ 文献 63 7 より引用）
& レ イトレーシング法
& 形状と視線との交点の求め方
& %"" !" 2$  の実行画面





3
4


3
3
3
3
3
3
3
3
3
3
3
33
4




表目次

1-8 数と変換したボクセル数によるポリゴン変換の処理時間の変化 秒
1-8 数とパーティクル数によるパーティクルシステムの処理時間の変化 秒
スレッド 数による個のパーティクルの処理時間の変化



4





序論



本研究の背景と目的  次元自由形状モデリングの難しさ
次元コンピュータグラフィクス 15 を効果的に使用した画像や映像は，プレゼンテーション，映画，コマーシャル，ゲームなどに積極的に活用され， 次元 15 の必要性は高まる一方である．また，専門家だけではなく， 次元 15 を作成したいという一般のユーザも増加している．このような 次元 15 の作成では， 次元形状を計算機内に構成するモデリングと呼ばれる作業が必要になる．
次元形状のモデ リングに一般に用いられている次元形状モデラとしては，) 16 7 などの 次元 11 !)  # ソフトウェアや，2$! ) 6 7，9#: 6 7，6 7 などの 次元 15 ソフトウェアのモデラ部分がある．これらのソフトウェアでは一般に，図 および図 に示すよ
うに， 次元形状の透視投影図や 面図，形状の組み合わせや親子関係を示した構成図（ 一般にツリー構造），様々な機能を選択し実行するためのアイコンやメニューなどが 次元ディスプレイ上に表示され，それらに対してマウスやタブレッ
トなどの入力装置を用いて 次元形状のモデリングを行う．
これらのソフトウェアを用いて 次元形状をモデリングする方法は様々であるが，) 1 ではメニューやコマンド によって直接座標値を入力したり， 本の曲線によって閉じた平面図形を描き，その間を曲面として内挿する方法などがある．また，2$ ! ) ではポリゴンによって近似された曲面形状を構成し，ポリゴンの頂点をマウスで移動することによって曲面形状を変形させる方法や，平面図形と曲線をマウスで描き，平面図形を曲線に沿って押し出すことで立体化する方法などがある．9#:

 では ; 82< と呼ばれるパラメ

トリック曲面の制御点をマウスで直接移動したり，メニューから選択した機能によって移動することで曲面を変形させてモデリングを行う． では図 のような曲面形状をモデリングする場合，図 の三面図内の制御点やハンドルと呼ばれる曲面形状を決定するものをマウスで移動させることで行う．
以上のように，一般の 次元 15 ソフトウェアにおけるモデラでは，複雑な幾

図

三面図と透視投影図が表示された市販 次元 15 ソフトウェアの画面例（文献 6 7 より引用）

図

市販 次元 15 ソフトウェアでモデリングに使用するアイコンやメニューの例（ 文献 6 7 より引用）

何操作や位相操作によって 次元形状のモデリングを行う．そのため，ユーザには幾何や位相に関する数学的知識が必要なうえ，多くの複雑な操作を覚えなければならない．さらに， 面図や投影図など の 次元表示を用いて 次元形状を把握する能力も要求される．すなわち，従来のモデラでは， 次元形状のモデリン
グに要するユーザへの負担が非常に大きい．これは，これから 次元 15 を始めようとする初心者には敷居の高いものである．また，初心者以外のユーザにとっても，形状をモデリングする際，どのような幾何，位相操作を組み合わせるべきなのかを考えなければならず，形状の設計そのものに集中することができない．

図

図

曲面の 15（ 文献 6 7 より引用）

市販 次元 15 ソフトウェアでの曲面のモデリングに使用する制御点とハンドル（ 文献 6 7 より引用）

 芸術的造形とバーチャルリアリティ
これまで述べてきた一般の 次元 15 ソフトウェアや 次元 1 ソフトウェ
アで用いられている造形手法に対して，彫塑のような芸術的造形手法がどのように異なるのかを，計算機を用いた造形の観点から整理する 67．

 対象とする造形物

 次元 

工業製品等の機能的な構造物や部品のような，主として数値で明確に規定できる形状の造形を目的としている．また，内部の部品による外装形状の制約等，様々な制約の中で造形される．

 次元 ! 次元 1 と芸術的造形の両方の側面を持つが，芸術的造形物に感じられる手作り感のある造形は困難である．例えば，「 粘土らしさ」
を出すために，図  左のような球に対し凹凸を付け，図  右のような形状を作成するなどの技術を必要とする 67．

芸術的造形 形状を作者の頭に描いたイメージに近づけることが目的であり，数値的正確さより人間の感覚的判断による対話的試行錯誤作業が造形の基本である．また，中間段階で生成された形状から次の新しい発想が誘発され，作業の進行に伴ってイメージが変化していくことが多い．
このようにして作られる造形物には，手作り感が感じられる．

 造形インタフェースの機能 次元 

・

! 座標値や関数パラメータなどで規定される形状の定義に適する造形インタフェースになっている．
芸術的造形 頭に描いたイメージを即座に形にできるような直感的造形環境が必要である．そのためには，意図に忠実な造形が簡単な操作で実行できる造形インタフェースが要求される．意図した精度で 次元加工が可能な操作インタフェースが必要である．

 造形インタフェースの構成 次元 

・

! 次元造形を 次元の作業に置き換えてマウスを用いる

インタフェースが多い．高度な機能を備えるために操作法が複雑になっている．
芸術的造形 造形の自由度を重視する必要がある．その場合， 次元作業に置き換え難い 次元作業が多くなる．そこで，マウスによる 次元操
作より，直接的 次元操作が必要になる．直感的造形作業にも 次元の直接操作が適する．機能選択などの操作法を意識することは直感的思考の妨げになるので，単純な機能で意図した造形ができるようなイ
ンタフェースの開発が必要である．

図  粘土らしく見せるための凹凸付け（ 文献 67 より引用）
一方，バーチャルリアリティ02 技術の発展とともに，現実世界の体験を，

02 技術を応用して計算機上で仮想体験する様々な研究やアミューズメントシス
テムの開発が行われている．その中でも，仮想空間における対話的な次元形状の作成に関する研究が，02 における重要な課題の一つとして研究されている

63( 4( ( ( ( 7．
没入型モデラは，02 技術によって計算機の生成する仮想空間に没入して 次元形状のモデリングを行うことのできるシステムであり，以下のような利点がある．

直感的な視認=;= ; ) "$ や液晶シャッター眼鏡などによって，左右の目にそれぞれの視点からの画像を提示して両眼立体視することにより，対象物を立体的に見ることができる．また，磁気トラッカなどの 次元位置センサによって，頭部の位置，姿勢を計測し，その視点からの画像を実時間提示する．このような，両眼立体視と視点追従画
像提示の併用によって， 次元形状やそれらの位置関係を容易に把握することが可能となる．

直感的な操作
次元位置センサや，それを取り付けた手形状入力装置などの装置を用いることで， 次元の入力装置では煩雑になりがちな 次元形状の操作を直接的に行うことができる．

対話的モデリング
仮想環境内では， 次元形状に対する操作は直ちに提示画像に反映され，操作結果が即座に視認できる．この形状操作と視認の同時性により，効率的なモデリング環境を構築することができる．
このように，前述した芸術的造形に関する諸点に対処するためには，02 技術
を用いれば良いと考えられる．

 本研究の目的
02 技術を用いて，粘土細工や彫刻などの誰もが経験のある形状作成手法によって 次元形状をモデリングできれば，前述した 次元形状モデリングの問題を解決することができる．粘土細工や彫刻などの造形手法では，素材を手で持って移動，回転をさせることや，頭を動かすことによって，好きな方向から眺めながら，手や道具を使って直接的に素材に変形を加えて造形していく．これをコンピュータ上の仮想空間で，現実空間と同様に行なうことができれば，特別な知識や難解な操作を新たに覚えなくても，なじみのある方法で直感的に形状をモデリングすることができる．
そこで，本研究では，なじみのある造形手法として粘土細工を取り上げ，コン
ピュータ上で現実空間と同様の粘土細工が行える自由形状モデリング環境の構築を目指す．さらに，従来のモデリングでは困難と考えられる，手作り感のある形状が作成できる自由形状モデリング環境の構築を目指す．



従来研究と本研究の方針

粘土細工や彫刻など のような誰もが経験のある造形手法を取り入れることで，直感的な形状モデリングを目指す研究が多数行われている 6

( 7．

( ( ( ( 3( 4(

まず，彫刻を模倣したモデリングに関する研究として，形状をボクセルデータで表現し， 次元マウスを用いて操作される切削ツールの動きに従ってボクセル値を更新することで，仮想空間で対話的な形状モデリングを実現しているもの 67がある．しかし，生成される形状は現実の彫刻のような細密なものではなく，形状操作においても立方体形状をした 次元マウスを操作するという現実には無い
独特なものである．一方，楕円体で表現される彫刻刀と，平面または 次曲面で表現される彫刻素材との論理演算によって，現実の彫刻に似た形状を生成する研究67 がある．しかし，ユーザの視点移動に対する画像の描画に時間がかかる描画手法であるため，現実空間での造形作業のように形状を自由に眺めながら対話的にモデリングを行なうことができない．
また，粘土細工を模倣したモデリングに関する研究としては，ボクセル空間に配置された 次元セル構造オートマトンを応用したもの 6

ルによって粘土の形状変形を実現しているもの 6

7 や，粒子ベースモデ( 7 がある．しかし，これらは対話的な形状変形や可視化を考慮していない．他にも，双三次ベジエ曲面で表現された形状を直観的に変形させる方法 6 (

37 があるが，変形手段や変形モデルの提案であり，自由形状のモデリングを行うには到っていない．メタボールを対話的に操作することによってモデリングを行う研究 6 47 では，メタボールを移3動させることによる形状の変化が粘土に似ている．しかし，操作する対象はあくまでメタボールであり，メタボールを意識しながらのモデリングは，粘土細工の造形作業とは異なる．
また，粘土という具体的なものではないが，柔物体の変形に関する研究も行われている 6 (

7．しかし ，これらは対話的な形状変形や可視化を考慮していな
い．特殊な装置によって柔物体の変形を反力を通して感じることが可能な方法 6 7

は，物理モデルを用いたものではなく，変形挙動は現実の物体と異なる．境界要
素法を基にした線形弾性体の高速な計算に関する研究 6

7 や，物理モデルとサブ
ディビジョン・サーフェスを用いた対話的な形状変形に関する研究 6 7 があるが，これらは形状の分断や融合を表現できない．
その他の造形手法を模倣したモデリングに関する研究として，仮想ろくろを用いた回転体形状モデラ 67 がある．これは回転体の輪郭線を体積を一定に保ちつつ変形することで，ろくろを用いて作成したような形状を生成している．しかし，モデリング可能な形状は回転体に限られ，任意の自由形状のモデリングができない．
以上のように，様々な形で 次元形状のモデリングの問題点を解決する試みが行なわれているが，より現実空間での作業に近づけたモデリング環境が必要であると考える．
そこで，本研究では，まず，没入型モデラにおいて手や指を用いて 次元形状
を直接変形させるという操作方法を採用する．制御点やパーティクルなどを意識して形状を変形させるような間接的な方法を用いずに，それらを意識せずに直感的，直接的に変形できる方法とする．このような，自由形状の対話型モデリングを実現するためには，以下のような課題を解決しなければならない．

& 現実の粘土のような変形挙動を示す仮想粘土の実現& 仮想粘土と手形状とのインタラクションの実現& 対話的な形状変形が可能な時間での計算と描画処理の実現
これらの課題を解決するために，本研究では，パーティクルシステムと陰関数
曲面による形状表現を採用し，形状変形と描画を高速に計算する手法を開発する．

4



本論文の構成本論文の構成は以下の通りである． 章では，仮想現実感技術と形状の陰関数
曲面表現を用いて，仮想粘土を手で直接「凹ませる」ことと，「 つまみ出す」ことによって，粘土細工を行うような感覚で自由形状のモデリングが可能な仮想粘土
細工システムについて述べる．ここでは，粘土らしい変形挙動の表現については考慮していない．そこで， 章では，パーティクルシステムと陰関数曲面を用いた仮想粘土モデルに対し，手を用いて変形を加えることのできる仮想粘土細工シ
ステムについて述べる．現実の粘土の変形挙動を少ないパーティクルで表現するとともに，粘土の滑らかな表面形状を陰関数曲面を用いて表現する． 章では，章と 章で用いた手法を組み合わせた，手と粘土へらを用いた仮想粘土細工シス
テムについて述べる．最後に  章では，本研究を総括する．



陰関数曲面による手を用いた形状変形



緒言

本章では，仮想現実感技術と陰関数曲面を用いて，仮想粘土を手で直接「凹ませる」ことと，「 つまみ出す」ことによって，粘土細工を行うような感覚で自由形状のモデリングを行うための手法について述べる 6 (

( 3( 4( ( 7．
ここでは，ユーザ・インタフェースに仮想現実感技術 63( 47 を用いて，計算機の生成する仮想空間に没入して次元形状のモデリングを行うことを想定する．

=;（ = ; ) "$ ）を装着し仮想空間に没入したユーザが，手形状入力装置を装着した手で直接的に仮想粘土に変形を加えることによってモデリングを行う．また， 次元位置センサを用いて，頭部と手の位置および姿勢を計測する．
このようなシステムでは，仮想の粘土と手とのインタラクションを表現しなければならない．現実空間での粘土細工では，粘土に指を押し込んでいくと，粘土が指の形状に沿って凹んでいく．また，指でつまみ出すと，つまんでいる指と指の間に粘土がつまみ出される．さらに，このような変形を加えても，粘土形状は滑らかである．このような仮想粘土を表現するために，陰関数曲面（ !" ) ）の一種である，スケルタルサーフェス（ %"" !" ) ）6( ( ( 7を利用する．スケルタルサーフェスは，距離場関数に従って，その骨格となるス
ケルトンを包み込むように生成される曲面である．このスケルタルサーフェスで仮想の粘土と手を表現し，適切な距離場関数とスケルトンの生成手法を開発する
ことで，先述のような仮想粘土を表現する．
また，仮想粘土の変形やユーザの視点移動による画像を実時間で提示するために，スケルタルサーフェスによる形状を高速に描画する手法についても検討する必要がある．本章では，陰関数曲面を効率良く実時間でポリゴンに変換する手法
を応用し，高速な描画を実現する．



陰関数曲面

本研究では自由形状の表現手法として，陰関数曲面の中でもスケルトン（ %""/"! ）と呼ばれる形状の骨格要素を基にして形状を生成するスケルタルサー
フェス（ %"" !" ) ）6 ( 7 を用いる．スケルタルサーフェスは，一般に知られている，<" $ ; ")"6 7 やメタボール 6 7，  >*6 7 と類似のものであり，これらの違いは，その定義に用いられている関数の違いである．スケルタルサーフェスでは，この関数の定義が広く，概形が同じである様々な関数が用いられている．そこで，このスケルタルサーフェスで仮想の粘土と手を表現し，適切な距離場関数とスケルトンの生成手法を開発することで，先述のような仮想粘土を表現する．まず，本節ではスケルタルサーフェスについて述べる．
スケルタルサーフェスを用いた陰関数曲面は，自由形状は式（ ）の陰関数多項式で表現され，このとき形状はスケルトン  と重み  ，距離場関数（ '" ')  ）

によって決定される．     となる点  は形状の外部の点，     となる点  は形状の内部の点，   ?  となる点  は形状の表面上の点であることを表す．ここで， を陰関数値と呼ぶ．また，スケルタルサーフェスによる形状
は常に連続な曲面となり，式の偏微分により容易に曲面上の任意の点での法線が求まる．

 

 ? & ?

   ? ，    



 

?&

 ? & ? &

図  重み







．

 ? &

によるスケルタルサーフェス形状の変化?&

スケルトン  は形状の骨格となるもので，点や線分，平面などを用いることができる．重み  はスカラー値であり，正負の値を取ることができる．また，  
は点  とスケルトン  上の最も近い点との距離を表す． つの点スケルトンから，  ）に示すように，成る形状の，重み  による変化の例を図  に示す．図 （  ）（重み  が正の値同士の形状を組み合わせた場合，一方の形状が他方の形状に付加される．また，図 （  ）に示すように，重み  が正の値と負の値の形状を組み合わせた場合，正の値の形状が負の値の形状に切削される．距離場関数  は典型
的には図 3 に示されるような形状となる関数が使われる．制御点 1- における傾きと影響範囲となる幅を制御することで形状の変形具合いを制御することができる．制御点 1- の傾きによる形状の変化を図 4 に示す．傾きの絶対値が小さい場
合，図 4（  ）のようにつなぎ目が緩やかになり，傾きの絶対値が大きい場合，図4（  ）のようにつなぎ目が急になる．

図 3 一般的な距離場関数の例

%&

傾き'

%(&

傾き'

)* 

図 4 制御点 1- における距離場関数の傾きの影響

手を用いた形状変形

前節で述べたスケルタルサーフェスの特徴を利用して，仮想粘土の変形を行う．
本節では２つのモデリング操作を定義し，それぞれで行われる変形処理について述べる．

  つのモデリング操作：「凹ませる」，「 つまみ出す」
本システムでは，形状に対して次の つのモデリング操作を行うことができる．
また，初期形状として球が用意される．

（ １）形状を凹ませる
まず，手を図  の様に人差し指だけを伸ばした形にする．そして，形状に対して人差し指を接触させ押し込んでいくことで，粘土のように，人差し指部分の形状を凹ませていく．この時，接触部分の形状は指形状にあわせて変形する．また，
陰関数曲面による形状は常に連続性を保つため，凹みを加えた部分の形状も滑らかである．

図  形状を凹ませた様子（２）形状をつまみ出す
まず，親指と人差し指，中指を伸ばし ，手を図の様に形状をつまむ形にする．そして，手を移動させることで，形状をつまみ出す．実際には，手の動きに沿って 本の指の間に円柱状の形状が連続的に生成され，他の形状と接触する場
合は滑らかに繋がるが，これをユーザが意識することはない．そのため，手を形状内部から外部へ動かすと次々と形状が生成され，ちょうど 手で粘土をつまみ出すように変形させることができる．

図

形状をつまみ出した様子 形状の変形処理
まず，本研究では前節で述べたスケルタルサーフェスの表現式（ ）を次の式（ ）のように改良して用いる．

 ?

 



 



 

  

．



このように式変形するのは，経験的に，表現式（ ）のままでは指形状に沿って形状を凹ませることができず，指形状の周囲が広範囲に渡って凹んでしまうためである．形状をつまみ出す際にも，つまみ出した形状が広範囲に広がることを防ぐ．
また，同様の理由から，距離場関数  として式   に示すエルミート =!
曲線 6 37 による関数を用いる．式   において，  ?

す 次エルミート関数であり， ，  ?







 は図







 は式   に示に，距離  に対する距離




 ?



場関数の変化の様子とともに示したベクトルである．

  @   
@   @  ； @    @     @     

 

 

 

 





 



 



 





 

 
； 



 



  ?  @    ，  ?    ，  ，
  ?
  ．
  ?


 

図























．













エルミート曲線による距離場関数



次に，初期形状がつの点スケルトンから成る形状を例に， & & で述べた２つのモデリング操作による形状変形処理について説明する．初期形状    は式（ ）から，点スケルトンを    ?
次の式（  ）で表される．


  ?


，重みを




 
@  


? ? ?
  @          

として





．

（ １）形状を凹ませる
人差し指形状    は線スケルトンで表現し，線スケルトンを  として，式（  ）で表される．

 ?  ．

指形状    による初期形状   の凹みは，図 に示すように，      という減算によって表現することができ，変形後の形状   は，指形状の重みを?  として式（ 3 ）のようになる．
 







 

  











 



  ?
?

 







     
 @  @     










         



3


．

  

ここで，手が一定距離移動するごとに，指のスケルトンの形や位置といった幾何
情報と，減算という属性をスケルトンデータとして連続的に取得していく．スケ
ルトンのサンプリング間隔は，経験的に，指のスケルトンの長さの分の にした．この間隔であれば，連続的に生成しても，表現式（ ）と図に示す距離場関数によって，指形状に沿った「形状を凹ませる」表現ができる．

（２）形状をつまみ出す
つまみ出される（ 付加 ）形状    は，凹ませる場合と同様に線スケルトンで表現し，式（  ）で表される． & & 節で述べたように，付加形状は 本の指の

3

S1

f2(P)

f2(P)

S2
S3
f1(P)−f2(P)

f1(P)

図

f1(P)−f2(P)形状の凹みの表現

間に生成される．初期形状    への形状    の付加は，図に示すように，  @   という加算によって表現することができ，変形後の形状   は，
? として式（ 4 ）のようになる．
付加形状の重みを








 



  ?
?

 







  @  
 @  
 

@  
  @ 










         



4


．

  

ここで，手が一定距離移動するごとに，付加形状のスケルトンの形や位置といった幾何情報と，加算という属性をスケルトンデータとして連続的に取得していく．
スケルトンのサンプリング間隔は， & & と同様，指のスケルトンの長さのの にした．この間隔であれば，連続的に生成しても，表現式（ ）と図

分に示す

距離場関数によって，細く滑らかに繋がった「形状をつまみ出す」表現ができる．
次節では，以上のようにして生成されたスケルトンデータによって表される，
スケルタルサーフェスを実時間で描画する手法について述べる．

4

S1

f2(P)

f2(P)

S2
S3
f1(P)+f2(P)

f1(P)

図



f1(P)+f2(P)形状のつまみ出しの表現

対話操作のための描画手法と並列処理 陰関数曲面の描画手法
対話操作を行うためには，スケルタルサーフェスを用いた形状を実時間で描画してユーザに提示する必要がある．陰関数曲面では曲面上の任意の点での法線が容易に求まることから，その描画手法としてはレ イトレーシング法を用いるのが一般的であるが 6 4(

7，レ イトレーシング法は実時間処理には向かない．そこで，本研究においては，陰関数曲面として表現された形状をポリゴンで近似し ，
ハード ウェアによる高速なポリゴン描画手法を利用する．陰関数曲面を用いた形
状をポリゴンに変換する手法としては，スケルトンから多方向に伸ばした直線と曲面との交点を頂点としてポリゴンを生成する ) らの手法 6 7 や，関数や

密度ボリュームデータの等値面をポリゴン変換する手法 6 (  7 を基にした，ボクセルと曲面との交点を頂点としてポリゴンを生成する <"!" らの手法 6 7などがある．しかし，これらの手法は実時間での対話的なモデリングを考慮したものではない．また，ボクセルを利用して，メタボールの実時間での対話的なモデリングを可能とした手法 6 47 もある．この手法では，濃度値（ 本論文では陰関数値）の計算時に参照するメタボールを限定することによって処理を軽減している．しかし，参照するメタボールを判別する処理はメタボールの総数に依存した

処理量となっており，本システムのようにスケルトン（ メタボールに相当）の数が多くなる場合には適用できない．そこで，<"!" らの手法を基に，実時間での対話的なモデリングを可能にするためのポリゴン変換手法を提案する．以下に具体的なアルゴ リズムを述べる．
まず，前処理として以下の処理を行い，モデリング作業時のための準備と初期形状の描画を行う．

［ 前処理］& 距離場関数の 軸を均等に箇所サンプ リングし ，配列に格納する．配列は のようになる．後で距離場関数を計算する時には， 距離        関数値のように，配列の参照だけで高速に計算することができる．

& 形状の周囲にポリゴン変換用ボクセル空間とスケルトンデータ用ボクセル空間を設定する．ポリゴン変換用ボクセル空間は曲面とボクセルの稜線との交差点を得るために使用する．また，スケルトンデータ用ボクセル空間はスケ
ルトンデータの保持と陰関数値を求めるために使用する．２つのボクセル空間を簡単のため 次元で表したものを図に示す．

& あらかじめ決められた初期形状のスケルトンデータ群を，それぞれの位置にあるスケルトンデータ用ボクセルに格納する．

& 以下の手順で初期形状の表面と交差するポリゴン変換用ボクセルを図  に示すように探索しながら，それぞれポリゴンへの変換を行う．ボクセルを用いたポリゴン変換処理については後述する．

jv¦¨Ë1jv¦

 ポリゴン変換用ボクセル空間
図 スケルトンデータ用ボクセル空間

つのボクセル空間

¨Ë1
jv¦

図

 図

 表面が存在するボクセルの探索（  ）に示すように，初期形状を構成するスケルトンの内の つの位

置と，あらかじめ決められたポリゴン変換用ボクセル空間の端にある点の位置とを用いた二分法によって，形状表面のあるポリゴン変換用ボクセルの つを求める．

 求めたボクセルに関するポリゴン変換処理を行う．
 ポリゴンの頂点が存在するボクセルの稜線を共有するボクセルを求める．
初期形状は連続した つの閉じた曲面なので，ポリゴンの頂点が存在する
ボクセルの稜線を共有するボクセルに曲面が存在する．

 ， の処理を再帰的に繰り返し，すべての表面形状がポリゴンに変換
されれば終了する．

µ¸Ð

0»)
£Ô^
Ë¼»)
jv¦
(a)

µªjv¦è.

図(b)·zªjv¦è.

 変換領域と処理領域

前処理の後，対話的に変形を行う時には以下の処理を実時間で行う．

［モデリング時のポリゴン変換処理］& 指の動きに従って生成されるスケルトンデータを，その位置にあるスケルト
ンデータ用ボクセルに格納する．

& 図  に示すように，変換が必要になる指形状周囲の変換領域にあるポリゴン変換用ボクセルに対して，以下の処理を繰り返す．

 ボクセルの頂点を 点づつ組み合わせて  個の 面体に分割する．このとき，図 3 に示すように， 個の 面体それぞれが互いに隣接するように分割する．

 面体の各頂点座標における陰関数値を求める．この時，図  に示す
ように，変換領域と重なるスケルトンデータ用ボクセルに格納されているスケルトンデータを用いて計算する．

 図 4 に示すように，求まった陰関数値の符号からその頂点が形状の内部であるか外部であるかを判別し，それを属性として頂点の情報に付加する．

図3 ボクセルの  つの 面体への分割

図

4面体と形状表面との交点を用いたポリゴン生成

 どの稜線上に交点が存在し，それをどのように接続してポリゴンにするかを，図  に示す頂点の内外属性の組み合わせによって判別する．
 稜線と形状との交点を求めるということは，稜線の端点間に含まれた陰関
数式の根を求めることであり，これを非線形方程式の根を求める手法である二分法 6 7 によって求める．

 図 4 に示すように，求まった交点を基に，三角形ポリゴンを生成する．同時に，交点における法線を計算する．
以上のアルゴ リズムに関して説明を加える．本システムでは，変形する領域は付加および切削形状の近傍のみであるので，システムの初期化時に前処理として度全ボクセルをポリゴン変換し，システムの実行時には変換領域のみをポリゴン変換している．これによって，処理を軽減することができる．
また， & で述べたように，スケルタルサーフェスでは，スケルトンごとに距
離場関数の影響範囲があるため，変換領域が影響範囲内に入っているスケルトン
データのみを参照すれば良い．そのためにポリゴン変換用のボクセル空間とは別に，スケルトンデータ用のボクセル空間を設定し，スケルトンデータ用ボクセル
ごとにスケルトンデータを記憶している．ポリゴン変換時には，変換領域と重なるスケルトンデータ用ボクセル内のスケルトンデータのみを参照することによって，処理を軽減するとともに，演算量の増加を抑えている．また，ボクセルを利

ñ
]ñ
@2

ñö³1µBR

図ú»A"2¾ú»èß*ú»ò'.½ é¥o®1¢[

 頂点の内外判定の組み合わせによるパターン分け

用しているため，参照するスケルトンデータを判別する処理が必要ない．
さらに，スケルトンデータの無駄な増加を防ぐために， つのスケルトンデー
タ用ボクセル内に記憶できるスケルトンデータの最大数を設ける．最大数以上のスケルトンデータは生成できないため，最大数に達したボクセルの領域には，それ以上の変形を加えることができなくなる．このため，本システムにおいては，）ポリゴン変換用ボクセルの大きさ， ）スケルトンデータ用ボクセルの大きさ，） ボクセルあたりのスケルトンデータの最大記憶数，をパラメータとして，これをユーザの希望するモデリングの複雑さと，計算機の性能に応じて設定することとした．
なお，以上の処理はボクセルごとに独立した処理であるため，これらを複数の1-8 で並列に処理することが可能である．
»)1 »£
tl¦®
·z

µjv¦
1_®~jth ·¥o® µ¥o® µt§~¥o® µt§~¥o® µt§~t§~¥o® µ

¥o®
·z

図

§®{¥®kè0%. é¹Ý´

手を用いた変形処理におけるスレッド の関係 マルチスレッドプログラムの設計
ポリゴン変換処理を実時間で効率的に行うために，;-$!!" ;)"-   形式のマルチプロセッサマシン上でスレッド を用いて並列処理を行う．
ポリゴン変換の処理効率を最適化するためには，処理のスレッド 分散の仕方を考える必要がある．
ポリゴン変換処理を含めた処理の流れを図に示す．まず，形状の変形処理部

で，前述したスケルトンデータの生成を行う．そのスケルトンデータによる陰関数曲面をポリゴン変換部でポリゴン表現に変換する．そして，このポリゴンデー
タを >59 グラフィクスライブラリを用いて，ハード ウェアにより高速に描画する．
ポリゴン変換時には，互いに独立したポリゴン変換ボクセルごとの処理をスレッド を用いて並列に処理する．ここでは，マルチスレッドプログラミングにおける，スレッドプールを使ったボス・ワーカモデル 67 を基にしている．形状の変形処
理部，ポリゴン変換部，レンダリング部の一連の処理は つのスレッド ということになる．ポリゴン変換スレッドは，プロセスの開始直後に生成され，プロセスが消滅するまで存在する．このようにすることで，スレッド 生成によるオーバーヘッド を無くすことができる．ここで，ポリゴン変換スレッド の生成数は，ポリゴン変換に用いるボクセルの細かさと，1-8 の性能に応じて決定する．
ポリゴン変換部で変換の必要なボクセルの算出を行い，そのボクセルのインデックスを，図に示すように，それぞれのポリゴン変換スレッドが持つキューに登録する．ポリゴン変換スレッドはキューから読み出したインデックスのボクセ
ルに関するポリゴン変換処理を行う．ここで，キューを各ポリゴン変換スレッドごとに存在させることで，ポリゴン変換スレッド 間の同期を取る必要がなくなり，同期による待ち時間のオーバーヘッド を低減できる．オーバーヘッドが発生するのは，ポリゴン変換部を含むスレッド と各ポリゴン変換スレッド の間でキューの排他制御による待ちが発生した場合だけになる．

試作システムによるモデリング実験

提案手法を実装し試作したシステムを用いてモデリング実験を行った．試作シ
ステムでは，仮想空間にあらかじめ用意された球の初期形状に対し，=;（ =; ) "$ ）を装着し仮想空間に没入したユーザが，手形状入力装置を装着した手で変形を加えることによってモデリングを行う．=; と手形状入力装置には 次元位置センサが取り付けられており，頭部と手の位置および姿勢を計測する．システムを使用している様子を図に，システム構成を図に示す．

なお，計算機として 5 社 >AB （ ;- 2( ;=.( 1-8 ）を用い，=; としてオリンパス社 ;!% を， 次元位置センサとして - "!) 社
-1/ '% を，手形状入力装置として日商エレクトロニクス社 ) 5" をそれぞれ接続して使用した．また，実装は 1@@言語を用い，マルチスレッド
ライブラリには - を使用した．
試作システムによるモデリングの例として，ティーカップ，水槽の中の魚，た3

図

手を用いた仮想粘土細工の試作システムの様子

，図  にそれぞれ示す．図 のティーカップのモデリング手順について説明する．まず，図 3 のように初期形状が用意されている．図 3 で示すように，「 形状を凹ませる」操作を用いて

こ，鳥の頭を作成したものを図，図，図初期形状の上部を指で凹ませ，さらに飲み口の部分と中に入っている飲み物をモデリングした．その後，図3 で示すように，「 形状をつまみ出す」操作で円弧状に手を動かし，取っ手の部分を付け加えた．さらに，細かな調整を加えて，図のようなティーカップが完成した．図

の水槽の中の魚は，初期形状につま

み出しで目やひれを付け，凹ませて口を開けた．そして，つまみ出しで海草をモデリングした．他の形状も同様に作成し，いづれの形状も  分程度で作成できた．
このように，試作システムによって滑らかな曲面を持った自由形状を容易な操作で短時間にモデリングすることができる．
なお，モデリング作業時の画像更新レートは，1-8 をポリゴン変換処理に つ，その他の処理に１つ用いて，約データの大きさは である．この時，ポリゴン変換用ボクセル，陰関数データ用ボクセルデータの大きさは

4Ï
SGI ONYX2HMD
OLYMPUSMediamask»»)I]Î
Nissho Electronics
Super Gloveó"0ÏÎv®p
Polhemus3SPACE Fastrak

図

手を用いた仮想粘土細工の試作システム構成

4  4  4， ボクセルあたりの陰関数データの最大記憶量は
ここで，図

，

である．

はシステムの実行時の画面から切り出した画像である．本

システムは，陰関数曲面を直接レ イトレーシング法によってレンダリングした画
像や，B'67 や 9637 といったポリゴンデータ形式で出力できる．これらについては，付録  および，付録 < に詳述する．図，  はレ イトレーシング法
による画像である．また，図 4 は，たこモデルを B' で出力し，市販の 次元
15 ソフトウェアに利用した例である．図  は 9 で出力し ，光造形装置（ 三）によって実物体として生成した例である．
井造船，1>9;;

図モデリング例：ティーカップ

図モデリング例：水槽の中の魚図 レ イトレーシング法による画像：たこ図 レ イトレーシング法による画像：鳥の頭






図

3 ティーカップのモデリング過程

図

4 たこモデルと市販ソフトウェアを利用して描画した画像

図 たこモデルと光造形装置を利用して生成した実物体



結言

本章では，粘土細工を行うような感覚で手を用いて直感的かつ容易に自由形状のモデリングを行うための手法について述べた．現実空間での粘土細工のような操作と形状の表現を，仮想現実感技術と陰関数曲面による形状の表現を用いることで実現した．また，試作システムによるモデリング例を通して，実際に自由形状を短時間でモデリングすることができることを確認した．試作システムでのモデリングは精密さや正確さに欠けるため，精密な工業製品などを正確にモデリングするような用途には向かないが，設計の初期モデルのモデ リングや， & 節で示したような正確さが求められないデザイン作成などの用途に有用である．
本手法では，体積保存などのような粘土らしい変形過程に関しては考慮していない．これは粘土細工において重要な要素であるため，次章では，粘土らしい変形過程の表現手法に関して述べる．



仮想粘土モデルによる粘土の変形挙動の表現



緒言

前章で述べた手法では，粘土らしい変形挙動の表現については考慮していな
かった．しかし，現実の粘土細工で行われる，形状を全体的に変形させるなどのような操作を実現するためには，粘土の変形挙動を表現する必要が生じる．本章
では，粘土の変形挙動を表現するとともに，それを対話的に行うことが可能な仮想粘土モデルについて述べる 64( (  (  7．
ここで，粘土というものについて考えてみる．粘土はビンガム塑性流体に分類される物体である．ビンガム塑性流体は以下のような過程で塑性変形する．まず，静止状態では，ある応力（ 降伏応力）以下では流動に抵抗する 次元的な構造を持っている．応力が降伏応力を超えると構造が壊れて流動が起き，変形する．そして，応力が降伏応力以下になると，再び構造が構築される 6 7．また，この過程において体積は一定である．本研究では，このような物体を，パーティクルシ
ステムと陰関数曲面を用いて表現する．
パーティクルシステムとは，互いに力を及ぼしあう多数の粒子（パーティクル）
を，ある運動方程式に基づいて移動させることによって，全体としてある物理現
象のシミュレーションを行うものである 6 7．このパーティクルを粘土の粒子とみなして，前述した変形過程に従うように運動させる．ここで，分子動力学のように全ての粘土粒子のシミュレーションを行って現実の挙動を得ることも可能であるが，計算量が多いことから対話的な操作には向かない 6 7．本研究では，パーティクルをある程度の粒子の塊と考え，少ないパーティクル数で粘土の変形を表現する．そして，陰関数曲面を用いて，全てのパーティクルを内包するような形状を生成し，粘土の形状を表現する．

 パーティクルシステム
本研究では，パーティクル間が安定距離にあるときに力  ? ，安定距離よりも近づいているときに   （斥力），離れているときに   （引力）となるよ

うな，パーティクル間の相互作用力を用いる．このような相互作用力  は，経験的に式（  ）および図で示される 次多項式で与える．

     @
 ?










；



；

 





．

 

ここで，パラメータ  はパーティクル間距離 と安定距離  の比であり， ?






で与える．

f
15

º

10

5

Q
0

0.2

図

0.4

0.6

0.8

1

w

1.2

パーティクル間の相互作用力

そして，パーティクル  は次の運動方程式に従って移動する．
?









 









 ．

 

ここで，  はパーティクル  に働く相互作用力の総和， はパーティクルの質量， はパーティクルの位置である．この運動方程式をオイラー法 6 7 による数値計算によって解くことで，パーティクルを移動させる．このとき，パーティク
ルはある閾値 以上の力が加わらなければ運動しないとする．





仮想粘土モデル のように，互いにほぼ安定距離にあるパーティクルを格子状に配置する．変形操作時には図  のパーティクルシステムにおいて，初期配置として図ように，パーティクルは互いの距離が安定距離を保つように運動するため，体積をほぼ一定に保った粘土らしい変形を表現できる．また，パーティクルの運動に対する閾値処理は降伏応力に対応している．これによって，より粘土らしい変形の表現ができるとともに，数値計算における収束を早めつつ，発散を抑えること
ができる．


図





パーティクルと陰関数曲面による粘土表現

このパーティクルをスケルトンとみなして，前章と同様の手法で陰関数曲面を生成することで，図 に示すように滑らかな粘土の表面形状が表現できる．仮想粘土モデルでは，式（ 

）に示すスケルタルサーフェスを用いる．
   ? 

 ?

 





   

．

 

スケルトン  は形状の骨格となるもので，点や線分，平面などを用いることができるが ，仮想粘土モデルにおいては点のみを用いる．   は点  とス

3

G
1
0.8
0.6
0.4
0.2

d
0

0.2

図

0.4

0.6

0.8

1

仮想粘土モデルの距離場関数

ケルトン  上の最も近い点との距離  と，前節で述べた安定距離  の比であり，


?



 で与える．また，距離場関数  として式（

）および図

の関数を用

いる．


 ?





 

；









 

@

；









．

 

次に，仮想粘土モデルに対話的変形を加える手をモデル化する必要がある．図に示すように，指の形状の内部に線分を定義し ，この線分を前述のパーティ
クルシミュレーションに組み込む．この時，各パーティクルと線分との距離に基づいて，相互作用力を式（）および図 の関数を用いて求める．この関数は，

指形状に合わせて粘土の形状表面が変形するように，経験的に決定したものである．手の形状には，予めモデリングされたポリゴン表現による 次元形状を用いている．
また，手のひら全体を使って形状を押し変形する操作をモデル化する．全ての4図線分による指のモデル化

指を伸ばした状態の間は，前述した線分を用いずに，図に示すように，手のひらを平面としてパーティクルシミュレーションに組み込む．この時，各パーティ）および 図クルと平面との距離に基づいて，相互作用力を式（

 の関数を用いて求める．
なお，これら つのモデルの切り替えは，親指以外の指の付け根の関節が一つでも度以上曲がっている時は線分モデルを用い，それ以外の時は平面モデル

を用いる．

    4  @ 3 ? 










；



；



 





．

 

ここで，パラメータ  は線分パーティクル間距離  と，指形状と粘土形状を考慮して求めた安定距離  の比であり， ?  で与える．



図



平面による手のひらのモデル化

対話操作のための描画手法と並列処理

対話的操作を行うためには，前節で述べた仮想粘土モデルを高速に描画してユーザに提示する必要がある．本章では， & 節で述べた高速描画手法を仮想粘土モデルに適用した手法について述べる．また，仮想粘土モデルの変形処理や描画処理などのすべての処理を効率的かつ高速に行うために用いた，対称型マルチプロセッサシステム上でのマルチスレッドプログラミングの設計について述べる．

 仮想粘土モデルの描画手法
仮想粘土モデルの高速な描画を行うために，仮想粘土モデルで用いている陰関数曲面をポリゴン表現に変換する．そして，ポリゴンをハード ウェアを用いて高速に描画する．変換手法は前章で述べた変換手法と類似のものであるが，以下では，仮想粘土モデルに用いている陰関数曲面をポリゴン表現に変換する手法について述べる．
まず，前処理として以下の処理を行い，モデリング作業時のための準備と初期形状の描画を行う．

h
30
25
20
15
10
5

v

0

0.2

図

0.4

0.6

0.8

1

1.2

 線分パーティクル間の相互作用力［ 前処理］& 陰関数曲面の周囲にボクセル空間を設定する．ボクセル空間は曲面とボクセルの稜線との交差点を得るために使用する．ボクセル空間を簡単のため 次元で表したものを図 に示す．

図 ボクセル空間& すべてのパーティクルの位置に存在するボクセルを中心とした周囲のボクセ
ルを用いてポリゴン表現に変換する．ボクセルを用いたポリゴン変換処理については後述する．
前処理の後，対話的に変形を行う時には以下の処理を実時間で行う．

［モデリング時のポリゴン変換処理］& パーティクルの位置情報を調べ，前回の計算時から変更があるパーティクルを求める．

& 図 3 の網掛け部分に示すように，求めたパーティクルの位置に存在するボ
クセルを中心とした周囲のボクセルに限り，以下の処理を行う．

図

3 移動パーティクルの周囲のボクセルのみを変換

 ボクセルの頂点を 点づつ組み合わせて  個の 面体に分割する．このとき図 3 に示すように， 個の 面体それぞれが互いに隣接するように分割する．

 面体の各頂点座標における陰関数値を求める．
 図 4 に示すように，求められた陰関数値の符号からその頂点が形状の内部であるか外部であるかが判別できるので，それを属性として頂点の情報に付加する．

 どの稜線上に交点が存在し，それをどのように接続してポリゴンにするかを，図  に示した頂点の内外属性の組み合わせによって判別する．
 交点は陰関数が線形であると仮定し，両端点の陰関数値から式（ ）を用いて交点の座標を求める．図 4 で示すように，端点  での陰関数値を，端点   での陰関数値を  としたとき，陰関数曲面とボクセルの稜線との交点  を求める．

 ? @P1

図f1

@      






P

 

f2
P2

4 線形近似で交点座標を求める

 図 4 に示したように，求められた交点を基に，三角形ポリゴンを生成す
る．同時に，求められた交点における法線を中心差分を用いて計算する．
ここで，ボクセルの細かさは計算機の性能に応じて設定する．また，移動した
パーティクルの周囲何個のボクセルを処理するかは，ボクセルの細かさに応じて，形状が正しく表現されるように設定する．また，以上の処理はボクセルごとに独立した処理であるため，これらを複数のスレッド で並列に処理する．

 マルチスレッドプログラムの設計
これまでに述べた仮想粘土モデルに関する処理を実時間で効率的に行うために，;-$!!" ;)" -   形式のマルチプロセッサマシン上でス
レッド を用いて並列処理を行う．仮想粘土モデルに関する処理は，前章で述べた手法の並列処理に比べ，より多くの処理を並列に行う必要がある．このようなマ
ルチスレッドプログラムでは，以下のようなオーバーヘッド を考慮する必要があ
る 6( ( ( 37．

 オペレーティングシステムやライブラリが各スレッド を管理するために生
じるオーバーヘッド．例えば，スレッド の生成処理などがある．

 複数のスレッド は，プロセスに存在するすべての資源を共有しているため，複数のスレッドが同一の共有資源にアクセスする場合，その同期をとる必要が生じる．この時，ロックなどの同期機能を用いるが，この同期機能の呼び出しによるオーバーヘッド．

 同期によって，あるスレッドが別のスレッド を待つ場合，その待ち時間というオーバーヘッド．
そこで，全体の処理効率を最適化するためには，処理のスレッド 分散の仕方や，共有資源へのアクセス方法を考え，以上のようなオーバーヘッド を低減する必要がある．

 に示す．まず，全体の処理をその役割ごとに大別し，それぞれにスレッド を以下のように割り当てる．  パーティクルの運動計算を行う
パーティクルシステム制御スレッド，  陰関数曲面からポリゴンへの変換を行う
ポリゴン変換制御スレッド，  ポリゴンデータを >59 グラフィクスライブ
スレッド の関係を図

ラリとハード ウェアによって高速に描画するポリゴン描画スレッド，の つのス
レッドで並列に処理を行う．これらのスレッドは，プロセス開始直後に生成され，プロセス終了まで存在する．
これら つのスレッド 間の同期について考える．共有データとなるのは，個々のパーティクルの位置を保持するパーティクルデータベースと，ポリゴンの幾何情報を保持するポリゴンデータベースである．それぞれのデータベースへのアクセスは排他制御される．
パーティクルシステム制御スレッドは，非共有メモリにあるパーティクルの位
置・速度情報を用いて，オイラー法による数値計算を ステップ分行う．そして，
パーティクルデータベースのロックを取得し，非共有メモリにある全てのパーティ
クルの位置情報をまとめてデータベースへ複製し，ロックを開放する．以上により，同期機能の呼び出しに関するオーバーヘッドと同期の待ちによるオーバーヘッ
ド とのバランスが取れた，効率の良い処理が行える．

µjv¦
1_®~jth ·¥o® µÙît§~¥o®
·z·t¥o®¬¹t§~·^j¦
·z·t·^j¦rtÙît§~

¹Ý´図¥o® µ¥o® µt§~¥o® µt§~¥o® µt§~t§~·^j¦
·^j¦
rtt§~·^j¦
rtt§~·^j¦
rtt§~?rk ¦ rtt§~ 仮想粘土モデルにおけるスレッド の関係

ポリゴン変換制御スレッドは，まず，パーティクルデータベースから全てのパー
ティクルの位置を読み出し，非共有メモリに保存する．次に，その位置をスケルトンの位置として生成される陰関数曲面をポリゴンの幾何情報へ変換し，非共有メ
モリに保存する．最後に，非共有メモリ上のポリゴンの幾何情報をポリゴンデー
タベースへ登録し，ポリゴンデータベースの更新フラグをセットする．以上により，同期機能の呼び出しに関するオーバーヘッドと同期の待ちによるオーバーヘッ
ド とのバランスが取れた，効率の良い処理が行える．
ポリゴン描画スレッドはポリゴンデータベースからポリゴンの幾何情報を読み出し，描画を行う．この時，まず，データベースの更新フラグを調べ，セットされていれば，ポリゴンの幾何情報を全て読み出し，非共有メモリに保存した後，更新フラグをリセットする．更新フラグがセットされていなければ，読み出しは行わない．画像の更新レートに比べ，ポリゴン変換制御スレッドによるデータベースの更新レートの方が遅い．そこで，更新のない間は，非共有メモリに保存した
ポリゴンの幾何情報を用いて描画を行うことで，更新レートのずれを吸収するとともに，同期による待ち時間のオーバーヘッド を減少することができる．
次に，ポリゴン変換スレッド とパーティクルシステムスレッドについて述べる．
ここでは，それぞれ，マルチスレッドプログラミングにおける，スレッドプールを使ったボス・ワーカモデルとピアモデル 67 を基にしている． つのスレッド
は，ポリゴン変換制御スレッド とパーティクルシステム制御スレッド の つの制御スレッド の開始直後に生成され，それぞれの制御スレッドが消滅するまで存在する．このようにすることで，スレッド 生成によるオーバーヘッド を無くすことができる．ここで，ポリゴン変換スレッド の生成数は，ポリゴン変換に用いるボ
クセルの細かさと，1-8 の性能に応じて決定する．また，パーティクルシステ

ムスレッド の生成数は，パーティクルや線分の数と，1-8 の性能に応じて決定する．
ポリゴン変換制御スレッドは，変換の必要なボクセルの算出を行い，そのボクセルのインデックスを，図  に示すように，それぞれのポリゴン変換スレッドが持つキューに登録する．ポリゴン変換スレッド はキューから読み出したインデッ
クスのボクセルに関するポリゴン変換処理を行う．ここで，キューを各ポリゴン
変換スレッドごとに存在させることで，ポリゴン変換スレッド 間の同期を取る必要がなくなり，同期による待ち時間のオーバーヘッドを低減できる．オーバーヘッ
ドが発生するのは，ポリゴン変換制御スレッド と各ポリゴン変換スレッド の間でキューの排他制御による待ちが発生した場合だけになる．
パーティクルシステム制御スレッド は，運動計算の サイクルごとに，各パー
ティクルシステムスレッド に計算開始を要求するためのシグナル送信を行う．各
パーティクルシステムスレッドはシグナルを受け取ると，あらかじめ均等に割り当てられたパーティクルの組み合わせに関する相互作用力を計算し，パーティクルの位置と速度を計算する．パーティクルシステム制御スレッドは，各パーティ
クルシステムスレッド の計算が終了するのを待ち，終了後データベースの更新を
行う．

3

図



仮想粘土モデルの変形挙動の確認実験の様子

試作システムによる変形挙動の確認

仮想粘土モデルを手を用いて対話的に変形できることを確認するために，前節までに述べた手法を実装し行った，仮想粘土モデルの対話的変形の実験について述べる．
実験は，計算機に 5 社の >AB （ ;- 2， ;=.， 1-8 ）を用い，
図 に示すように，手形状入力装置である 0)"  " # 社の 1$5" と， 次元位置センサである - "!) 社 -1/ '% を接続した環境で行った．また，実装は 1@@言語を用い，マルチスレッド ライブラリには - を使用した．
仮想粘土モデルには図 個のパーティクルを用いた．また，，閾値には  ? 4， & 節で述べた関数に示すように& 節で述べた安定距離には  ?

4

値には  ?

，安定距離には  ?


に用いたボクセルの大きさは一辺がを用いた． & & 項で述べたポリゴン変換& であり，移動したパーティクルを中心として周囲 3  3  3 個のボクセルに対し変換処理を行った．

図 個のパーティクルによる仮想粘土モデル

まず， & 節で述べた線分によるインタラクションの様子を確認するために，線
分 つを内部に持つ円柱形状を作成し，仮想粘土モデルの分断を試みた．円柱形
状は一定の速度で平行移動する．変形の様子を図に示す．仮想粘土モデルの変形部分が観察できるように，円柱形状はワイヤーフレームで描画している．図のように，押した部分は凹み，その周囲は体積保存のために盛り上がっていき，最後には，形状が つに分断される．

図

操作棒で仮想粘土モデルを分断する様子

次に，指を用いて仮想粘土モデルに，「 押す」「， 穴を開ける」「， 摘んで分断する」という操作を加えた様子を図，図，図  および図  にそれぞれ示す．図では，人差し指で仮想粘土モデルを押すことで，へこみを加えることができ，その周囲は盛り上がっている様子が確認できる．図では，局所的に押すことで，押した部分の反対側が押し出されていることがわかる．図  では，人差し指で仮想粘土モデルに穴を開けることができ，穴の周囲は盛り上がっている．また，図 では，人差し指と親指を使って仮想粘土モデルを摘んでいき，分断することができている．図 3 および図 4 には，手のひらで仮想粘土モデルを「押して傾け3 では，手のひらによって形状全体を変形させる様子が確認できる．また，図 4 では，手のる」操作と「一部分を削り取る」操作を行っている様子を示す．図ひらで削り取られる部分が押しつぶされながら，分断されていく様子が確認できる．以上のように，様々な形状変形を粘土を扱うように行えることが確認できる．
また， & & 項で述べたスレッド それぞれの サイクルの処理時間を測定した．
ポリゴン変換制御スレッド と個のポリゴン変換スレッドに 1-8 を個，パー

ティクルシステム制御スレッドと 個のパーティクルシステムスレッドに 1-8 を個，ポリゴン描画スレッドに 1-8 を 個割り当て，測定を行った．ポリゴン変換制御スレッドにおけるポリゴン変換処理では，変形を加える領域に応じて処理時間は増減するが，図の時，約 のような変形操作において，最大 & 秒であった．こ個のボクセルについて変換が必要であった．また，パーティクル

システム制御スレッド における，要する時間は平均&

 個のパーティクルと線分 つの運動計算に秒であった．以上のように，それぞれの処理時間だけを見ると対話的操作に十分とはいえない．しかし，それぞれの処理はスレッドにより並列に処理されるため，ポリゴン描画処理による画像の更新レートは 1-8 を個用いて となる．このため，ユーザにとっては，手が仮想粘土モデルに接触した後，最大約 秒程度遅れて変形するという感覚ではあるが，十分対話的操作が可能であるといえる．
ここで，1-8 数とそれぞれの処理時間について考察する．まず，ポリゴン変換

処理について，使用した 1-8 数と変換したボクセル数による処理時間の変化を
表 に示し，それをグラフに表したものを図が 4 個からいるが， に示す．図  において，1-8 数個までは，1-8 数の増加とともに処理時間が全体的に短くなって

個では 1-8 数が増加したにもかかわらず，処理時間が増加している．

また，変換したボクセル数が個の時は，1-8 数と処理時間の関係が乱れている．これらの現象は，スレッド の増加にともない， & & 節で述べたスレッド の管理や同期によるオーバーヘッドが増加し，各スレッドごとの処理時間とのバランスが取れないことから発生したと考えられる．また，1-8 数が個および個での処理時間が似通っている．これは，先程と同様に，スレッド の増加によるオーバーヘッド の増加のために，これ以上は処理時間が短縮されないと考えられる．以上を踏まえ，できるだけ少ない 1-8 数で，処理時間を短くできることから，1-8 数は個とした．

次に，パーティクルシステムにおける処理時間について，使用した 1-8 数とパーティクル数による処理時間の変化を表 ，および ，図  に示す．図  に見られるように，1-8 を増加させることにより処理時間が増加してしまう．これは，各スレッド に割り当てられた処理量が少ないため，複数の 1-8 を有効に利用できておらず，スレッド 分割にともなうオーバーヘッド の増加により生じてい 個の処理時間を見ると， 個の1-8 を用いた方が僅かに処理時間が短い．また，  個よりも多くのパーティク
ルを用いた場合，処理に & 秒以上かかり，パーティクルの運動計算が破綻する．
ると考えられる．例外的に，パーティクル数以上を踏まえ，できるだけ多くのパーティクル数で，処理時間を短くできること
から，パーティクルシステムにおける 1-8 数は 個とした．また，個のパーティクルを用い，スレッドと 1-8 の 対 の割り当てを行わずに，さらにスレッド を増加させた場合の処理時間について，表 ，および，図  に示す．なお，ポリゴン変換は行わない．図表より，スレッド 数を増加させることで処理時間が短縮できることがわかる．しかし，前述のポリゴン変換とともに行う場合は，1-8数の限界から& 秒以下に短縮することができない．

結言

本章では，パーティクルシステムと陰関数曲面を用い，少ない計算量で粘土のような変形が可能な仮想粘土モデルについて述べた．そして，パーティクルシス
テムに線分を導入することで手とのインタラクションを行うことについて述べた．
また，仮想粘土モデルの高速な描画手法とマルチスレッドプログラミングを用いた並列処理について述べた．これらの手法により，仮想空間において仮想粘土を手で対話的に変形できることを実験により確認した．
しかし，本手法では，少ないパーティクルで変形挙動を表現するため，計算量が少ないという利点がある反面，細かな変形を加えることができない．次章では，前章と本章の手法を組み合わせた粘土細工モデリングシステムについて述べる．

図

仮想粘土モデルを人差し指で押す様子

図

仮想粘土モデルを人差し指で押す様子

図 仮想粘土モデルに人差し指で穴を開ける様子
図 仮想粘土モデルを人差し指と親指でつまんで分断する様子
図3 仮想粘土モデルを手のひらで押して傾ける様子
3

図

表

4 仮想粘土モデルを手のひらで分断する様子

1-8 数と変換したボクセル数によるポリゴン変換の処理時間の変化 秒
変換したボクセル数

41-8
1-8
1-8
1-8
1-8
1-8

&
&
&4
&
&
&

&
&
&
&4
&
&3
4

&
&
&4
&44
&3
&33

&
&3
&
&4
&
&







£.è}é

§¬Ê
§¬Ê
§¬Ê
§¬Ê
§¬Ê
§¬Ê











µ"jv¦cè:é



図

表







 1-8 数と変換したボクセル数によるポリゴン変換の処理時間の変化

1-8 数とパーティクル数によるパーティクルシステムの処理時間の変化 秒
パーティクル数

1-8
1-8
1-8
1-8


& 
& 
& 3
& 4


& 
&
&
&




&  & &  && 4 & 4
& &



 

£.è}é



 

§¬
§¬Ê
§¬Ê
§¬Ê



 



 




図

·^j¦cè:é







1-8 数とパーティクル数によるパーティクルシステムの処理時間の変化

表

スレッド 数による個のパーティクルの処理時間の変化
1-8 数 処理時間 秒

&
&
&
& 4
&4
& 34







 

 

£.è}é



 

 

 

 




図



スレッド 数によるt§~cè:é







個のパーティクルの処理時間の変化







手と粘土へらを用いた仮想粘土細工システム



緒言
章および

章では，手を用いた粘土細工的な操作による自由形状モデリングについて述べたが，任意形状のモデリングという観点からみると，より細かな変形を加えることができる必要がある．本章では，粘土へらを導入し，手と粘土へらを用いてモデリングを行う仮想粘土細工システムについて述べる．本システム
では，まず，手を用いて仮想粘土を全体的に変形させることで，おおまかで全体的なモデリングを行う．次に，粘土へらを用いてより細かな形状の切削と付加を行う．この操作の時，細かな作業が容易に行えるように，仮想粘土形状の一部分が拡大される．
仮想粘土を全体的に変形させるためには， 章で述べた仮想粘土モデルによる変形挙動の表現が必要である．一方，粘土へらによる細かな変形を表現するためには，局所的にしか変形が生じないことから物理モデルは必要としない．そこで，章で述べた手法における指形状を粘土へらとして用いる．このように，本シス
テムは， 章で述べた手法と 章で述べた手法を組み合わせたシステムである．



手と粘土へらを用いた仮想粘土細工システムの概要

手と粘土へらを用いた仮想粘土細工システムを使用している様子とシステム構
成を図  ，図  に示す．ユーザは頭部に =; を装着し，左手に 次元マウス，
手形状入力装置を装着した右手に粘土へらとなるペン型入力装置を持つ．なお，計算機として 5 社 >AB （ ;- 2( ;=.( 1-8 ）を用い，=; としてオリンパス社 ;!% を， 次元位置センサとして - "!) 社 -1/'% を，手形状入力装置として 0)"  " # 社 1$5"  をそれぞれ接続して使用した． 次元マウスには， 次元位置センサと次元マウスを組み合わせたものを使用し，ペン型入力装置には，棒に 次元位置センサを取り付けたものを作成し，使用した．



図

手と粘土へらを用いた仮想粘土細工システムを使用している様子»»)I]Î
Virtual Technologies
CyberGloveHMD
OLYMPUSMediamaskÏ
SGI ONYX2

at

図

ó"0ÏÎv®p
Polhemus3SPACE Fastrak

手と粘土へらを用いた仮想粘土細工システムの構成ユーザは =; を用いた立体視によって仮想空間へ没入する．仮想空間内の仮

想粘土の移動と回転には 次元マウスを用いる．仮想粘土の変形操作には，  手を用いた全体変形段階，  粘土へらを用いた局所変形段階，の つの段階がある．
ユーザはこの つの段階を順に経てモデリングを行う．

手を用いた全体変形段階
システム起動時には，あらかじめペン型入力装置を所定の位置へ置いておく．
この間，手を用いた全体変形段階になる．
章で述べたものと同様の方法で，手を用いて仮想粘土に変形を加える．

図

手を用いた全体変形段階

粘土へらを用いた局所変形段階
手を用いた全体的な変形によるモデリングが終了したら，所定の位置に置かれていたペン型入力装置を右手で持ちあげる．これにより，手を用いた全体変形段
階が終了し，粘土へらを用いた局所変形操作へ移行する．
形状の一部分の拡大を行うには，拡大したい部分の中心をペン型入力装置で指定して， 次元マウスのボタンを押す．形状変形のためのツールはサイズ変更が可能な球で，通過した部分に形状を付加する盛り付けと，通過した部分の形状を削除する削り取りの機能がある．サイズや機能の変更を 次元マウスのボタンを押すことで行いながら，ペン型入力装置でツールを操作する．

図  粘土へらを用いた局所変形段階





局所的細密表現による  つの変形段階の実現

前節で述べた つの変形段階を実現するために用いる，全体的な変形と局所的な変形とを表現できる局所的細密表現について述べる．まず，全体変形段階では，
図  に示すように，形状を 章で述べた仮想粘土モデルを用いて表現する．図中の黒丸で示すものが仮想粘土モデルにおけるパーティクルである．また，点線で示す格子は，ポリゴン変換ボクセルを示す．
局所変形段階に移行し，細かな形状の付加・切削を行う時には，形状の一部分を拡大表示する．図  に実線で示した格子の部分が拡大され，図  のようになる．図  に実線で示した格子の範囲だけに，点線で示した格子と同じ数のボクセルを再設定し，図  のように，相対的に細かなポリゴン変換を行う．形状表面には陰関数曲面を用いているため，このようにポリゴン変換用ボクセルの大きさを変更して再変換することで，より精度の高いポリゴンの生成が行える．
図  のような拡大表示の状態で，白丸に示す点スケルトンをペン型ツールの軌跡上に配置する．この点スケルトンと，生成される陰関数曲面が小さな球形状となるような距離場関数を用いて， 章で述べた形状変形手法を適用すること
で，細かな形状の付加・切削を行う．前述のように，ポリゴン生成の精度が高くなっているため，このようなより細かな形状を描画することができる．
ある部分のモデリングが終了したら，図  に示すような，全体表示に切り替える．この時，形状全体を元のポリゴン変換用ボクセルを用いて再変換する．
この時，ポリゴン変換用ボクセルが大きいため，先ほど 付加・切削した細かな形
状は正しくポリゴンに変換されず，描画される形状も滑らかさを欠いた不正確なものになる．しかし，形状データであるスケルトンは保持されているため，作品
制作の最終段階でレ イトレーシング法によって画像生成を行うような場合には，細かな形状も含めた正しい描画を行うことができる．



(b)

KÕ+

+

(c)

(a)

図  形状データの局所的細密表現

 モデリング実験によるシステムの有効性の検証
本システムの有効性を検証するために行った，モデリング実験について述べる．
仮想粘土モデルには 章と同様のパラメータを用い，蟹とモアイの形状のモデリングを行う．
まず，蟹の形状のモデリング過程について説明する．手を用いた全体変形段階
において，図 3 に示すように，手を用いて全体のおおまかな形状と口の部分を作成した．次に，右手にペン型入力装置を持ち，手を用いた全体変形段階から粘土へらを用いた局所変形段階へ移行する．先ほど ，手を用いた全体変形段階で作成した形状に対し，粘土へらツールを用いて細かな変形を加えていく．その様子

3

を図 4，図 ，図  および図  に示す．まず，細かな形状変形を加える部分を

図 4 のようにペン型入力装置で指定し， 次元マウスのボタンを押す．すると，

図  のように拡大表示に切り替わる．前節で述べたように，指定した部分のみが陰関数曲面からポリゴン表現に，細かなポリゴン変換用ボクセルを用いて再変換され，拡大部分だけが滑らかに描画されていることが確認できる．この状態で，粘土へらを用いて細かな形状の付加と切削を行う． 次元マウスのボタンを押し，全体表示に戻すと図  のようになる．先ほど 形状変形を加えた部分が正しく描画されていないことが確認できるが，形状データは保持されているため問題はない．同様の操作を繰り返し，最終的に図  のような形状を作成した．

図 3 蟹の作成過程：全体変形段階での手を用いたモデリング4

図 4 蟹の作成過程：局所変形段階での拡大部位の指定

図  蟹の作成過程：局所変形段階での拡大部分に対する形状変形



図

蟹の作成過程：局所変形段階での全体表示

図

蟹の作成過程：完成した作品例

3

モアイの形状についても，図  ，図  ，図  ，図 ，図 ，図 3，図 4 および図  に示すような，蟹と同様の過程を通してモデリングを行った．まず，図 のように手で形状全体を傾け，図  のように全体の形状を整えた．局所変形段階へ移行し，図  のように鼻をモデリングした．次に，目のくぼみをモデリングするために図  のように拡大部位を指定し，図  のように拡大した．拡大部
分に対し，図 3 のように目のくぼみをモデリングし，再び図 4 のような全体表
示に切り替えた．最終的に図  のような形状を作成した．また，作成したモア
イ形状を付録 < に述べる ! , を用いて , 形式で保存し，市販の 次元 15
ソフトウェアで読み込み，レンダリングした作品例を図 3 に示す．

図

モアイの作成過程：全体変形段階での手を用いた形状の傾け3

図

モアイの作成過程：全体変形段階での手を用いたモデリング図

モアイの作成過程：局所変形段階での形状変形

3図  モアイの作成過程：局所変形段階での拡大部位の指定

図  モアイの作成過程：局所変形段階での拡大表示3

図 3 モアイの作成過程：局所変形段階での拡大部分に対する形状変形

図 4 モアイの作成過程：局所変形段階での全体表示

3図  モアイの作成過程：完成した作品例

図3

モアイ形状と市販ソフトウェアを利用して描画した画像

3



結言

本章では， 章と 章で述べた手法を組み合わせることで，手と粘土へらを用いて形状変形を行える仮想粘土細工システムを構築した．全体的でおおまかな形
状変形を， 章で述べたような形状の切削や付加だけで行うには，何度も切削や付加を繰り返すことになり，手間がかかる．一方， 章で述べた仮想粘土モデル
だけでは，細かな形状変形の表現に限界がある．本章で述べた仮想粘土細工シス
テムでは， つの手法の長所を組み合せることで，表現力を高めつつ，より簡単にモデリングが行える．
本章で述べた仮想粘土細工システムでは，手を用いた全体変形段階から粘土へらを用いた局所変形段階へ移行すると，再び手を用いた全体変形段階に戻ることができない． つの段階を自由に移行することができれば，よりモデリングの作業効率が向上すると考えられる．そこで，局所的細密表現に拡張を加える必要がある．以下に，そのアイデ ィアを簡単に述べる．
図 3 に示すように，局所変形段階において局所的に付加する形状の点スケル
トンを格子状に生成する．また，これらの点スケルトンのみでパーティクルシス
テムを構成する．このとき，パーティクル間の安定距離を格子の間隔と等しくす
る．さらに，この独立したパーティクルシステムを，最も近くにある元形状のパー
ティクルの つと接続関係を持たせ，相対位置が変わらないようにする．
このようにすることで，局所変形段階で形状を付加した後，全体変形段階に移行した場合に，付加した形状もパーティクルシミュレーションによって粘土らしい変形を加えることができる．また，元の形状と付加した形状は，それぞれ独立したパーティクルシステムであり，別々に計算が可能なため，点スケルトンが増加することで計算時間が増加することを抑えることができる．さらに，元の形状を変形させた場合，付加した形状との接続関係により，パーティクルシステムが独立であるため生じる，元形状と付加形状の分離を防ぐことができる．

3

["·^j¦rt
F$+·^j¦
1\ï2

図3

局所的細密表現の拡張

33



結論

本論文では，現実の粘土細工による造形と同様の方法を用いて，仮想空間内において自由形状のモデリングを行うことができる仮想粘土細工システムの開発を目的として行った研究について述べた．
まず， 章において，仮想現実感技術と陰関数曲面を用いることにより，手を用いて直接的に仮想粘土へ凹凸を加えるという形状の変形を実現する手法を提案
した．形状変形に際しては，陰関数曲面表現の特徴を利用して，形状の衝突判定
や変形処理に複雑な処理を必要とせず，その定義から自然に変形を表現している．
指の近傍のボクセルに対してのみ，陰関数曲面をポリゴン表現に変換する手法によって，処理の軽減を図った．また，これらの手法を用いることに加えて，対称型マルチプロセッサシステムにおけるマルチスレッドプログラミングを用いた並列処理によって，実時間の対話性を実現した．提案手法を実際に実装して構築した試作システムによって作成したモデリング例を示し，簡単な操作で直観的に次元形状モデリングが行えることを確認した．
次に，現実の粘土細工の操作を考えると，形状全体を変形させるような操作を行うことがあるが，これを実現するためには，粘土の変形挙動を表現する必要があった．そこで， 章においては，パーティクルシステムと陰関数曲面を用いた仮想粘土モデルに対し，手を用いて変形を加える手法を提案した．現実の粘土の変形挙動を少ないパーティクルで表現するとともに，粘土の滑らかな表面形状を陰関数曲面を用いて表現した．ここでも，これらの手法を用いることに加えて，閾
値以上移動したパーティクルの存在する近傍のボクセルに対してのみ，陰関数曲面をポリゴン表現に変換する手法と，マルチスレッドプログラミングによる並列処理を用いて，対話性を実現した．そして，試作システムによる変形実験によって，対話的に粘土のような変形を加えることができることを確認した．
最後に， 章において，上記の つの手法の長所を組み合わせることで，粘土へらと手を用いた，より表現力の高い粘土細工を行える仮想粘土細工システムを構築した．このシステムでは，全体的なおおまかな変形を， 章で述べた仮想粘土モデルによって表現した．そして，細かな変形を加える際には， 章で述べた
陰関数曲面の性質による形状の付加・切削の手法を用いて表現した．また，拡大34

表示に切り替えて細かな変形操作を行うことができる．このシステムを用いたモデリング例を示し，粘土細工の要領で 次元形状をモデリングすることができる
ことを確認した．
本研究で開発した仮想粘土細工システムで作成できる 次元形状は，設計の初期モデルのモデリングや，モデリング例で示したような正確さが求められないデザイン作成などの用途に有用である．現在，一般に用いられている 次元 1 ソ

フトウェアや 次元 15 ソフトウェアによるモデリング方法と比較して，試作シ

ステムは特別な前提知識なしにモデリングを行うことができるという特長を持っている．そのため，全くの初心者であっても，容易に 次元形状のモデリングを行うことができる．熟練者にとっても，複雑な形状操作に煩わされることなく形状設計に集中でき，対話的試行錯誤による自由な発想で，モデリングを行うことができる．また，一般に用いられている 次元 1 ソフトウェアや 次元 15 ソ
フトウェアによるモデリング方法では困難と考えられる，手作り感のある形状をモデリングすることができる．以上のことから，仮想現実感技術を利用した新たな造形手法を提供できたと考える．現状では，精密さや正確さに欠けるため，精密な工業製品などを正確にモデリングするような用途には向かない．しかし，処理手法の高速化やコンピュータの高性能化，モデリング補助機能の付加などを行うことによって，精密な形状のモデリングも可能である．
本研究では主に，仮想空間における粘土という柔物体の対話的変形手法の開発に重点をおき，一定の成果を確認することができた．しかし，より実用的な仮想空間における粘土細工の実現には，本来，形状操作に対して発生するべき反力や触覚の表現を行う必要がある．02 の研究において，このような反力や触覚についての研究が活発に行われている 64(

4( ( 3 7．図 3 は手と腕に反力を提示することができる装置の例である 63 7．これらは，仮想空間における 次元形状操作に重要であるため，今後，反力や触覚の高速な計算手法や，それをユーザに与えるインタフェースについて研究を行い，システムに導入する必要がある．
一方，近年， 次元 15 アニメーションには無い，手作り感や独特でコミカルな動きなどの特徴を持った粘土細工を用いたアニメーション（ クレ イアニメーショ
ン ）63 7 が，人気を集めている．今後の研究として，このようなクレ イアニメー

3

ションの仮想空間を利用した作成が考えられる．

図3

1$'  の外観（ 文献 63 7 より引用）

4

謝辞
本研究を行う機会を与えて頂き，研究の全過程において直接懇切なる御指導御鞭撻を賜ったソフトウェア基礎講座 横矢 直和 教授に心より感謝申し上げます．
本研究の全過程を通して，終始有益な御助言と励ましの言葉を頂いた像情報処理学講座 千原 國宏 教授 に厚く御礼申し上げます．
本研究の遂行にあたり，終始的確な御助言と励ましの言葉を頂いた計算機アー
キテクチャ講座 湊 小太郎 教授 に深く感謝致します．
本研究の全過程を通して，直接懇切なる御指導御鞭撻を賜ったソフトウェア基礎講座 竹村 治雄 助教授（ 現，大阪大学サイバーメディアセンター教授）に心より感謝申し上げます．
本研究について様々な御助言，御指導を与えて下さった元 ソフトウェア基礎講
座 岩佐 英彦 助手（ 現，（ 株）ネットシステムズ ） およびソフトウェア基礎講座
山澤 一誠 助手 に厚く御礼申しあげます．
海部 陸 君は，本研究の一部を共に行った後輩であり，大きな力となって頂きました．ここに，心より感謝の意を表します．
また，物心両面において常に温かいご支援を頂いたソフトウェア基礎講座の諸氏，ならびに，ソフトウェア基礎講座事務補佐員 北川 知代 女史および ，元ソフ
トウェア基礎講座事務補佐員 福永 博美 女史に感謝します．
私が大阪工業大学 電子工学科在学中，多大なご 迷惑をおかけしたにも関わらず，機会ある毎に様々な御助言と励ましの言葉を与えて下さった大阪工業大学 情報科学部 小堀 研一 教授 に深く感謝申し上げます．
大阪樟蔭女子大学 情報処理研究室 飼原 壽夫 助教授および ，情報処理研究室の方々には，「 教える」ことの楽しさを知る機会を与えて頂くとともに，様々な御助言と励ましの言葉を与えて頂きました．ここに，心より感謝の意を表します．
最後に，両親を含め，私を支援して頂いた多くの方々に，心より御礼申し上げます．本当にありがとうございました．

4

参考文献

6 7 オートデスク株式会社& ) 1 2"ユーザ ガ イド (3&6 7 ;1  1   & 2$ ! )  ユーザガ イド ( 3&6 7 %   & 9#:    & 日本語ユーザーガ イド (3&
6 7 /,  "( &  (

67 廣瀬通孝& バーチャルリアリティの基礎&&
02 世界の構成手法& 培風館(

67 '8C8& 1/98 15 講座 第 3 回：クレ イアニ メを作ろう 0 "& & &!"(&
DEE!&)*)& !E")E #E
637 F& -!"  F& ,&    & :(  &647 5& <)  -& 1 G&
&(  &

    & C  :"$ H  (

67 C& <) ( &  ( & =(  & ;& >" & !D   ! " ! " )#  ! ) "$&        ( & I (  &6 7 & & < !  9& '& = #& 8      !!)"  ! " &      !   "       # #$%#&'& 5 # )   " #$(&
6 7 ;& 2& ;& : %#   )"  "D   J) )  " "" !! ! "#  #!&  (  )  *      $'#+&$( &4

6 7 F& F$ %( =& %!)( A& F$!( =& (  & A % $& 0"# D !"   ! "#  !    $ " %&       ,    -  .$'/( & 3I ( &6 7 & :& :#  & /& F)!& 0 ")! )"#&     #   ( &  I ( &6 7 C& 2& <""  & F& 9 & )"#  "$# " ! " )# )"  "&  )    , .$%( & 3 I 34( &6 7 2& & "  5& C& 1" $& )"#  !#   %   !&   000 *      ( & 43I (4&
6 7 & 1 J)""& /,  !  ! D  )")#  "   
# ! ! "#&     ) .$+( & 43I (  &6 37 C& -& A& : #( 2& :& =& 9)(  9& ;& 0)"  )")#  
!  )&   000 *      (& 34I 4( 4&
6 47 A& =& 1( 5& 2& 9)%(  C& 1& /& 0)" "$ ! "# )# ) , %" &   000         * * -  .$1/( & 3I4 ( 4&
6 7 /& '"$( ;& -& 1(  C& & 5)"& -"  ")! )"#&   * ( 0 "& ( & 4( & I 4 (&6 7 9& ;% ( C& ;& 1 ( & 1)""(  C& '& =)#& %D   )
   ! "#  ! &     ) .$$( & I ( &6 7 & & 5"$  C& '& =)#& )"#D    ")! ! "# J)&     ) .$2( & 3I 3 (  &4

6 7 水野慎士( 岡田稔( 鳥脇純一郎( 横井茂樹& 仮想彫刻─仮想空間における対話& ( &  I  (
型形状生成の一手法& 情報処理学会論文誌( 0 "& 4(3&
6 7 荒田秀樹( 高井昌彰( 高井那美( 山本強& 能動的ボクセル空間における仮想粘土モデ リング―モデルの基本理念―& 電子情報通信学会論文誌 ( 0 "&C4 ( & ( & 4I ( &6 7 小田泰行( 千葉則茂& 粒子ベースモデルによる粘土のビジュアルシミュレー& ( & I ( 3&ション & 情報処理学会研究報告( 0 "& 3(
6 7 小田泰行( 村岡一信( 千葉則茂& 仮想粘土の粒子ベース・ビジュアルシミュ& ( &I (&
レーション & 情報処理学会論文誌( 0 "& (6 7 前野輝( 岡田稔( 鳥脇純一郎& 粘土細工モデリングにおける物体変形操作に関& ( & 3I ( &する基礎検討& 情報処理学会研究報告( 0 "& (
6 37 前野輝( 岡田稔( 鳥脇純一郎& 形状関数を用いた双三次ベジエ曲面の直観的変形手法& 日本バーチャルリアリティ学会論文誌( 0 "& (& ( & 4 I4 3(&
6 47 梅村隆( 岡田稔& メタボールを用いた会話的モデラのためのパッチの一生成& ( & I ( 3&
法& 画像電子学会誌( 0 "& (6 7 & .  )"   F& '"& ; "# "  ! D 0 "$( "$( )&     ) .11( & I 34( 44&
6 7 ;& -& 15)"  ;& )& !    !" ! " )#!" )& 000     !   *   (
0 "& ( & ( & I ( 3&
6 7 F& F!$!& 0)" "$ ! "# $!&       ,    -  .$3/( & 3I ( 3&4

6 7 & 9& C!  & F& -&  D ) " !  !" *&    ) .$$( & I3 ( &6 7 F& & ; ""( =& K(  2& & :" .$%& 0)" "$D  "! )"# $!    "%&         .+2( & 3I  (&6 7 亀井克之( 中村泰明( 阿部茂& エネルギー最小化による変形可能仮想ろくろモ& 4( & 33 I 33(デラ& 電子情報通信学会論文誌 ( 0 "& C3( &6 7 松宮雅俊( 清川清( 竹村治雄( 横矢直和& 陰関数表現を用いた仮想空間内曲面&   (
モデリングシステム& 電子情報通信学会総合大会講演論文集(
4&
6 7 松宮雅俊( 清川清( 竹村治雄( 横矢直和& 陰関数表現を用いた仮想空間没入型曲面形状モデラ& 日本バーチャルリアリティ学会第 回大会論文集( & I( 4&
6 37 松宮雅俊( 清川清( 竹村治雄( 横矢直和& 没入型仮想環境における 次元曲面
形状モデリング & 電子情報通信学会技術報告( ;0/44( &6 47 ;& ;)!$( F& F$ %( =& %!)(  & A % $&  !!
! "   ) * )# !" )&   0    *      ,   ( & I ( &6 7 ;& ;)!$( =& %!)(  & A % $&  !! ! "# $!     ! # )# !" )&       ,    &+++ - &+++/( & 3I3 (&6 7 松宮雅俊( 竹村治雄( 横矢直和& 自由形状モデ リングのための陰関数曲面を用いた仮想粘土細工システム& 情報処理学会論文誌( 0 "& (& ( &
I (
&
4

6 7 C& <" !"  <& :$""&  J)   !" ! "#&        ( & I (  &6 7 <& :$""& !   " G&  C& <" !"(  ( #    *   ,( & I & ; # F)! -)"(3&
6 7 /& 5"  & %% )& !" J)   !" ) ! "#&   000 *      ( & I ( 4&
6 7 C& <"&  #".   "# ) #&    ( 0 "& ( & ( & I ( 4 &6 7 西村仁志( 平井誠( 河合利幸( 河田享( 白川功( 大村皓一& 分布関数による物体モデリングと画像生成の一手法& 電子情報通信学会論文誌 ( 0 "& C4(& ( & 3 4I3 ( 4&
6 7 5& :$""( 1& ;-(  <& :$""&  ))     *&   * ( 0 "& ( & ( & 3I ( 4&
6 37 技術系 15 標準テキストブック編集委員会& コンピュータグラフィックス 技
術系 15 標準テキストブック& 財団法人画像情報教育振興協会( &6 47 C& 1& =&  #D  # ! !     " $#  !" )&    * ( 0 "& ( & ( &  3I
 ( &6 7 5& :$""& 2$ # !" )&  C& <" !"(  ( #    *   ,( & I & ; # F)! -)"(3&
6 7 ;& )( & # (  ;& -& 5)"&  !"#  !")    ! "#  ! &   *   ,
.$%( & 3 I 4( &4

6 7 土井章男( 小出昭夫& 等関数値曲面生成のための 面体格子法& 第 回 1>52-= 論文コンテスト論文集( & I ( 43&
6 7 :& /& 9   =& /& 1"& ;# )D  #  ")  )  )  "# !& *   ( 0 "& ( & ( &  I( 43&6 7 C& <" !"&  !" )  "$# .&  -& =%(  (  *  ( & I & ! -(  &6 7 :& =& -( & & )% "%$( :& & 0"#(  <& -& '"$& ( *#    4   ,   5 *  &  & 1!#8$ -(  &67 <&  "( & <)"(  C& -& '""&   ** & >+2""$H  ( &( &67 C& & ;)$  :& 2$& 0  ,   6  6* &>+2""$ H  ( &(  &637  $!( &     ,  5 ( 44&
647 松宮雅俊( 竹村治雄( 横矢直和& パーティクルシステムと陰関数曲面を用いた
仮想粘土モデリング & 日本バーチャルリアリティ学会第  回大会論文集( &I 4(&
67 松宮雅俊( 竹村治雄( 横矢直和& パーティクルシステムと陰関数曲面による仮想粘土細工& 平成 年電気関係学会関西支部連合大会講演論文集( 5  (&6 7 ;& ;)!$( =& %!)(  & A % $&  )" "$ )#!" )  " $!&    )&++2 ,
"      ( & (&43

6 7 松宮雅俊( 横矢直和( 竹村治雄& パーティクルシステムと陰関数曲面を用いた対話的仮想粘土モデル & 日本バーチャルリアリティ学会第  回大会論文集(
&  3I 4(&
6 7 中村喜代次& 非ニュートン流体力学& コロナ社( 3&
6 7 & :&  *   &  :"$(&6 7 越塚誠一& 数値流体力学& 培風館( 3&
67 & 2& <) & ** !( &( 3&

 78 &   :"$ 9 #

67 <& 9  & C& <#&    ** ; $!( &( 4&  & )

637 ;& :"!"$&   # **   99& #0"# 9  ( 9&(&
647 & 0&  !  ( & /& C  (  /& 1 &   # )") ! "&         ( & 3I 3(3&
67 0& - )( 5& <)(  ;& < ).& 0)" "$ !)"  ! "#    #" &   000 *   *  .$$( & I (&63 7 :& & ; "$( F& & -))#(  C& C&  $& , #  !
 # )#  ," !"#&     ) .$$( &I 4( &63 7 !!  1   & **    #    "#6& DEE&!! & !E )E E E$ &!"(&63 7 -& 9   <& "$&   #  * & =$ & !( &( 4&
44

研究業績
 学会誌および学術専門誌 原著論文

" 松宮 雅俊( 竹村 治雄( 横矢 直和D L自由形状モデ リングのための陰関数
曲面を用いた仮想粘土細工システムM( 情報処理学会論文誌( 0 "&&    ( ;$&（ 第 章に関連）(&( 国際会議論文集

" ;& ;)!$( F& F$ %( =& %!)(  & A % $D L !!
! "   ) * )# !" )M(  0 1
    *      ,   ( &  ( <  (;)( ! &（ 第 章に関連）

" =& A ! ( ;& ;)!$( =& %!)(  & A % $D L1 !      ! "     " ! "#M(   #)&+++ , "      ( &  (  >"(9 )( C)"$&" ;& ;)!$( =& %!)(  & A % $D L !! ! "#$!     ! # )# !" )M(   *     ,    &+++ - &+++/( &33 ( )"( F ( > &（ 第 章に関連）

" =& %!)( =& A ! ( ;& ;)!$(  & A % $D L !!

! "#  % )#   !      ! "M(  2+    ,   5     #0:  -&+++/( &  ( ( ( > &" ;& ;)!$( =& %!)(  & A % $D L )" "$ )#!" )  " $!M(  
4)&++2 ,

"      ( &( 9  #"( 1" ( )#)

&（ 第 章に関連）

" =& F( ;& ;)!$( =& %!)(  & A % $D L/" *!)"  )#   N    !# ! "M(  )&++2 , "      ( & 3( 9 
#"( 1" ( )#)
& 研究会およびシンポジウム発表

" 松宮 雅俊( 清川 清( 竹村 治雄( 横矢 直和D L没入型仮想環境における 次元
曲面形状モデリング M( 電子情報通信学会 マルチメディア・仮想環境基礎研究会( 信学技報 ;0/44( ')$&（ 第 章に関連）

" 吉森 勇人( 松宮 雅俊( 岩佐 英彦( 竹村 治雄( 横矢 直和D L 次元平面と 次元

空間の組み合わせによるモデリング環境M( 電子情報通信学会 マルチメディ

ア・仮想環境基礎研究会( 信学技報 ;0/( ')$&" 河合 裕文( 松宮 雅俊( 竹村 治雄( 横矢 直和D L疎密バネモデルを用いた柔物
体の仮想環境下での視覚および力覚提示手法の提案M( 電子情報通信学会 画

像工学研究会( 信学技報 / 3( C)$&" 森本 龍太郎( 松宮 雅俊( 竹村 治雄( 横矢 直和D L没入型仮想環境とペン型デバイスを利用した地形モデリング M( 電子情報通信学会 マルチメディア・仮
想環境基礎研究会( 信学技報 ;0/ ( ;

&" 松宮 雅俊( 竹村 治雄( 横矢 直和D L手による対話操作可能なパーティクル

システムと陰関数曲面を用いた仮想粘土モデル M( 電子情報通信学会 高度
交通システム研究会，画像工学研究会( 信学技報 C)$&（ 第 章に関連） ，/

 3(" 海部 陸( 松宮 雅俊( 横矢 直和D L局所的に細密な陰関数表現による拡大作業機能を持つ没入型仮想彫刻モデラM( 電子情報通信学会 高度交通システム研究会，画像工学研究会( 信学技報  ，/

 3 ( C)$&（ 第 章に関連）

 全国大会等での口頭発表

" 松宮 雅俊( 清川 清( 竹村 治雄( 横矢 直和D L陰関数表現を用いた仮想空間
内曲面モデリングシステムM(

4 年電子情報通信学会総合大会講演論文集(&  ( ; 4&（ 第 章に関連）

" 松宮 雅俊( 清川 清( 竹村 治雄( 横矢 直和D L陰関数表現を用いた仮想空間

没入型曲面形状モデラM( 日本バーチャルリアリティ学会第 回大会論文集(

& ( )#) 4&（ 第 章に関連）

" 吉森 勇人( 松宮 雅俊( 竹村 治雄( 横矢 直和D L 次元E 次元空間をシームレスに融合したモデリング環境M( 日本バーチャルリアリティ学会第 回大会

論文集( &    ( !

&" 森本 龍太郎( 松宮 雅俊( 竹村 治雄( 横矢 直和D L没入型自然景観モデラM(
日本バーチャルリアリティ学会第  回大会論文集( &&( !

" 松宮 雅俊( 竹村 治雄( 横矢 直和D Lパーティクルシステムと陰関数曲面を用いた仮想粘土モデリング M( 日本バーチャルリアリティ学会第  回大会論文集( &

 4( !

&（ 第 章に関連）

" 河合 裕文( 松宮 雅俊( 佐藤 哲( 山澤 一誠( 竹村 治雄( 横矢 直和D L弾性体のバネモデルの疎密表現による計算量削減手法M( 日本バーチャルリアリティ学会第  回大会論文集( &( !

&" 松宮 雅俊( 竹村 治雄( 横矢 直和D Lパーティクルシステムと陰関数曲面による仮想粘土細工M( 平成&5  (

!

年電気関係学会関西支部連合大会講演論文集(&（ 第 章に関連）" 松宮 雅俊( 横矢 直和( 竹村 治雄D Lパーティクルシステムと陰関数曲面を用いた対話的仮想粘土モデル M( 日本バーチャルリアリティ学会第  回大会論文集( & 3 4( !

&（ 第 章に関連）

" 海部 陸( 松宮 雅俊( 横矢 直和D L局所的に細密なデータ構造を持つ陰関数表
現を用いた没入型仮想彫刻モデラ M( 日本バーチャルリアリティ学会第  回

大会論文集( &  3 ( !

&（ 第 章に関連） 表彰

" 平成" 平成

年度情報処理学会関西支部学生奨励賞受賞，
年度電気関係学会関西支部連合大会奨励賞受賞，



年 月．
年 月．

付録


陰関数曲面のレ イトレーシング法

本論文中のモデリング例のレ イトレーシング法による画像生成に使用するために開発した，陰関数曲面のレ イトレーシング法について述べる．
まず，図 & で示すように，視点  とスクリーン上の画素（描画点）との位置関係から，視線ベクトル  を求める．そして，視線が形状と交わる場合，交点 と光源  との位置関係から光源ベクトル  を求める．視線ベクトル  ，光源ベクトル ，交点  上の法線ベクトル  から，フォンモデルによる式（  ）を用

いて交点  における色を求める．

? 





  @ 






@









，









? 
? 









 

，













．

ここで， は拡散反射係数， は鏡面反射係数， は環境反射係数を表す．また， は入射光の強さ，  は物体の表面色， は求める点の色，  は白色成分（ 赤： & ，緑： & ，青： & ）を表す．

Þ2 V0$. L0V

L $.j¦Þj¦¹

N :j¦

tj¥·®

@2P
»)

図 &

レ イトレーシング法

本研究で用いている陰関数曲面（ %"" !" ) ）では，視線と形状の交点を解析的に求めることができない．そこで，交点を計算する手法が必要になる．また，計算をできるだけ高速に行える方が望ましい．以下では，本研究で用いている陰関数曲面による形状と視線との交点を求める手法について述べる．
ここで， つの線スケルトンと つの点スケルトンからなる陰関数曲面形状と，視線を図 & に示す．

& すべての点スケルトンから視線に垂線を下ろし，交点を求める．また，すべての線スケルトンの両端点から視線に垂線を下ろし ，交点を求める．図 &においては，交点  ， ， になる．

& 視点  に近いものから順に交点を調べ，以下の処理を繰り返す．
 交点での陰関数値を求める．
 交点の内外判定を行い， 表面， 外側， 内側で処理を分ける．
& 表面の場合には，そのままその交点を視線と形状との交点とする．


& 外側の場合には，次の交点に関して処理を行う．すべての交点について外側の判定であれば，視線と形状は交差しないと判断する．

& 内側の場合には，その交点と視点  を用いて形状と視線の交点を挟み撃ち法で求める．図 & においては，視点  と交点  を用いて挟み撃

ち法により，形状と視線の交点  を求める．また，その点における法線ベクトル  を中心差分で求める．

Þ V
tl¦®
@2P2@2P3»)+Þ1@2 P

2tl¦®

@2P1
Þ2 V0

図 &

形状と視線との交点の求め方

以上の処理を図 & で示す，スクリーン上の全ての画素について行うことで，
レ イトレーシング法によるレンダリング画像を得ることができる．すべての処理
は画素ごとに独立しているため，画素単位で容易に並列化することができる．
図 & に前述し た手法を実装し たアプ リケーション（ %"" !" 2$ D  ）の実行中画面を示す．  個の 1-8 を用い， つの 1-8 が縦列の画素列を上から順に処理を行うため，図に示すように描画されていく．

ñöCPU*É£1ñ½

図 &



%"" !" 2$  の実行画面

補助アプリケーション：!，

本論文で述べたモデリングシステムで作成した 次元形状を他のアプリケーショ
ンで利用するために，専用の陰関数表現記述フォーマットである ;（ %""

!" ; " ）を定義するとともに，一般的なポリゴン表現記述フォーマット
である B' や 9（ 9 ）への変換ツールである ! , と ! " を作成した．
! , と ! " では，; ファイルを入力とし，引数で与える任意のポリゴン
変換ボクセルの大きさで陰関数表現をポリゴン表現に変換し ，B' および 9
ファイルとして出力する．ここでは，参考のために，これらのフォーマットと例を掲載する．

フォーマット

スケルトンの種類（ 点，線の別および距離場関数の種類を示す整数）
第 頂点の  座標

第 頂点の  座標

第 頂点の  座標
第  頂点の  座標（ 線スケルトンの場合）


第  頂点の  座標（ 線スケルトンの場合）


第  頂点の  座標（ 線スケルトンの場合）



繰り返し




3

例


 !"   !!!
#!$! 4

 フォーマット%&'()*+
&+()()&%
,-'&$%).
"
第 頂点の  座標

第 頂点の  座標

第 頂点の  座標
第  頂点の  座標

第  頂点の  座標

第  頂点の  座標

第  頂点の  座標

第  頂点の  座標

第  頂点の  座標
第 ! 頂点の  座標（ 第  頂点と同じ値）
第 ! 頂点の  座標（ 第  頂点と同じ値）
第 ! 頂点の  座標（ 第  頂点と同じ値）



繰り返し



&+,%&'&*例%&'()*+
&+()()&%
,-'&
$
%).
"



$$







 ##!!#





# "




# "




# "




# "




# "




# "



&+,%&'&* フォーマット
/

モデル名

012

1  数値データ  数値データ  数値データ

  3
4 5  数値データ  数値データ  数値データ
4 5  数値データ  数値データ  数値データ
4 5  数値データ  数値データ  数値データ
 3
 012
012

1  数値データ  数値データ  数値データ

  3
4 5  数値データ  数値データ  数値データ
4 5  数値データ  数値データ  数値データ
4 5  数値データ  数値データ  数値データ
 3
 012


繰り返し



 /

モデル名

例

/

%).

012

1 " #

 #! "!   3
4 5

"# #6

#



#



4 5"#6

$ "#4 5

"## "$6## "## "1 "#"!# # 3
 012
012

  3
4 5

"# #6#4 5

"## "$6## "## "4 5

"## 6

#

##

 3
 012 /%).

$