(57)【要約】 【課題】連結される２つのボーンの連結点付近のスキンの形状をできるだけ自然に変化させるスキンの制御点の位置の計算装置等を提供する。【解決手段】計算装置８０１は、仮想空間に配置される親ボーンとこれに連結点で連結される子ボーンに依存するスキンの制御点の位置を計算し、姿勢変化取得部８０２は、親ボーンに対する子ボーンの姿勢の変化を取得し、姿勢更新部８０３は、取得された変化後の姿勢と親ボーンに対する子ボーンの変化前の姿勢とを補間するように、連結点と仮想点とを結ぶ線分の姿勢を変化させることにより、連結点からの距離一定の仮想点の位置を更新し、位置出力部８０４は、仮想点の位置から、スキンの制御点の位置を求めて、出力する。【選択図】図９
2007148856.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間に配置される第１の線分状オブジェクトと、当該第１の線分状オブジェクトに連結される第２の線分状オブジェクトと、に依存するスキンの制御点の位置の計算装置であって、
当該第１の線分状オブジェクトに対する当該第２の線分状オブジェクトの姿勢の変化を取得する姿勢変化取得部、
当該第１の線分状オブジェクトと当該第２の線分状オブジェクトとが連結される点もしくはその近傍（以下「連結点」という。）からの距離が一定の点（以下「仮想点」という。）の位置を、前記取得された変化後の姿勢と当該第１の線分状オブジェクトに対する当該第２の線分状オブジェクトの変化前の姿勢とを補間するように、当該連結点と当該仮想点とを結ぶ線分の姿勢を変化させることにより、更新する姿勢更新部、
当該仮想点の位置から、当該スキンの制御点の位置を求めて、出力する位置出力部
を備えることを特徴とする計算装置。
【請求項２】
請求項１に記載の計算装置であって、
前記姿勢更新部は、当該連結点で当該第１の線分状オブジェクトに連結される第３の線分状オブジェクトの姿勢の変化が、当該第１の線分状オブジェクトに対する当該第２の線分状オブジェクトの変化前の姿勢と変化後の姿勢とを補間するように変化させ、当該仮想点の位置を当該第３の線分状オブジェクトに対して固定されたものとすることにより、当該仮想点の位置を更新する
ことを特徴とする計算装置。
【請求項３】
請求項１または２に記載の計算装置であって、
前記姿勢更新部は、前記取得された姿勢の変化に、０より大きく１より小さい所定の比例定数を乗じて補間する
ことを特徴とする計算装置。
【請求項４】
請求項１から３のいずれか１項に記載の計算装置であって、
前記位置出力部は、当該仮想点の位置を求めて、当該求められた位置を、当該スキンの制御点の位置として出力する
ことを特徴とする計算装置。
【請求項５】
請求項１から３のいずれか１項に記載の計算装置であって、
前記位置出力部は、当該第１の線分状オブジェクトに対する位置が固定された点の位置と当該第２の線分状オブジェクトに対する位置が固定された点の位置の少なくともいずれか一方と、当該仮想点の位置と、の重み付き平均を求めて、当該求められた位置を、当該スキンの制御点の位置として出力する
ことを特徴とする計算装置。
【請求項６】
請求項５に記載の計算装置であって、
前記位置出力部は、当該仮想点の位置に対して、０.５より大きい重みを与えて、重み付き平均を求める
ことを特徴とする計算装置。
【請求項７】
仮想空間に配置される第１の線分状オブジェクトと、当該第１の線分状オブジェクトに連結される第２の線分状オブジェクトと、に依存するスキンの制御点の位置の計算装置であって、姿勢変化取得部、姿勢更新部、位置出力部を備える計算装置にて実行される計算方法であって、
前記姿勢変化取得部が、当該第１の線分状オブジェクトに対する当該第２の線分状オブジェクトの姿勢の変化を取得する姿勢変化取得工程、
前記姿勢更新部が、当該第１の線分状オブジェクトと当該第２の線分状オブジェクトとが連結される点もしくはその近傍（以下「連結点」という。）からの距離が一定の点（以下「仮想点」という。）の位置を、前記取得された変化後の姿勢と当該第１の線分状オブジェクトに対する当該第２の線分状オブジェクトの変化前の姿勢とを補間するように、当該連結点と当該仮想点とを結ぶ線分の姿勢を変化させることにより、更新する姿勢更新工程、
前記位置出力部が、当該仮想点の位置から、当該スキンの制御点の位置を求めて、出力する位置出力工程
を備えることを特徴とする計算方法。
【請求項８】
コンピュータに、仮想空間に配置される第１の線分状オブジェクトと、当該第１の線分状オブジェクトに連結される第２の線分状オブジェクトと、に依存するスキンの制御点の位置を計算させるプログラムであって、当該コンピュータを、
当該第１の線分状オブジェクトに対する当該第２の線分状オブジェクトの姿勢の変化を取得する姿勢変化取得部、
当該第１の線分状オブジェクトと当該第２の線分状オブジェクトとが連結される点もしくはその近傍（以下「連結点」という。）からの距離が一定の点（以下「仮想点」という。）の位置を、前記取得された変化後の姿勢と当該第１の線分状オブジェクトに対する当該第２の線分状オブジェクトの変化前の姿勢とを補間するように、当該連結点と当該仮想点とを結ぶ線分の姿勢を変化させることにより、更新する姿勢更新部、
当該仮想点の位置から、当該スキンの制御点の位置を求めて、出力する位置出力部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連結される２つのボーン（bone）の連結点付近のスキン（skin）の形状をできるだけ自然に変化させるのに好適な、スキンの制御点の位置の計算装置、計算方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータグラフィックスにおいて人物や動物などのキャラクターを表現する際に、その骨格をボーンという線分状オブジェクトで抽象化し、各ボーンの回りにボーンに対して位置が固定される点の位置によって、皮膚の形状を抽象化したスキンという面形状を求める技術が提案されている。
【０００３】
ここで、ボーンやスキンは、３次元グラフィックスのモデリング技法で用いられる概念である。ボーンは、位置と姿勢が定まるリンク（線分状オブジェクト）であって、手足の間接のような部分で回転移動できる回転軸や回転角に制限を設けたものをいう。このように、回転移動に制限を設けた線分状オブジェクトは、「リンク」とも呼ばれる。
【０００４】
また、３次元空間内に配置される面形状の断面図（リブ）を並べ、これらをつなぎ合わせて複雑な曲面からなる形状が作られるが、この面形状をスキンと呼ぶ。
【０００５】
一般に、リブはボーンに固定されているので、ボーンが位置や姿勢を変更すると、これとともにリブの位置や姿勢も変更される。したがって、リブの形状を決める頂点（リブが多角形の場合）や、各種の制御点（リブが曲線による形状の場合）も、ボーンに固定されている。
【０００６】
このような、ボーンとスキンを用いる技術は、以下の文献に開示されている。
【非特許文献１】Mark Deloura編、川西裕幸監訳、狩野智英飜訳、GAME PROGRAMMING GEMS、４５８頁〜４６５頁、株式会社ボーンデジタル、２００１年７月２５日発行
【非特許文献２】Tim Coleman，Sherri Sheridan著、デジタル・スタジオ飜訳、目指せプロアニメータ Mayaキャラクタアニメーション、１２７頁〜１３２頁および１７８頁〜１８０頁、株式会社ボーンデジタル、２００２年４月２５日発行
【０００７】
[非特許文献１]では、ボーンに対して取り付けられた連続的なメッシュによりスキンの形状を求める技術が開示されており、メッシュの頂点の位置を、複数のボーンのそれぞれに固定された点の位置の重み付き平均とすることによって、人間の腕が肘で曲げられる様子をできるだけ自然に見せる技術が開示されている。
【０００８】
[非特許文献２]では、同様な状況において、メッシュの頂点の位置をユーザが明示的に変化させることによって、人間の足が膝で曲げられる様子をできるだけ自然に見せる技術が開示されている。
【０００９】
これらの技術では、肘や膝を曲げる際の皮膚形状の変化が自然に見えるような工夫がされているのである。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、人間や動物の骨格においては、肘や膝を捻ることもできる。このような場合、上記の文献開示の技術をそのまま適用すると、肘や膝付近のスキンが不自然に細くなってしまい、場合によっては、太さが０になってしまうことが生ずる。
【００１１】
また、肘や膝などの曲げのほかに捻りなども含めたボーンの姿勢の変化に対するスキンの形状の変化を、できるだけ簡単な計算で、できるだけ自然に見えるようにしたい、という要望は大きい。
【００１２】
本発明は、連結される２つのボーンの連結点付近のスキンの形状をできるだけ自然に変化させるのに好適な、スキンの制御点の位置の計算装置、計算方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００１４】
本発明の第１の観点に係るスキンの制御点の位置の計算装置は、仮想空間に配置される第１の線分状オブジェクト（以下、適宜「ボーン」という。）と、当該第１のボーンに連結される第２のボーンと、に依存する面形状（以下、適宜「スキン」という。）の制御点の位置を計算し、姿勢変化取得部、姿勢更新部、位置出力部を備え、以下のように構成する。
【００１５】
第１のボーンと第２のボーンは、たとえば、上腕（肩から肘まで）と下腕（肘から手首まで）、あるいは、腿（股から膝まで）と脛（膝から足首まで）などに相当するものであり、スキンを利用したコンピュータグラフィックスの分野では、第１のボーンを親ボーン、第２のボーンを子ボーンと呼ぶことも多い。親ボーンの位置や姿勢の変化は、子ボーンにも継承される。また、子ボーンの位置や姿勢は、親ボーンに対する子ボーンの相対的な姿勢によって定めることができる。
【００１６】
まず、姿勢変化取得部は、当該第１のボーンに対する当該第２のボーンの姿勢の変化を取得する。
【００１７】
たとえば、肘や膝を曲げたり、捻ったりする場合、第２のボーンの第１のボーンに対する相対的な姿勢が変化することになる。そこで、姿勢変化取得部は、この姿勢の変化を取得するのである。
【００１８】
姿勢の変化は、微小時間だけ以前の姿勢からの変化量によって表現しても良いし、予め定めた基準姿勢（たとえば、肘や膝を無理なく伸ばした姿勢）からの変化量によって表現しても良い。
【００１９】
また、第１のボーンに対する第２のボーンの姿勢の表現方法としては、第１のボーンに固定された座標系に対するオイラー角（ロール、ピッチ、ヨー）によって表現する手法、クォータニオンによって表現する手法など、種々採用することができる。
【００２０】
さらに、姿勢更新部は、当該第１のボーンと当該第２のボーンとが連結される点もしくはその近傍（以下「連結点」という。）からの距離が一定の点（以下「仮想点」という。）の位置を更新する。すなわち、取得された変化後の姿勢と当該第１のボーンに対する当該第２のボーンの変化前の姿勢とを補間するように、当該連結点と当該仮想点とを結ぶ線分の姿勢が変化するように、更新する。
【００２１】
上記の例でいえば、連結点は、肘関節や膝関節に相当するものであり、仮想点は、肘や膝付近の皮膚表面の基準位置に相当するものである。仮想点と連結点との距離を一定にしていることで、膝や肘が不自然に細くなってしまうのを防止するのである。
【００２２】
なお、仮想点の姿勢の変化を求めるための補間の手法は、姿勢変化取得部が取得した姿勢の変化を、何らかの意味で内挿・内分するものとするのが好ましい。このような補間の手法は、種々考えられるが、好適例は後述する。
【００２３】
さらに、位置出力部は、当該仮想点の位置から、当該スキンの制御点の位置を求めて、出力する。
【００２４】
連結点からの距離が一定であるような仮想点の位置に基づいて、スキンの制御点の位置を求めることから、肘や膝の太さを維持しようとする効果が得られるので、肘や膝を捻った場合においても、肘や膝付近のスキンが不自然に細くなってしまうことを防止することができる。
【００２５】
本発明によれば、連結される２つのボーンの連結点付近のスキンの形状をできるだけ自然に変化させることができる。
【００２６】
また、本発明の計算装置において、姿勢更新部は、当該連結点で当該第１のボーンに連結される第３のボーンの姿勢の変化が、当該第１のボーンに対する当該第２のボーンの変化前の姿勢と変化後の姿勢とを補間するように変化させ、当該仮想点の位置を当該第３のボーンに対して固定されたものとすることにより、当該仮想点の位置を更新するように構成することができる。
【００２７】
本発明は上記発明の好適実施形態に係るものである。３次元グラフィックスシステムにおいては、ボーンの姿勢の変化に応じて、そのボーンに固定された点の位置を求めることがライブラリ化されていたり、画像処理演算コプロセッサ（coprocessor）によって高速な計算が可能な場合も多い。
【００２８】
本発明では、人間や動物には実際には存在しない仮想的な骨格である第３のボーンを想定し、仮想点をこの第３のボーンに固定する。そして、第３のボーンを第１のボーンと第２のボーンが連結する点もしくはその近傍で、第１のボーンに連結する。さらに、第１のボーンに固定された座標系における第３のボーンの姿勢の変化を、第２のボーンの姿勢の変化に連動させるのである。
【００２９】
本発明によれば、仮想的な第３のボーンを想定して仮想点を第３のボーンに固定することによって、容易に仮想点の位置を求めることができるようになる。
【００３０】
また、本発明の計算装置において、姿勢更新部は、取得された姿勢の変化に、０より大きく１より小さい所定の比例定数を乗じて補間するように構成することができる。
【００３１】
本発明は、上記発明における補間の手法の好適実施形態に係るものであり、典型的な比例定数は０.５である。
【００３２】
この場合、姿勢の変化が上記のオイラー角によって表現される場合には、第１のボーンに対する第２のボーンのロール、ピッチ、ヨーのそれぞれを半分にしたものを、第１のボーンに対する第３のボーン（および、仮想点と連結点を結ぶ線分）のロール、ピッチ、ヨーとして採用する。
【００３３】
また、姿勢の変化がクォータニオンによって表現される場合、第１のボーンに対する第２のボーンの姿勢の変化のクォータニオンをQ = (X sinφ，Y sinφ，Z sinφ，cosφ)としたとき、第１のボーンに対する第３のボーン（および、仮想点と連結点を結ぶ線分）の姿勢の変化のクオータニオンをQ = (X sin(φ/2)，Y sin(φ/2)，Z sin(φ/2)，cos(φ/2))とする。この場合は、「姿勢の変化」として、クォータニオンによって表現される回転量に所定の定数を乗じるのである。
【００３４】
本発明によれば、肘や膝の曲げや捻りの回転量に０〜１の間の比例定数で比例する回転量で仮想点を移動させることで、肘や膝の曲げや捻りを「内挿」「内分」し、容易に仮想点の位置を求めることができるようになる。
【００３５】
また、本発明の計算装置において、位置出力部は、当該仮想点の位置を求めて、当該求められた位置を、当該スキンの制御点の位置として出力するように構成することができる。
【００３６】
本発明は、上記発明における好適実施形態に係るものであり、仮想点の位置をそのままスキンの制御点の位置とするものである。
【００３７】
上記のように、仮想点と連結点との距離は一定であるから、第１のボーンに対して第２のボーンがどのような回転をしても、スキンの制御点が連結点に近付くことはない。したがって、曲げや捻りによって連結点付近のスキンが細くなり過ぎてしまうことを防止することができるのである。
【００３８】
本発明によれば、仮想点の位置をそのままスキンの制御点の位置とすることで、容易にスキンの制御点の位置を求めることができるようになる。
【００３９】
また、本発明の計算装置において、位置出力部は、当該第１のボーンに対する位置が固定された点の位置と当該第２のボーンに対する位置が固定された点の位置の少なくともいずれか一方と、当該仮想点の位置と、の重み付き平均を求めて、当該求められた位置を、当該スキンの制御点の位置として出力するように構成することができる。
【００４０】
本発明は、上記発明における好適実施形態に係るものであり、仮想点の位置、第１のボーンに固定された点（第１固定点）の位置、第２のボーンに固定された点（第２固定点）の位置を重み付き平均するものである。キャラクターの外観の構成によっては、仮想点の位置をそのままスキンの制御点の位置とするのではなく、第１のボーンや第２のボーンにも依存させたい場合がある。たとえば、肘や膝は、捻りによっていくぶん細くなる、というような状況を表現したい場合である。
【００４１】
このような場合には、以下のいずれかを採用するのである。
（ａ）第１固定点と仮想点の位置の重み付き平均
（ｂ）第２固定点と仮想点の位置の重み付き平均
（ｃ）第１固定点と第２固定点と仮想点の位置の重み付き平均
【００４２】
本発明によれば、スキンの制御点の位置を仮想点のみならず第１のボーンや第２のボーンにも依存させることが自然となるような状況に適合したコンピュータグラフィックスを生成することができるようになる。
【００４３】
また、本発明の計算装置において、位置出力部は、当該仮想点の位置に対して、０.５より大きい重みを与えて、重み付き平均を求めるように構成することができる。
【００４４】
本発明は、上記発明における好適実施形態に係るものであり、重み付き平均をとる際に、仮想点の重みを最大にするものである。
【００４５】
本発明によれば、スキンの制御点の位置を仮想点のみならず第１のボーンや第２のボーンにも依存させることができ、仮想点の重みを最大とすることで、自然なスキンの形状を実現することができるようになる。
【００４６】
本発明のその他の観点に係るスキンの制御点の位置の計算方法は、仮想空間に配置される第１のボーンと、当該第１のボーンに連結される第２のボーンと、に依存するスキンの制御点の位置の計算装置であって、姿勢変化取得部、姿勢更新部、位置出力部を備える計算装置にて実行され、姿勢変化取得工程、姿勢更新工程、位置出力工程を備え、以下のように構成する。
【００４７】
まず、姿勢変化取得工程では、姿勢変化取得部が、当該第１のボーンに対する当該第２のボーンの姿勢の変化を取得する。
【００４８】
一方、姿勢更新工程では、姿勢更新部が、当該第１のボーンと当該第２のボーンとが連結される点もしくはその近傍（以下「連結点」という。）からの距離が一定の点（以下「仮想点」という。）の位置を、取得された変化後の姿勢と当該第１のボーンに対する当該第２のボーンの変化前の姿勢とを補間するように、当該連結点と当該仮想点とを結ぶ線分の姿勢が変化するように、更新する。
【００４９】
さらに、位置出力工程では、位置出力部が、当該仮想点の位置から、当該スキンの制御点の位置を求めて、出力する。
【００５０】
本発明のその他の観点に係るプログラムは、コンピュータを上記のスキンの制御点の位置の計算装置として機能させ、コンピュータに上記のスキンの制御点の位置の計算方法を実行させるように構成する。
【００５１】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００５２】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００５３】
本発明によれば、連結される２つのボーンの連結点付近のスキンの形状をできるだけ自然に変化させるのに好適な、スキンの制御点の位置の計算装置、計算方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００５４】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００５５】
図１は、プログラムを実行することにより、本発明のスキンの制御点の位置の計算装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００５６】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ  １０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェイス１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、を備える。
【００５７】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のスキンの制御点の位置の計算装置が実現される。
【００５８】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００５９】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００６０】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００６１】
インターフェイス１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００６２】
インターフェイス１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００６３】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００６４】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００６５】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００６６】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００６７】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００６８】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００６９】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００７０】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００７１】
さらに、情報処理装置１００には、インターフェース１０４を介してマイク１１１を接続することができる。この場合、マイク１１１からのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１１０でのミキシング等の処理ができるようにする。
【００７２】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００７３】
以上で説明した情報処理装置１００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【００７４】
以下では、まず、本発明の基本的な考え方について説明する。図２は、２つのボーンとスキンの制御点との関係を示す説明図である。以下、本図を参照して説明する。
【００７５】
本図に示すように、親ボーン（第１のボーン）２１１と、子ボーン（第２のボーン）２２１は、親ボーン２１１の端部である連結点２３１で連結されている。そして、親ボーン２１１に固定されたローカル座標系２６１において、子ボーン２２１の姿勢が定義される。
【００７６】
したがって、親ボーン２１１の外部座標系における位置および姿勢が決まれば、それに対して、ローカル座標系２６１における子ボーン２２１の姿勢をさらに反映させることによって、外部座標系に対する子ボーン２２１の位置および姿勢が決定されることになる。
【００７７】
ここで、外部座標系としては、グローバル座標系や、親ボーン２１１のさらに親であるボーンに固定された座標系（子ボーン２２１から見れば祖父母ボーンに相当する。）など、種々のものが考えられる。
【００７８】
また、親ボーン２１１に固定された親制御点（第１固定点）２１２が、子ボーン２２１に固定された子制御点（第２固定点）２２２が、それぞれ用意されている。親制御点２１２は、親ボーン２１１に固定されているから、ローカル座標系２６１における位置は変化しない。
【００７９】
子制御点２２２は、子ボーン２２１に固定されているから、子ボーン２２１の親ボーン２１１に対する姿勢が変化すれば、それと同じだけ、連結点２３１から子制御点２２２へ伸びる線分２２３の姿勢も変化する。
【００８０】
以下では、理解を容易にするため、子ボーン２２１の基準姿勢として、親ボーン２１１と子ボーン２２１が長手方向に一直線の姿勢となり、親制御点２１２と子制御点２２２とが重なる姿勢を採用する。
【００８１】
これは、親ボーン２１１として上腕を、子ボーン２２１として下腕を、親制御点２１２と子制御点２２２として肘付近の皮膚表面を採用したことに相当する。
【００８２】
図３は、親ボーン２１１に対して子ボーン２２１が姿勢を変化させた場合の親制御点２１２と子制御点２２２との位置の変化を示す説明図である。以下、本図を参照して説明する。
【００８３】
本図では、親ボーン２１１の連結点２３１側ではない端点側から、親ボーン２１１の長手方向に、親ボーン２１１および子ボーン２２１を見ている。
【００８４】
本図（ａ）に示すように、親ボーン２１１に対して子ボーン２２１が基準姿勢にあり、捻りがない場合には、親制御点２１２は子制御点２２２と重なっている。
【００８５】
本図（ｂ）（ｃ）（ｄ）（ｅ）は、それぞれ、親ボーン２１１に対して子ボーン２２１が４５度、９０度、１３５度、１８０度回転した姿勢に捻られた場合を示す説明図である。連結点２３１から親制御点２１２から子制御点２２２を見込む角度は、それぞれ、捻りの回転量と同じく、４５度、９０度、１３５度、１８０度である。
【００８６】
以下では、従来の技術と、本発明に係る技術について、順次説明する。
従来の手法では、親制御点２１２や子制御点２２２の位置を、そのままスキンの制御点の位置として採用するか、もしくは、親制御点２１２の位置と子制御点２２２の位置の重み付き平均をとり、これらの間を内分する点を採用していた。
【００８７】
図４は、図３に示す状況において、親制御点２１２と子制御点２２２からスキンの制御点の位置を求める従来の手法を説明する説明図である。以下、本図を参照して説明する。
本図に示すように、従来の手法では、親制御点２１２の位置と子制御点２２２の位置を所定の内分比（本図では１対１である）で内分する点をスキンの制御点３０１とするものである。
親ボーン２１１に対する子ボーン２２１の捻り角度が０度の場合（本図（ａ））は、スキンの制御点３０１は、親制御点２１２および子制御点２２２と重なる。
また、親ボーン２１１に対する子ボーン２２１の捻り角度が４５度、９０度、１３５度（本図（ｂ）〜（ｄ））、スキンの制御点３０１は次第に連結点２３１に近付いていき、捻り角度が１８０度（本図（ｅ））となると、スキンの制御点３０１は連結点２３１に重なってしまう。これが、捻りによって関節付近のスキンが細くなりすぎてしまう現象の原因である。
【００８８】
一方、本発明では、子ボーン２２１の姿勢の変化に連動して動く仮想点を採用し、この仮想点をそのまま（実施形態によっては重み付き平均をとって）スキンの制御点とすることによって、細くなりすぎる現象を防止する。
【００８９】
図５は、図３に示す状況において、親制御点２１２と子制御点２２２からスキンの制御点の位置を求める本発明の手法を説明する説明図である。以下、本図を参照して説明する。
【００９０】
本図に示すように、本態様では、親ボーン２１１に対して子ボーン２２１が基準姿勢にあるときに、親制御点２１２および子制御点２２２と重なる位置にある仮想点４０１を想定する。ここで、仮想点４０１と連結点２３１の距離は一定である。
【００９１】
そして、この仮想点４０１の位置（すなわち、連結点２３１と仮想点４０１を結ぶ線分の姿勢）を、子ボーン２２１の姿勢の変化に連動して動かす。本図では、連動の比例定数を、子ボーン２２１の姿勢の変化の半分としている。
【００９２】
すなわち、子ボーン２２１の捻り角度が４５度、９０度、１３５度、１８０度（本図（ｂ）〜（ｅ））となれば、仮想点４０１の回転角度は２２.５度、４５度、６７.５度、９０度（本図（ｂ）〜（ｅ））とするのである。
【００９３】
本態様では、仮想点４０１の位置をそのままスキンの制御点３０１の位置として採用する。したがって、子ボーン２２１の捻り角度がどのような角度になったとしても、スキンの制御点３０１と連結点２３１との距離は一定であり、関節付近のスキンが細くなることはない。
【００９４】
後述するように、仮想点４０１の位置の変化の連動の際の比例定数や、仮想点４０１の位置をそのままスキンの制御点３０１の位置とするのではなく、親制御点２１２や子制御点２２２（さらに、他のボーンに固定される制御点を考慮しても良い。）との重み付き平均とするなど、種々の態様が考えられる。
【００９５】
従来の手法でスキンが細くなってしまう現象は、必ずしもこのような捻りの場合だけに限られるわけではなく、曲げの場合など、さまざまな状況でも生じうる。以下では、このような従来の手法と本発明の手法を、実際の人体のコンピュータグラフィックスに適用した場合について説明する。これらの例では、連結点として肩を想定しており、鎖骨が親ボーン２１１、上腕が子ボーン２２１に相当する。
【００９６】
図６は、腕を左右に伸ばした状態を基本姿勢とした女性の人体モデルを背中側から見た様子を示す説明図である。
【００９７】
ここで、左肩では従来の手法、右肩では本発明の手法により、スキンの制御点の位置を変化させている。
【００９８】
本図では、肩甲骨が親ボーン２１１となっており、上腕骨が子ボーン２２１となっている。
【００９９】
図７は、腕を斜め前に伸ばした状態の女性の人体モデルを、背中側から見た様子を示す説明図である。
【０１００】
腕を斜め前に伸ばすと、親ボーン２１１と子ボーン２２１が連結される肩付近には曲げと捻りが生じることとなる。したがって、従来の手法による左肩ではスキンの制御点３０１の位置が関節に近付いて、スキンの形状が不自然に細くなっているのがわかる。
【０１０１】
一方、本発明の手法による右肩では、このような現象は起きておらず、肩のスキンの制御点４０１の位置が適切であるため、筋肉の盛り上がり形状をそのまま維持している。
【０１０２】
図８は、これらの人体モデルをもとに３次元グラフィックスを生成した結果を示すものであり、人体モデルを正面から見た様子を示す説明図である。
【０１０３】
本図を見てもわかる通り、本図（ａ）の基本姿勢（本図上段）では、本実施形態による右肩近傍７０１と従来技術による左肩近傍７０２は、自然な形状を保っている。
【０１０４】
しかし、本図（ｂ）のように次第に姿勢を変化させると、本実施形態による右肩近傍７０１は、適切な形状を保っているものの、従来技術による左肩近傍７０２は、いくぶん細くなっているのがわかる。
【０１０５】
さらに、本図（ｃ）のように、腕を斜め前に大きく伸ばすように姿勢が変わると、従来の手法による左肩近傍７０２の形状は不自然に細くなっているのに対し、本発明の手法による右肩近傍７０１の形状は自然な形状を保っている。
【０１０６】
図９は、本実施形態に係るスキンの制御点の位置の計算装置の概要構成を示す説明図である。図１０は、スキンの制御点の位置の計算装置８０１にて実行される計算処理の制御の流れを示す説明図である。以下、これらの図を参照して説明する。
【０１０７】
本実施形態に係るスキンの制御点の位置の計算装置８０１は、仮想空間に配置される親ボーン２１１と、当該親ボーン２１１に連結される子ボーン２２１と、に依存するスキンの制御点３０１の位置を計算するものであり、姿勢変化取得部８０２、姿勢更新部８０３、位置出力部８０４を備える。
【０１０８】
まず、姿勢変化取得部８０２は、親ボーン２１１に対する子ボーン２２１の姿勢の変化を取得する（ステップＳ９０１）。
【０１０９】
親ボーン２１１に対する子ボーン２２１の姿勢の情報は、一般には、ＲＡＭ  １０３に記憶され、プレイヤーの指示入力や、仮想空間における物理現象をシミュレートする計算によって、適宜更新される。したがって、ＣＰＵ  １０１が、ＲＡＭ  １０３等と共働して、姿勢変化取得部８０２として機能する。
【０１１０】
たとえば、プレイヤーの指示入力によって、キャラクターの肘や膝が曲がったり、捻られたりする場合、子ボーン２２１の親ボーン２１１に対する相対的な姿勢が変化することになる。そこで、姿勢変化取得部８０２は、この姿勢の変化を取得するのである。
【０１１１】
姿勢の情報の数値が変化するごとに、適切なタイミングで、本処理を開始することとするのが好ましい。典型的な姿勢の情報の数値を変化させるタイミングは、表示の垂直同期割り込みの周期ごとに訪れる。
【０１１２】
姿勢の変化は、微小時間だけ以前の姿勢からの変化量によって表現しても良いし、予め定めた基準姿勢（たとえば、肘や膝を無理なく伸ばした姿勢）からの変化量によって表現しても良い。
【０１１３】
また、親ボーン２１１に対する子ボーン２２１の姿勢の表現方法としては、親ボーン２１１に固定された座標系に対するオイラー角（ロール、ピッチ、ヨー等）によって表現する手法、クォータニオンによって表現する手法など、種々採用することができる。
【０１１４】
親ボーン２１１に固定された座標系のx-y-z軸を考えた場合、オイラー角には、以下の２種類が広く用いられている。
（１）z-x-zオイラー角。まずz軸まわりに角θ1だけ回転し、次にx軸まわりに角θ2だけ回転し、更にz軸まわりに角θ3だけ回転する。
（２）z-y-xオイラー角。x軸、y軸、z軸まわりの回転量を、それぞれロールψ1、ピッチψ2、ヨーψ3と呼ぶ。
【０１１５】
また、親ボーン２１１に固定された座標系において、ベクトル(X,Y,Z)を中心軸として、角2φだけ回転するとき、クォータニオンによる姿勢の変化の表現は、
Q = (X sinφ，Y sinφ，Z sinφ，cosφ)
と書くことができる。
【０１１６】
これらのオイラー角による回転の表現や、クォータニオンによる回転の表現は、行列演算やベクトル演算によって相互に変換が可能であり、ほぼ等価なものと考えることができる。
【０１１７】
次に、姿勢更新部８０３は、仮想点４０１の位置を更新する（ステップＳ９０２）。ここで、上述のように、仮想点４０１は、親ボーン２１１と子ボーン２２１が連結される点もしくはその近傍である連結点２３１からの距離が一定である。また、仮想点４０１の位置の更新量は、以下のように考えるものとする。
【０１１８】
すなわち、連結点２３１と仮想点４０１とを結ぶ線分の姿勢の変化が、
（ａ）親ボーン２１１に対する子ボーン２２１の姿勢が変化する前の姿勢
（ｂ）親ボーン２１１に対する子ボーン２２１の姿勢が変化した後の姿勢
の２つを補間するような姿勢変化量だけ、更新するのである。
【０１１９】
上記の例でいえば、連結点２３１は、肘関節や膝関節に相当するものであり、仮想点４０１は、肘や膝付近の皮膚表面の基準位置に相当するものである。仮想点４０１と連結点２３１との距離を一定にしていることで、膝や肘が不自然に細くなってしまうのを防止するのである。
【０１２０】
また、連結点２３１と仮想点４０１とを結ぶ線分に連動して、連結点２３１まわりで姿勢を変化させる仮想ボーン（第３のボーン）を考えることとしても良い。
【０１２１】
図１１は、仮想ボーンを想定した場合のボーンと制御点の関係を示す説明図である。以下、本図を参照して説明する。
【０１２２】
仮想ボーン７５１は、連結点２３１によって親ボーン２１１に連結されている。また、仮想点４０１の位置は、仮想ボーン７５１に固定された座標系において、一定である。本図では、仮想ボーン７５１の端点に、仮想点４０１を配置している。
【０１２３】
仮想ボーン７５１は、人間や動物には実際には存在しない仮想的な骨格である。仮想点４０１をこの仮想ボーンに固定する。そして、仮想ボーン７５１を連結点２３１で、親ボーン２１１に連結する。その上で、親ボーン２１１に固定された座標系における仮想ボーン７５１の姿勢の変化を、子ボーン２２１の姿勢の変化に連動させるのである。
【０１２４】
連結点２３１の位置は、親ボーン２１１と子ボーン２２１が連結される点と一致させるのが典型的であるが、その近傍に存在するものとしても良い。近傍に存在する場合、連結点２３１は、親ボーン２１１に対して固定された位置とするのが典型的である。
【０１２５】
仮想ボーン７５１を考えた場合には、親ボーン２１１に固定された制御点２１２や、子ボーン２２１に固定された制御点２２２の座標を求める計算は、行う必要がない。仮想ボーン７５１に固定される仮想点４０１の座標を求めれば十分だからである。なお、位置関係の理解を容易にするため、本図では、制御点２１２、２２２についても図示をしている。
【０１２６】
このように、近傍に配置することとするのは、コンピュータグラフィックスの計算ソフトウェアによっては、３つのボーンが連結する２つの位置を一致させることができない場合に備えるものである。
【０１２７】
このように考えると、コンピュータグラフィックスの計算ソフトウェアや専用ハードウェアでは、ボーンとそれぞれのボーンに固定された点の座標計算が高速にできる場合が多い。仮想ボーンを用意すると、このような高速計算をそのまま適用することができる。
【０１２８】
なお、仮想点４０１の姿勢の変化を求めるための補間の手法は、姿勢変化取得部８０２が取得した姿勢の変化を、何らかの意味で内挿・内分するものとするのが好ましい。このような補間の手法の好適例は、以下の通りである。
【０１２９】
すなわち、０より大きく１より小さい所定の比例定数kを考える。典型的には、k = 0.5とする。
（１）z-x-zオイラー角の場合、親ボーン２１１に対する子ボーン２２１の姿勢の変化が、まずz軸まわりに角θ1だけ回転し、次にx軸まわりに角θ2だけ回転し、更にz軸まわりに角θ3だけ回転するものであると考える。
【０１３０】
このとき、親ボーン２１１に対する仮想ボーンの姿勢の変化は、z-x-zオイラー角で、まずz軸まわりに角kθ1だけ回転し、次にx軸まわりに角kθ2だけ回転し、更にz軸まわりに角kθ3だけ回転する量とする。
（２）z-y-xオイラー角の場合、親ボーン２１１に対する子ボーン２２１の姿勢の変化の、x軸、y軸、z軸まわりの回転量を、それぞれロールψ1、ピッチψ2、ヨーψ3とする。
【０１３１】
このとき、親ボーン２１１に対する仮想ボーンの姿勢の変化は、x軸、y軸、z軸まわりの回転量を、それぞれロールkψ1、ピッチkψ2、ヨーkψ3とする。
（３）クォータニオンによる場合、親ボーン２１１に対する子ボーン２２１の姿勢の変化のクォータニオンQを
Q = (X sinφ，Y sinφ，Z sinφ，cosφ)
とするとき、親ボーン２１１に対する仮想ボーンの姿勢の変化のクォータニオンqを、
q = (X sin(kφ)，Y sin(kφ)，Z sin(kφ)，cos(kφ))
とする。
【０１３２】
なお、連結点２３１と仮想点４０１を結ぶ線分の姿勢の変化を直接考えることとした場合にも、上記のオイラー角やクォータニオンをそのまま採用することができる。また、比例定数kをそのまま乗じるのではなく、各パラメータを何らかの意味で補間するような計算を採用することとしても良い。
【０１３３】
仮想点４０１の位置の計算は、通常の３次元空間における回転のベクトル・行列演算や、クォータニオン演算によって求めることができる。
【０１３４】
したがって、ＣＰＵ  １０１が、ＲＡＭ  １０３等と共働して、姿勢更新部８０３として機能する。
【０１３５】
さらに、位置出力部８０４は、当該仮想点４０１の位置から、当該スキンの制御点３０１の位置を求める（ステップＳ９０３）。
【０１３６】
仮想ボーンに固定された仮想点４０１の位置を、そのままスキンの制御点３０１の位置として採用するのが典型的である。仮想点４０１の位置をそのままスキンの制御点３０１の位置とすることで、容易にスキンの制御点３０１の位置を求めることができる。
【０１３７】
仮想点４０１と連結点２３１との距離は一定であるから、親ボーン２１１に対して子ボーン２２１がどのような回転をしても、スキンの制御点３０１が連結点２３１に近付くことはない。したがって、曲げや捻りによって連結点２３１付近のスキンが細くなり過ぎてしまうことを防止することができるのである。
【０１３８】
このほか、親ボーン２１１に対する位置が固定された親制御点２１２の位置と子ボーン２２１に対する位置が固定された子制御点２２２の位置の少なくともいずれか一方と、当該仮想点４０１の位置と、の重み付き平均を求めて、当該求められた位置を、当該スキンの制御点３０１の位置とする手法もありうる。
【０１３９】
このような場合には、以下のいずれかを採用するのである。
（ａ）親制御点２１２と仮想点４０１の位置の重み付き平均
（ｂ）子制御点２２２と仮想点４０１の位置の重み付き平均
（ｃ）親制御点２１２と子制御点２２２と仮想点４０１の位置の重み付き平均
【０１４０】
この場合、仮想点４０１の位置に対する重みは、最大とすることが望ましく、典型的には、重みを０.５より大きくする。
【０１４１】
この場合、スキンの制御点３０１の位置を仮想点４０１のみならず親ボーン２１１や子ボーン２２１にも依存させることで、自然なスキンの形状を実現する状況に適合したコンピュータグラフィックスを生成することができる。
【０１４２】
最後に、位置出力部８０４は、当該スキンの制御点３０１の位置を、出力する（ステップＳ９０４）。出力結果は、ＲＡＭ  １０３に格納されるのが典型的である。
【０１４３】
上記のように、連結点２３１からの距離が一定であるような仮想点４０１の位置に基づいて、スキンの制御点３０１の位置を求めることから、肘や膝の太さを維持しようとする効果が得られるので、肘や膝を捻った場合においても、肘や膝付近のスキンが不自然に細くなってしまうことを防止することができる。
【０１４４】
このように、ＣＰＵ  １０１が、ＲＡＭ  １０３等と共働して、位置出力部８０４として機能する。
【０１４５】
本処理の終了後は、当該スキンの制御点３０１の位置に基づいて、コンピュータグラフィックスの通常の技術を採用することにより、連結される２つのボーンの連結点２３１付近のスキンの形状をできるだけ自然に変化させることができる。
【産業上の利用可能性】
【０１４６】
以上説明したように、本発明によれば、連結される２つのボーンの連結点付近のスキンの形状をできるだけ自然に変化させるのに好適な、スキンの制御点の位置の計算装置、計算方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【０１４７】
【図１】プログラムを実行することにより、本発明のスキンの制御点の位置の計算装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。
【図２】親ボーンと子ボーンの関係を示す説明図である。
【図３】親ボーンに対して子ボーンが姿勢を変化させた場合の親制御点と子制御点との位置の変化を示す説明図である。
【図４】親制御点と子制御点からスキンの制御点の位置を求める従来の手法を説明する説明図である。
【図５】親制御点と子制御点からスキンの制御点の位置を求める本発明の手法を説明する説明図である。
【図６】腕を左右に伸ばした状態を基本姿勢とした女性の人体モデルを背中側から見た様子を示す説明図である。
【図７】腕を斜め前に伸ばした状態の女性の人体モデルを、背中側から見た様子を示す説明図である。
【図８】これらの人体モデルをもとに３次元グラフィックスを生成した結果を示すものであり、人体モデルを正面から見た様子を示す説明図である。
【図９】本実施形態に係るスキンの制御点の位置の計算装置の概要構成を示す説明図である。
【図１０】スキンの制御点の位置の計算装置にて実行される計算処理の制御の流れを示す説明図である。
【図１１】仮想ボーンと制御点の位置関係を示す説明図である。
【符号の説明】
【０１４８】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
２１１  親ボーン
２１２  親制御点
２２１  子ボーン
２２２  子制御点
２２３  連結点から子制御点への線分
２３１  連結点
２６１  親ボーンのローカル座標系
３０１  スキンの制御点
４０１  仮想点
７０１  本実施形態によるスキン形状の近傍
７０２  従来技術によるスキン形状の近傍
７５１  仮想ボーン
８０１  計算装置
８０２  姿勢変化取得部
８０３  姿勢更新部
８０４  位置出力部
【図１】
2007148856.tif 000003
【図２】
2007148856.tif 000004
【図３】
2007148856.tif 000005
【図４】
2007148856.tif 000006
【図５】
2007148856.tif 000007
【図６】
2007148856.tif 000008
【図７】
2007148856.tif 000009
【図８】
2007148856.tif 000010
【図９】
2007148856.tif 000011
【図１０】
2007148856.tif 000012
【図１１】
2007148856.tif 000013