JPH11224351A - スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体 - Google Patents

スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体

Info

Publication number
JPH11224351A
JPH11224351A JP10318349A JP31834998A JPH11224351A JP H11224351 A JPH11224351 A JP H11224351A JP 10318349 A JP10318349 A JP 10318349A JP 31834998 A JP31834998 A JP 31834998A JP H11224351 A JPH11224351 A JP H11224351A
Authority
JP
Japan
Prior art keywords
skeleton model
shape
equation
boundary
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10318349A
Other languages
English (en)
Other versions
JP3265271B2 (ja
Inventor
Kentaro Yamaguchi
兼太郎 山口
Tetsuji Baba
哲治 馬場
Yoji Yoshida
洋史 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Original Assignee
Namco Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd filed Critical Namco Ltd
Priority to JP31834998A priority Critical patent/JP3265271B2/ja
Publication of JPH11224351A publication Critical patent/JPH11224351A/ja
Application granted granted Critical
Publication of JP3265271B2 publication Critical patent/JP3265271B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 複雑な拘束条件も容易に設定できるスケルト
ンモデルの形状変形方法等を提供すること。 【解決手段】 スプリング拘束を行い、1のループでの
拘束条件の有無及び境界を越えたか否かに基づいて次の
ループの拘束条件の有無を決める。スケルトンモデルが
境界を越えている場合に仮想境界まで戻し拘束条件の有
効、無効を判断する。スケルトンモデルの形状を規定す
る変数の変域を表す不等式の式及び数を一方の辺に移項
し、他辺を第2の変数の関数で置き換えた等式を導入す
る。第2の変数が収束値付近になった際に所与値を加え
る。スケルトンモデルの形状を求める反復計算ループに
て、境界への拘束条件が無効な状態で第1の計算を行
い、その後にスケルトンモデルを境界に引き寄せる第2
の計算を行う。スケルトンモデルを表す基本変数の変化
量を未知数とする第1の連立方程式が縮退状態の場合
に、式の数を減らした独立な第2の連立方程式に再構成
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はスケルトンモデルの
形状変形方法、画像合成装置及び情報記憶媒体に関す
る。
【0002】
【背景技術及び発明が解決しようとする課題】従来よ
り、インバース・キネマティクス(逆運動学)と呼ばれ
る技術が公知である。この技術では、まず図22(A)
に示すようなスケルトン(骨格)モデル20をコンピュ
ータ内に用意する。そしてユーザーは、CRT等に表示
されたスケルトンモデル20の形状を見ながら、マウス
等の入力装置を用いてこのスケルトンモデル20を変形
させ、ユーザーが意図する動き又は姿勢を作る作業を行
う。なお以下の説明においては、スケルトンモデル20
の関節点及び端点をノード、ノード同士を結ぶ骨をアー
クと呼ぶことにする。
【0003】このようなインバース・キネマティクスの
従来技術としては、例えば「人体の形状モデリングとア
ニメーション」(福井一夫、情報処理学会「人物のモデ
リングと表示技術」セミナー資料 平成3年9月)等が
ある。この従来技術では図22(B)に示すように、ス
ケルトンモデルの形状を表す基本変数としてアーク間の
角度θ1、θ2、θ3を使用する。そして従来のインバー
ス・キネマティクスが解くべき問題は、固定ノード40
を持つ直鎖状スケルトンの他端のノード42の位置
(x、y、z)を指定した時に、これを実現するアーク
間角度θ1、θ2、θ3を求めることである。そしてこの
問題は、関数f(θ1x、θ1y、θ1z、θ2x・・・・)の
逆関数f-1(x、y、z)を求めることに相当する。し
かしながら関数fは非線形となるため、この逆関数を求
めることは容易ではない。そこでx、y、zの微少変化
量△x、△y、△zを、アーク間角度の微少変化量△θ
1x、△θ1y、△θ1z、△θ2x・・・の一次式で近似す
る。これにより解くべき問題は、図22(C)に示す連
立方程式を解くことに帰着することになる。しかしなが
ら図22(C)の行列Mは正方行列ではなく、変数の数
が式の数よりも多いため、解が無数に存在する。そこで
アーク間角度の変化量の二乗和が極小になるという条件
を付加するという数学的手法を用いて、図22(C)の
連立方程式を解く。
【0004】しかしながら上記従来技術では、一端固定
の直鎖状スケルトンを対象とし、形状を表す基本変数と
してアーク間角度を用いるため、以下のような問題点が
あった。
【0005】多分岐構造を扱いにくい 従来技術において、多分岐構造(1つのノードに3本以
上のアークが接続される構造)のスケルトンモデルを扱
うためには、これを例えば図22(A)に示すように複
数の直鎖構造23〜27に分解し、更に図23(A)、
(B)に示すような親子関係を設定する必要がある。そ
して例えばスケルトンモデル20の一方の手を動かした
い場合には、ノード30をルートに設定しエフェクタと
なるノード32を動かし、他方の手を動かしたい場合に
は、ノード30をルートに設定しエフェクタとなるノー
ド34を動かす。また一方の足を動かしたい場合には、
今度はノード36をルートに設定し、エフェクタとなる
ノード38を動かすことになる。従ってユーザーは、ル
ートがどのノードでエフェクタがどのノードかを常に気
にしながら作業を行う必要があり、作業が繁雑化してい
た。
【0006】複雑な拘束条件を扱うのが困難 例えば複数のノードに対して拘束条件が設定されている
場合、これに応じてスケルトンを直鎖構造に分解して扱
う必要があり、処理が複雑になる。また一般に拘束条件
はノード座標の式として表される。例えば図22(A)
のノード38をポリゴンに拘束する場合には、ノード3
8がポリゴン上に常に位置することを規定する式を用い
ることになる。しかしながら従来技術では、基本変数が
アーク間の角度となるため、上記のような式を用いるこ
とが難しく、拘束条件を扱いにくかった。
【0007】複数のノードを同時に異なる方向に移動
させるのが困難 即ち従来の技術では、例えばノード38とノード39を
異なる方向に移動させようとした場合、処理が極めて複
雑化する。
【0008】本発明は、以上のような技術的課題に鑑み
てなされたものであり、その目的とするところは、多分
岐構造のスケルトンモデルも容易に扱え、複雑な拘束条
件も容易に設定することができるスケルトンモデルの形
状変形方法、画像合成装置及び情報記憶媒体を提供する
ことにある。
【0009】
【課題を解決するための手段】上記課題を解決するため
に本発明は、スケルトンモデルの形状変形方法であっ
て、スケルトンモデル又はこれに付随して動くオブジェ
クトが所与の境界を越えた場合に、スケルトンモデル又
はオブジェクトを前記境界側に戻す拘束条件の下でスケ
ルトンモデルの形状を変形し、スケルトンモデルの形状
を求める反復計算の1の反復ループが前記拘束条件が無
効な状態で行われ且つスケルトンモデル又はオブジェク
トが前記境界を越えていない場合には、次の反復ループ
においても前記拘束条件を無効な状態にして計算を行
い、前記1の反復ループが前記拘束条件が無効な状態で
行われ且つスケルトンモデル又はオブジェクトが前記境
界を越えている場合には、次の反復ループにおいては前
記拘束条件を有効な状態にして計算を行い、前記1の反
復ループが前記拘束条件が有効な状態で行われ且つスケ
ルトンモデル又はオブジェクトが前記境界を越えている
場合には、次の反復ループにおいても前記拘束条件を有
効な状態にして計算を行い、前記1の反復ループが前記
拘束条件が有効な状態で行われ且つスケルトンモデル又
はオブジェクトが前記境界を越えていない場合には、次
の反復ループにおいては前記拘束条件を無効な状態にし
て計算を行うことを特徴とする。
【0010】本発明によれば、スケルトンモデル等が境
界にスプリング的に拘束されるため、例えばユーザー
が、スケルトンモデルを境界の方に移動させているの
か、境界から離れる方に移動させているのかを容易に判
断できる。そして拘束条件を決定するための繰り返し計
算が必要なくなるため、処理速度を格段に向上できる。
【0011】また本発明は、スケルトンモデル又はオブ
ジェクトと前記境界との距離を含む式の値をほぼ極小、
ほぼ極大及びほぼ停留のいずかにする拘束条件の下でス
ケルトンモデルの形状を変形させること特徴とする。
【0012】このようにすることで、スケルトンモデル
とオブジェクトとの干渉機能等の実現が容易になる。
【0013】また本発明は、前記境界から所与の間隔だ
け離れた位置に仮想境界を設け、スケルトンモデル又は
オブジェクトが前記境界を越えている場合にスケルトン
モデル又はオブジェクトを前記仮想境界まで戻すと共
に、前記境界の代わりに前記仮想境界を用いて拘束条件
の有効、無効の判断を行うことを特徴とする。
【0014】このようにすることで、例えばノード等と
オブジェクトとの多重衝突時の問題を簡易に解消でき
る。
【0015】また本発明は、スケルトンモデルの形状変
形方法であって、スケルトンモデルの形状を規定する少
なくとも1つの第1の変数の変域が、第1の変数を含む
不等式により表される場合において、前記不等式の全て
の式及び数を左辺及び右辺のいずれか一方の辺に移項し
他方の辺を第2の変数の恒常的に正又は負又は非負又は
非正になる関数で置き換えた等式を導入し、前記不等式
に代えて前記等式により第1の変数の変域を規定するこ
とで不連続な拘束条件の下でのスケルトンモデルの形状
変形を行うことを特徴とする。
【0016】例えばアーク間の角度、ノード座標、アー
ク法線ベクトルの成分等の第1の変数の変域の設定は、
通常は不等式を用いて行うことができる。本発明によれ
ば、この不等式が、変域の設定に関してこの不等式と同
等の効果を持つ等式に置き換えられる。そして、この等
式に基づいて第1の変数の変域が規定され、スケルトン
モデルの形状変形に対して不連続な拘束条件が与えられ
ることになる。このように不等式を等式に置き換えるこ
とで、不等式を用いる場合に必要な場合分け等の手間を
省くことができ、処理を高速化できる。また等式であれ
ば、例えばスケルトンモデルに拘束条件を課すための式
に容易に組み込むことができ、処理を簡易化できる。
【0017】また本発明は、前記第2の変数の変化量を
含む式の値が、ほぼ極小、ほぼ極大及びほぼ停留のいず
れかになるようにスケルトンモデルの形状を変形するこ
とを特徴とする。
【0018】本発明によれば、第2の変数の値が大きく
変動することを防止できる。これにより、第2の変数に
暴れが生じ第1の変数が変域内に拘束されなくなるとい
う事態を効果的に防止できる。
【0019】また本発明は、前記第2の変数が所与の収
束値の付近の値になった際に、前記第2の変数に所与の
値を加えることを特徴とする。
【0020】第2の変数が所与の収束値に収束し、その
収束状態から抜けるのに多くの時間を要してしまうと、
例えばユーザーの入力に対するスケルトンモデルの応答
速度が低下する。本発明によれば、第2の変数が収束値
に収束する前に第2の変数に所与の微少量の値が加えら
れる。従って、第2の変数が収束値に収束することが防
止され、上記のような応答速度の低下の問題を解消でき
る。なお第2の変数に加える所与の値としては乱数を用
いることが望ましい。
【0021】また本発明は、スケルトンモデルの形状変
形方法であって、スケルトンモデルの形状を求める反復
計算の1の反復ループにおいて、スケルトンモデル又は
これに付随して動くオブジェクトを所与の境界に拘束す
る拘束条件が無効な状態で第1の計算を行い、前記1の
反復ループにおいて、前記第1の計算の後に、スケルト
ンモデル又はオブジェクトと前記境界が所与の位置関係
にある場合にスケルトンモデル又はオブジェクトを前記
境界に引き寄せる第2の計算を行うことを特徴とする。
【0022】本発明によれば、まず拘束条件が無効な状
態で第1の計算が行われ、その後に、スケルトンモデル
等を境界に引き寄せる第2の計算が行われる。従って、
1の反復ループにおいて2回の計算を行うだけで、スケ
ルトンモデル等を境界に拘束することができる。このた
め、1の反復ループにもう1つの反復ループが含まれて
しまう従来の手法に比べ、反復計算の際の処理速度を格
段に向上できる。なおスケルトンモデル等を境界に引き
寄せる第2の計算は、スケルトンモデル等と境界との位
置関係を判断材料にして、必要に応じて行えばよい。
【0023】また本発明は、前記第1の計算において、
スケルトンモデル又はオブジェクトの前記境界方向への
移動量を含む式の値がほぼ極小、ほぼ極大及びほぼ停留
のいずれかになるように計算を行い、前記第2の計算に
おいて、スケルトンモデル又はオブジェクトと前記境界
との距離を含む式の値がほぼ極小、ほぼ極大及びほぼ停
留のいずれかになるように計算を行うことを特徴とす
る。
【0024】本発明によれば、境界方向への移動量を含
む式をほぼ極小等にすることで、境界に拘束されるべき
スケルトンモデル等が境界から離れすぎて引き戻し不能
になるという事態を防止できる。また境界との距離を含
む式をほぼ極小等にすることで、スケルトンモデル等の
境界への引き戻しを簡易に実現できる。
【0025】また本発明は、前記境界が、有限の面又は
有限の線であることを特徴とする。
【0026】このように有限の面、有限の線(例えば有
限の大きさのポリゴン、有限の長さのポリゴンエッジ
等)にスケルトンモデルを拘束できることで、ユーザー
の利便性を向上できる。なお無限の面、無限の線に拘束
する場合は、例えばポリゴンの大きさやエッジの長さを
十分に大きくすることで対応できる。
【0027】また本発明は、スケルトンモデルの形状変
形方法であって、スケルトンモデルを、スケルトンモデ
ルのノードの座標を含む基本変数により表し、前記基本
変数の変化量を未知数とする第1の連立方程式が縮退又
はそれに近い状態にあるか否かを判断し、前記第1の連
立方程式が縮退又はそれに近い状態にあると判断された
場合に、前記第1の連立方程式を式の数を減らした独立
な第2の連立方程式に再構成し、再構成された第2の連
立方程式の解を求めることでスケルトンモデルの形状変
形を行うことを特徴とする。
【0028】例えば第1の連立方程式が従属な式を含み
縮退した状態になると、第1の連立方程式の解が不定に
なるという事態が生じる。このような場合に、本発明に
よれば、式の数を減らした独立な第2の連立方程式が再
構成される。従って、上記のような解不定の事態が生じ
ても、解を一意的に定めることが可能となり、ノード座
標を基本変数として含むスケルトンモデルの適正な形状
変形が可能となる。
【0029】また本発明は、前記第1の連立方程式が、
スケルトンモデルのアークの長さが所与の値となること
を規定する式の解を求めるための式であることを特徴と
する。
【0030】例えば一端が固定ノードに接続される第1
のアークの長さを規定する第1の式と、一端が固定ノー
ドに接続され他端が第1のアークの他端に接続される第
2のアークの長さを規定する第2の式がある場合を考え
る。この場合、第1、第2の式は共に、第1、第2のア
ークの接続点にある第1のノードの座標を規定するもの
となる。しかしながら第1の式による規定と第2の式に
よる規定が同じ意味になる場合があり、この場合には第
1の式と第2の式は互いに従属な関係になってしまう。
第1、第2の式が従属な関係になると、これらの第1、
第2の式の解を求めるための第1の連立方程式は縮退し
た状態になってしまう。本発明によれば、このような場
合にも、独立な第2の連立方程式を再構成することで、
適正な解を得ることが可能となる。
【0031】また本発明に係る画像合成装置は、上記の
いずれかの形状変形方法により変形されるスケルトンモ
デルの形状を出力する手段と、操作者がスケルトンモデ
ルの変形を指示するための操作手段とを含むことを特徴
とする。
【0032】これにより、本発明の形状変形方法を用い
た形状データ作成ツール等の実現が可能となる。
【0033】また本発明に係る画像合成装置は、上記の
いずれかの形状変形方法により変形されるスケルトンモ
デルに付随して動くオブジェクトの画像を出力する手段
を含むことを特徴とする。
【0034】これにより、本発明の形状変形方法により
得られた形状データを使用したゲーム装置等の実現が可
能となる。
【0035】また本発明は、スケルトンモデルの形状変
形方法であって、スケルトンモデルを、スケルトンモデ
ルのノードの座標を含む基本変数により表し、スケルト
ンモデルのアークの長さが所与の値となることを規定す
る式を含み前記基本変数を未知数とする基本式と、前記
基本式を満たす解を一意的に特定するための評価式の少
なくとも一方を、所与の情報に基づいて変化させ、基本
式をほぼ満たし且つ評価式の値をほぼ極小、ほぼ極大及
びほぼ停留のいずれかにする基本変数の解を求め、求め
られた解に基づいてスケルトンモデルの形状を変形する
ことを特徴とする。
【0036】本発明によれば、スケルトンモデルが、ノ
ード座標を含む基本変数により表されると共に、評価式
の値をほぼ極小等にする条件の付加により基本式をほぼ
満たす解が一意的に特定され、スケルトンモデルの形状
が決定される。従って、本発明によれば、全てのノード
を対等に扱うことが可能となり、多分岐構造のスケルト
ンモデルの取り扱いが容易になる。また拘束条件はノー
ドの座標に基づいて規定される場合が多いため、本発明
によれば、複雑な拘束条件の設定にも容易に対応でき
る。
【0037】また本発明は、前記基本変数が、アークに
垂直なアーク法線ベクトルの成分を含み、前記基本式
が、前記アーク法線ベクトルの長さが所与の値となるこ
とを規定する式と、前記アーク法線ベクトルがアークに
垂直になることを規定する式とを含むことを特徴とす
る。
【0038】本発明によれば、基本変数としてアーク法
線ベクトルが使用されるため、全てのアークを対等に扱
うことが可能となり、多分岐構造のスケルトンモデルの
取り扱いが容易となる。
【0039】また本発明は、前記基本変数が、アークに
垂直なアーク法線ベクトルの成分を含み、前記アーク法
線ベクトルの成分の変化量を所与の1つの変数により表
して基本変数の解を求めることを特徴とする。
【0040】本発明によれば、アーク法線ベクトルの成
分の変化量が所与の1つの変数により表されるため、解
くべき未知数の数を減らすことができ、処理の高速化を
図れる。なおアーク法線ベクトルの成分の変化量は、所
与の1つの変数の1次式で表すことが特に望ましい。
【0041】また本発明は、前記基本変数が、アークに
垂直なアーク法線ベクトルの成分を含み、アーク間のな
す角度の変化量、ノードと所与の点との間の距離、端部
に固定ノードを持つアークの向きの変化量、ノード座標
の変化量及びノード座標の速度変化量の少なくとも1つ
を含む評価式の値がほぼ極小、ほぼ極大及びほぼ停留の
いずれかになるように基本変数の解を求めることを特徴
とする。
【0042】評価式に、アーク間角度の変化量を含ませ
ることで、スケルトンモデルをバランス良く変形させる
ことが可能となり、ノードと所与の点との間の距離を含
ませることで、ラバーバンド等の設定が可能となる。ま
た評価式にノード座標の変化量や速度変化量を含ませる
ことで、解不定や、スケルトンモデルに暴れが生じたり
することを防止できる。
【0043】また本発明は、前記基本変数の解を反復計
算により求めると共に、前記基本式、前記評価式の少な
くとも一方を反復ループの終了又は開始に同期させて所
与の情報に基づいて次々に変化させることを特徴とす
る。
【0044】ニュートン法等の反復法を用いる場合、通
常、計算が収束するまで式の既知数や形は変化しない。
本発明によれば、計算が収束する前に、例えば1反復ル
ープ毎或いは2、3反復ループ毎に、基本式、評価式が
次々に変化する。このようにすることで、例えば所与の
情報が、ユーザの操作するマウスのカーソル位置座標で
あった場合には、ユーザーの入力に対して十分な追従性
を持った形状変形が可能となり、ユーザーの利便性を向
上できる。なお誤差が大きくなる場合には、スケーリン
グによる補正を行うことが望ましい。
【0045】また本発明は、固定されたノードの座標又
は固定されたアーク法線ベクトルの成分を既知数とする
ことを特徴とする。
【0046】このようにすることで、ノードの座標、ア
ークの方向を簡易に固定することが可能となり、ユーザ
ーの利便性の向上を図れる。また未知数の数を減らすこ
とができ、処理を高速化できる。
【0047】また本発明は、前記評価式が、アーク間の
なす角度を所与の範囲に拘束する式、ノードを所与の面
又は所与の線に拘束する式及びスケルトンモデル又はこ
れに付随して動く第1のオブジェクトと他の第2のオブ
ジェクトとの干渉時にスケルトンモデル又は第1のオブ
ジェクトを第2のオブジェクトに拘束する式の少なくと
も1つを含むことを特徴とする。
【0048】このように本発明によれば、評価式に上記
のような種々の式を含ませるだけで、アーク間角度の可
動範囲の制限やノードの所与の面等へのアタッチやスケ
ルトンモデルとオブジェクトとの干渉等の拘束条件を、
簡易に設定できる。
【0049】また本発明は、スケルトンモデルの形状変
形方法であって、スケルトンモデルを、スケルトンモデ
ルのノードの座標、スケルトンモデルのアークに垂直な
アーク法線ベクトルの成分を含む基本変数により表し、
アーク間のなす角度の変化量、ノードと所与の点との間
の距離、端部に固定ノードを持つアークの向きの変化
量、ノード座標の変化量及びノード座標の速度変化量の
少なくとも1つを含む式の値がほぼ極小、ほぼ極大及び
ほぼ停留のいずれかになるようにスケルトンモデルの形
状を変形することを特徴とする。
【0050】本発明によれば、ノード座標、アーク法線
ベクトルの成分が基本変数となるため、全てのノード、
アークを対等に扱え、多分岐構造の扱いが容易になる。
またアーク間角度の変化量を含む式を極小化すること等
により、バランスの良い形状変形が可能となる。
【0051】また本発明は、スケルトンモデルの形状変
形方法であって、スケルトンモデルを、スケルトンモデ
ルのノードの座標を含む基本変数により表し、スケルト
ンモデルの形状変形を制御する所与の点の座標が変化し
た場合に、ノードと前記所与の点との間の距離が極小に
なるようにスケルトンモデルの形状を変形することを特
徴とする。
【0052】本発明によれば、いわゆるラバーバンドの
設定等が可能となり、適正な形状を初期状態として形状
変形を行うことができるため、バランスの良い形状変形
が可能となる。
【0053】また本発明は、2個以上のノードとこれら
の各々に関連づけられる2個以上の所与の点との間の距
離が極小になるようにスケルトンモデルの形状を変形す
ることを特徴とする。
【0054】本発明によれば、2個以上の所与の点を制
御点としてスケルトンモデルの形状を変形することが可
能となり、ユーザの利便性を向上できる。
【0055】また本発明は、スケルトンモデルの形状変
形方法であって、スケルトンモデルを、スケルトンモデ
ルのノードの座標を含む基本変数により表し、前記基本
変数を含む式の解を反復計算により求めると共に、前記
式を反復ループの終了又は開始に同期させて所与の情報
に基づいて次々に変化させることを特徴とする。
【0056】本発明によれば、計算が収束する前に、例
えば1反復ループ毎或いは2、3反復ループ毎に、基本
式、評価式が次々に変化するため、スケルトンモデルの
素早い形状変形が要求された場合でも、見た目の形状が
それほど不自然にならない状態で、これに対応すること
ができる。
【0057】
【発明の実施の形態】以下、本発明の実施例について、
図面に基づいて詳細に説明する。
【0058】1.実施例の概要 基本原理 本実施例では、図1(A)に示すように、スケルトンモ
デル18を表す基本変数として、ノード2、3、4の座
標(x、y、z)、アーク6、7、8に垂直なアーク法
線ベクトル10、11、12の成分(u、v、w)を使
用する。例えばアーク間角度を基本変数とする図22
(A)、(B)、(C)の従来例では、親子関係を設定
する必要があり、ノード、アークを対等に扱えないが、
基本変数としてノード座標、アーク法線ベクトルを用い
る本実施例では、全てのノード、アークを対等なものと
して扱うことが可能となる。なお例えばアーク法線ベク
トルを他の変数で代替えすることも可能である。
【0059】次に図1(B)に示すように、上記基本変
数を未知数とする基本式として、アークの長さが所与の
値となることを規定する式、アーク法線ベクトルの長さ
が所与の値となることを規定する式、アーク法線ベクト
ルがアークに垂直になることを規定する式を用意する。
なお例えば基本式g=0、h=0を他の式で代替えする
ことも可能である。
【0060】ここで図1(B)に示す基本式は非線形と
なる。そこで本実施例ではニュートン法等の反復計算法
により解を求める。このようにニュートン法等を用いる
ことで、基本式を、基本変数の変化量の1次式で表すこ
とが可能となる。これにより解くべき連立方程式は図1
(C)に示すものになる。
【0061】しかしながら図1(C)の式では、変数の
数が式の数よりも多い。そこで本実施例では、基本式を
満たす解を一意的に特定するための評価式を用意する。
そして評価式の値をほぼ極小、ほぼ極大及びほぼ停留の
いずれかにするという条件を付加し、ラグランジュの乗
数法を適用して基本変数の解を求める。ラグランジュの
乗数法を用いることで、解くべき式は図1(D)のよう
になり、変数の数が式の数と一致するため、解を一意的
に定めることが可能となる。
【0062】なお本実施例では、ユーザーが動かすマウ
スのカーソル位置の座標等に基づいてスケルトンモデル
を変形させる。この時、所与の情報である上記カーソル
位置の座標等に基づいて基本式、評価式が変化する。具
体的にはカーソル位置の座標等に基づいて基本式や評価
式に含まれる既知数、式自体の形が変化し、これにより
スケルトンモデルの形状が変形する。なお上記所与の情
報としては、カーソル位置の座標のみならず、予め用意
されたデータ等、種々のものを用いることができる。
【0063】アーク法線ベクトルの変化量の一次近似 さて本実施例では、図2(A)に示すように、アーク法
線ベクトルn(u、v、w)の変化量を、所与の1つの
変数であるρにより表して基本変数の解を求めている
(後述するアルゴリズム2を参照)。より具体的には、
アーク法線ベクトルnの変化量を、変数ρの一次式で近
似する。アーク法線ベクトルnはu、v、wの3変数で
表されるが、図2(A)に示すようにnはアーク50に
垂直且つ大きさが一定であるため、実際にはnの自由度
は1である。従ってnの変化量も1つの変数ρで表すこ
とが可能であり、これにより解くべき基本変数の数を減
らすことができ、処理の高速化を図れる。
【0064】評価式 また本実施例では好ましいスケルトンモデルの変形を得
るために、アーク間角度の変化量、ノードと所与の点と
の間の距離、端部に固定ノードを持つアークの向きの変
化量、ノード座標の変化量及びノード座標の速度変化量
等を評価式に含ませている。より具体的には、図2
(B)に示すように評価式に種々の条件を加えている。
例えば評価式にアーク間角度の変化量を含ませ、アーク
間角度の変化量の2乗和を極小化等することにより、あ
る1組のアーク間だけが突出して曲がる等の事態を防止
し、アーク間の曲げを全体的にバランスの良いものにす
ることができる。また評価式にノードと所与の点との間
の距離を含ませ、後述するラバーバンド等の設定を行う
ことにより、適正な形状を初期状態にして変形を開始す
ることができ、バランスの良いスケルトンモデルの形状
変形を実現できる。また端部に固定ノードを持つアーク
の向きの変化量、ノード座標の変化量を評価式に含ま
せ、固定ノード周りのアーク回転ダンパー、ノードダン
パー等を設定することで、解が不定になることを防止で
きる。またノード座標の変化量、ノード座標の速度変化
量を評価式に含ませ、ノードダンパー、ノードイナーシ
ャを設定することで、計算の収束が安定しないことに起
因するアークの暴れを防止できる。
【0065】反復ループ毎の基本式、評価式の更新 本実施例の使用法としては、リアルタイム、非リアルタ
イムの両方が考えられる。非リアルタイム使用の場合
は、計算を十分に収束させてから、スケルトンモデルの
形状を更新すればよい。一方、リアルタイム使用の場合
は、ユーザーの入力に対して十分な追従性が必要とな
る。
【0066】そこで本実施例では、図3(A)に示すニ
ュートン法等の反復計算により基本変数の解を求めると
共に、基本式、評価式の少なくとも一方を、反復ループ
の終了又は開始に同期させて所与の情報に基づいて次々
に変化させている。
【0067】例えば計算処理において、マウスカーソル
の座標値を得てから、これをもとにスケルトンモデルの
変形を行い、その結果を表示するまでの処理過程を1イ
ベントサイクルと呼ぶことにする。ユーザーは、ピック
されたノードの位置を、時々刻々マウスをドラッグする
ことで移動させるので、これに追従してスケルトンモデ
ルを変形させるには、1イベントサイクル中の計算量を
なるべく小さくする必要がある。そこで本実施例では、
マウスドラッグ中は、1イベントサイクルの間にニュー
トン法等の反復計算を例えば1反復ループだけ実行する
手法を用いる。具体的には図3(B)に示すように、マ
ウスカーソルの位置座標を得ると、この位置座標に基づ
いて基本式や評価式の既知数や式自体の形を変化させ、
例えば1反復ループ分だけ反復計算を実行する。
【0068】この手法を採用すると、マウスドラッグ中
は計算は収束せず基本式が満たされないため、例えばア
ークの長さが本来の長さより伸びる等の可能性がある。
しかしながら、その伸び量は実用上問題のないレベルで
ある。またスケルトンモデルの形状を微妙に調整する際
には、マウスの動きは遅くなるため、スケルトンモデル
は収束形状に近い状態で変形する。そしてマウスの動き
が止まれば、計算は収束し、正確なスケルトンモデルの
形状を得ることができる。
【0069】なお本実施例では、反復計算の1反復ルー
プでの変数の変化量が大きい場合には、スケーリング補
正を行う。これにより反復ループ毎に基本式、評価式を
変化させる上記手法を用いても、スケルトンモデルが不
自然な形状になることを防止できる。また上記では、1
反復ループ毎に基本式等を変化させたが、本実施例はこ
れに限らず、例えば2反復ループ毎、3反復ループ毎に
基本式等を変化させてもよい。即ち少なくとも反復ルー
プの終了又は開始に同期させて基本式等を次々に変化さ
せるものであればよい。
【0070】固定ノード、固定アーク法線ベクトル また本実施例では、固定されたノードの座標又は固定さ
れたアーク法線ベクトルの成分を既知数として扱ってい
る。例えば図4に本実施例によるスケルトンモデル52
の形状変形の例を示す。ここでノード54、56が固定
ノードとなる。一方、ノード58はユーザーがピックし
たノードであり、ユーザーがマウスをドラッグしノード
58を移動させることでスケルトンモデルの形状が変形
する。そして固定ノード54、56の座標は基本式等の
既知数となり、他のノードの座標やアーク法線ベクトル
の成分が求めるべき未知数となる。従ってノード58を
動かすと、スケルトンモデル52のノード58の部分の
みならずスケルトンモデル52の全体が滑らかに変形す
ることになる。
【0071】なお図4では、ノードを固定しているが、
アークの向く方向を固定する、即ちアーク法線ベクトル
の方向を固定することも可能である。この場合には固定
されたアーク法線ベクトルの成分が既知数になる。
【0072】図22(A)、(B)、(C)に示す従来
例では、固定ノードはルート、移動可能ノードはエフェ
クタに限定されていたが、本実施例によれば、ユーザー
は、親子関係等を気にせず、所望のノード、アークを自
由に固定したり移動したりすることができる。これは本
実施例では基本変数としてノード座標、アーク法線ベク
トルを採用しており、全てのノード、アークを対等に扱
うことができるからである。
【0073】ラバーバンド 本実施例では、ラバーバンドという概念を導入してスケ
ルトンモデルの形状変形を行っている。即ちスケルトン
モデルの形状変形を制御する所与の点の座標が変化した
場合に、ノードと前記所与の点との間の距離が極小にな
るようにスケルトンモデルの形状を変形させている。例
えば図5(A)において、ノード58を固定しノード6
0を移動させる場合を考える。ラバーバンドは根と先を
持ち、根は、マウスの動きに合わせて移動し、先は、ピ
ックされたノードに固定される。そしてユーザーがマウ
スをクリックしマウスカーソルが点62からまだ動いて
いない状態では、ラバーバンドの根及び先はノード60
の位置にある。図5(B)に示すように、ユーザーがマ
ウスをドラッグしマウスカーソルを点62から点64に
動かすと、ラバーバンド66の根がノード60の位置か
ら点68に移動する。この時、ラバーバンド66の先は
ノード60の位置に固定されたままとなる。このラバー
バンド66は縮もうとする性質、即ちノード60と所与
の点68との間の距離を極小にしようとする性質を持っ
ている。これにより図5(C)に示すように、ノード6
0は点68まで移動し、スケルトンモデルの形状が変形
する。
【0074】なお図4のノード58の移動をラバーバン
ドを用いて行った場合には、ノード58の座標は未知数
となる。一方、ラバーバンドを介さず直接にユーザーが
ノード58を動かす場合や、予め用意されたデータに基
づいてノード58の座標を変化させる場合には、ノード
58の座標は既知数になる。
【0075】また本実施例では、図6に示すように、2
個以上のノード、例えばノード58、59を同時に移動
させることもできる。この場合には、図5(D)、
(E)に示すように、2つのラバーバンド66、67が
生成され、ノード60、61と所与の点68、69の間
の距離が極小になるようにラバーバンド66、67が変
形する。
【0076】図7に、より複雑な多分岐構造を持つスケ
ルトンモデル70の形状変形の例を示す。ここではノー
ド72、74及びアーク73が固定され、ノード76が
ラバーバンドを介して動かされている。このように本実
施例によれば、従来例と異なり、多分岐構造の複雑さに
依存せずにスケルトンモデルを滑らかに形状変形でき
る。
【0077】拘束条件 -1 拘束条件の種類 本実施例では、以下に示すように、スケルトンモデルの
形状変形に対して種々の拘束条件の設定が可能となって
いる。
【0078】第1に本実施例では、ノードの位置やアー
クの方向を固定する拘束条件の設定が可能であり、これ
は上述したように、固定ノードの座標や固定アークのア
ーク法線ベクトルを既知数として扱うことで実現でき
る。
【0079】第2に本実施例では、スケルトンモデルの
アーク間のなす角度に可動範囲を設ける拘束条件の設定
が可能となっている。例えば図8(A)、(B)では、
スケルトンモデル77のアーク78、80間の角度θが
180度以下となるような不連続な拘束条件が設定され
ている。即ちスケルトンモデルの形状変形の際に肘関節
が逆に折れしてしまうと不自然であり、このような拘束
条件を設定することでユーザーの利便性を高めることが
できる。なおこの拘束条件は、例えばアーク間のなす角
度を所与の範囲に拘束する式を評価式に含ませることで
実現できる。
【0080】第3に本実施例では、スケルトンモデルの
ノードを所与の面又は線、例えばポリゴンやそのエッジ
に拘束する条件の設定が可能となっている。以下、特定
のノードを、指定されたポリゴンまたはエッジの上に拘
束する操作をアタッチと呼ぶことにする。例えば図9
(A)では、スケルトンモデル81のノード82がユー
ザーの指定によりポリゴン84にアタッチされており、
図9(B)では、ノード82がエッジ86にアタッチさ
れている。ここで本実施例の特徴は、ノード82を、ポ
リゴン84或いはエッジ86に不連続に拘束できる点で
ある。即ち図9(A)では、ノード82は、ポリゴン8
4の面内でのみで移動可能となっており、ポリゴン84
のエッジを越えて移動することはできない。また図9
(B)では、ノード82は、エッジ86の線内でのみで
移動可能となっており、頂点を越えて移動することはで
きない。このようにポリゴン、エッジにノードを不連続
に拘束できることで、ユーザーの利便性を向上できる。
【0081】図10に、上記のアタッチ機能を利用して
スケルトンモデルに壁登りを行わせた例を示す。スケル
トンモデル88のノード90、91、92、93(手足
の先に相当)は第1の壁オブジェクト96にアタッチさ
れている。一方、スケルトンモデル88のノード94、
95(背中に相当)は、第1の壁オブジェクト96と所
与の間隔だけ離して置かれている第2の壁オブジェクト
98にアタッチされている。このように第2の壁オブジ
ェクト98を設けることで、胴体を第1の壁オブジェク
ト96からほど良い距離だけ保った状態でスケルトンモ
デル88を変形移動できる。なお図11に、スケルトン
モデル88、第1、第2の壁オブジェクト96、98の
位置関係を明らかにするための図を示す。図10では、
ノード91は第1の壁オブジェクト96にアタッチされ
ると共にその座標が固定されている。またノード89も
座標が固定されている。そしてユーザーがノード87及
び90をピックして移動すると、その移動に伴いスケル
トンモデル88が形状変形しながら壁を登る。この時、
ノード92、93、94、95は、第1、第2の壁オブ
ジェクト96、98にアタッチされているため、これら
の壁オブジェクトの面内に拘束されながら移動すること
になる。
【0082】第4に、本実施例では、スケルトンモデル
とオブジェクトの干渉時に、スケルトンモデルがオブジ
ェクトに侵入したり通り抜けたりしないようにする拘束
条件の設定が可能となっている。例えば図12に示すよ
うに、鞭を表すスケルトンモデル100と円柱オブジェ
クト102との干渉時において、スケルトンモデル10
0は、円柱オブジェクト102の中に侵入せずに巻き付
くように形状変形する。このような拘束条件は、スケル
トンモデルとオブジェクトの干渉時にスケルトンモデル
をオブジェクトに拘束する式を評価式に含ませることで
実現できる。
【0083】-2 不連続拘束条件の改良 以上のような不連続な拘束条件を扱う場合には、以下の
ような問題がある。即ちこれまでの一般的な手法では、
図13(A)に示すように、まず拘束条件が無効な状態
(フリー)で計算を行い、例えばスケルトンモデルのノ
ードとオブジェクトがぶつかったと判断されると、拘束
条件を有効な状態(ノードをオブジェクトに完全に拘
束)にして計算をやり直す。計算の結果、オブジェクト
にぶつかる他のノードが検出されたら、再度計算をやり
直す。この手法では、拘束条件が有効な状態の時にノー
ドはオブジェクトに完全に拘束される。従って、ユーザ
ーが、スケルトンモデルをオブジェクトの方向に移動さ
せたのか、オブジェクトから離れる方向に移動させたの
かを判別するため、初めに拘束条件が無効な状態で計算
を行う必要がある。逆に初めに拘束条件が有効な状態で
計算を行うと、ノードはオブジェクトに完全に拘束され
てしまうため、ユーザーがどちらの方向にオブジェクト
を移動させているのかを判別できない。
【0084】このように上記手法によると、1つの反復
ループの中で、拘束条件が無効な状態での計算と、拘束
条件を決定するための反復計算が必要になる。即ち、1
つの反復ループの中にもう1つの反復ループが含まれ、
反復ループが2重になってしまうため、処理速度が大幅
に低下する。
【0085】そこで本実施例では、図13(B)に示す
ような手法により不連続な拘束条件を扱っている。まず
スケルトンモデル(或いはこれに付随して動くオブジェ
クト)が、所与の境界を越えた場合に、スケルトンモデ
ルを境界側に戻す拘束条件の下でスケルトンモデルの変
形を行う。即ち拘束条件が有効な状態ではノード等は境
界に完全拘束されず、いわゆるスプリング(バネ)拘束
される。スプリング拘束により境界に拘束することで、
ユーザーがスケルトンモデルを、オブジェクト等の境界
の方向に移動させているのか或いは境界から離す方向に
移動させているのかを判断できる。
【0086】スケルトンモデルの形状を求める反復ルー
プが拘束条件が無効な状態で行われ且つスケルトンモデ
ルのノード106やアークが境界104を越えていない
場合には、次の反復ループにおいても拘束条件を無効な
状態にして計算を行う。
【0087】一方、反復ループが拘束条件が無効な状態
で行われ且つノード106等が境界104を越えている
場合には、境界104の方向にユーザーがスケルトンモ
デルを移動させていると判断できるため、次の反復ルー
プにおいては拘束条件を有効な状態にして計算を行う。
この場合、必要に応じて、計算結果をスケーリングし、
ノード106を位置107に戻す補正を行う。
【0088】また反復ループが拘束条件が有効な状態で
行われ且つノード106等が境界104を越えている場
合には、次の反復ループにおいても拘束条件を有効な状
態にして計算を行う。なお拘束条件が有効な状態では強
力なスプリング拘束が付加されるため、ノード104の
突き抜けは、ユーザに気づかれないほどの微少なものと
なる。
【0089】一方、反復ループが拘束条件が有効な状態
で行われ且つノード106等が境界104を越えていな
い場合には、境界104から離れる方向にユーザーがス
ケルトンモデルを移動させていると判断できるため、次
の反復ループにおいては拘束条件を無効な状態にして計
算を行う。この場合、拘束条件を無効な状態にして再計
算を行う。但し、境界104から離れる方向にスケルト
ンモデルを移動している場合には、次の反復ループで適
正な計算結果を得ることができるため、この再計算は省
略することができる。
【0090】以上のような手法で不連続な拘束条件を扱
うことで、反復ループでの計算の処理量を、図13
(A)に比べて格段に減らすことができ、処理の高速化
を図れる。
【0091】-3 不連続拘束条件を規定する不等式の
等式への置き換え 本実施例では、後述のアルゴリズム1の(アーク間角
度範囲の設定)及び図18(A)〜(C)で詳述するよ
うに、不連続拘束条件を規定する不等式(50)を、これと
同等の効果を持つ等式(48)に置き換えている。例えばア
ーク間角度等の第1の変数の変域は、不等式(50)で規定
できるが、不等式は、場合分け等を必要とするため基本
式や評価式として使用すると処理が煩雑化する。そこで
本実施例では、不等式(50)の式及び数を左辺に(或いは
右辺)に移項すると共に、新たな第2の変数(tX等)
の関数であり恒常的に正又は負又は非負又は非正になる
関数(tX 2等)で右辺(或いは左辺)を置き換えた等式
(48)を導入する。そしてこの等式(48)により第1の変数
の変域を規定して、スケルトンモデルの形状変形を行
う。等式は不等式に比べて基本式や評価式に組み込むこ
とが容易であるため、本実施例によれば処理の簡易化を
図れる。
【0092】なお第2の変数が大きく変動し拘束条件が
機能しなくなることを防止するために、アルゴリズム1
の-2の式(58)に示すような、第2の変数の変化量を含
む式を導入することが望ましい。また第2の変数が所与
の収束値に収束し、スケルトンモデルの変形の応答速度
が低下するのを防止するために、収束前に第2の変数に
所与の値を加えることが望ましい。更に、不等式を等式
に置き換えるこの手法は、アーク間角度の可動範囲を設
定する不連続拘束条件のみならず、ポリゴンやエッジへ
のノードのアタッチや、スケルトンモデルとオブジェク
トとの干渉等の他の不連続拘束条件にも適用できる。
【0093】-4 Drag back法 本実施例では、後述するアルゴリズム1ので詳しく説
明するDrag back法という手法を採用して不連続拘束条
件を取り扱っている。この手法では、1の反復ループに
おいて、スケルトンモデルのノード、アーク等をポリゴ
ンやエッジ等の境界に拘束する拘束条件が無効な状態で
第1の計算を行う。次に、同じ1の反復ループにおい
て、上記の第1の計算の後に、スケルトンモデルのノー
ド、アーク等を境界に引き寄せる第2の計算を行う。こ
のようにすることで、1の反復ループで必要となる計算
を2回で済ますことが可能となり、1の反復ループが別
のもう1つの反復ループを含んでしまう従来の手法(図
13(A))に比べて、処理を格段に高速化できる。
【0094】なお上記第1の計算においては、アルゴリ
ズム1の-1、-2の式(62)、(65)に示すような、面垂
直ダンパーや線垂直ダンパーを働かせることが望まし
い。即ちスケルトンモデルのノード、アーク等の境界方
向への移動量を含む式を極小等にする。このようにすれ
ば、ノード、アーク等が境界から離れすぎて引き戻し不
能になるという事態を防止できる。また上記第2の計算
においては、アルゴリズム1の-3、-4、-5に示す
ような、face magnet、line magnet、point magnetを働
かせることが望ましい。即ちノード、アーク等と境界と
の距離を含む式を極小等にする。このようにすること
で、ノード、アーク等の境界への引き戻しを簡易に実現
できる。更に、Drag back法は、ポリゴンやエッジへノ
ードをアタッチする際の不連続拘束条件のみならず、ア
ーク間角度の可動範囲設定、スケルトンモデルとオブジ
ェクトとの干渉等の他の不連続拘束条件にも適用でき
る。
【0095】特異値分解(連立方程式の再構成) 本実施例では、後述のアルゴリズム1の(特異状態と
その対応方法)及び図17(B)、(C)で詳述するよ
うに、連立方程式が縮退又はそれに近い状態にある場合
に、独立な新たな連立方程式を再構成して解を求める手
法を採用している。連立方程式が従属な式を含み縮退し
た状態になると解が不定になり、適正な形状変形ができ
なくなる。特にアルゴリズム1の式(4)のFijのよう
に、アークの長さを規定する式の解を求めるための式に
おいて、このような解不定が生じる可能性があるが、本
実施例によればこのような解不定の事態を有効に防止で
きる。
【0096】次に本実施例の詳細なアルゴリズムの2つ
の例について説明する。なお以下の説明において使用さ
れる総和符号の意味は下記の通りである。なお下記にお
いて、アーク間の角度をアングルと呼び、アングルを構
成する2本のアーク及びその端点である3つのノードを
アングルの構成要素と呼ぶ。
【0097】
【数1】 また添え字の順序と符号との関係は以下の通りである。
【0098】
【数2】 2.アルゴリズム1 基本式 図14において、ノードNiの座標を(xi、yi、zi
とする。またアークには、3次元空間内での回転を表す
ために、アーク法線ベクトルを設ける。アークAij(ノ
ードNi、ノードNjを結ぶアーク)の法線ベクトルをn
ij(uij、vij、wij)とする。本実施例では、これら
の基本変数を用いてスケルトンモデルの形状を表す。ア
ークごとに次の基本式が成り立つ。
【0099】
【数3】 第1式は、アークAijの長さがLijであることを意味す
る。第2式は、法線ベクトルの大きさが1であることを
意味する。第3式は、アーク法線ベクトルとアークが垂
直であることを意味する。また、スケルトンモデルの相
似変形に対し式が不変となるように、スケールファクタ
ーλを用いる。即ち第1のスケルトンモデルを形状変形
した場合と、これの2倍の大きさを持つ第2のスケルト
ンモデルを上記の2倍だけ形状変形した場合とで、得ら
れる結果が相似形になるようにする。λの値として、各
スケルトンモデルが有するアークの長さの平均値を用い
ることにする。
【0100】基本式の解法 インバース・キネマティクスによるスケルトンの動きを
得るには、ユーザーがノードをピックし移動させたと
き、これに伴って変化する他のノードの座標及びアーク
の法線ベクトルの値を求めねばならない。これらの値
は、式(1)の解として得られる。しかし、式(1)は非線形
方程式であり、また式の数が変数の数より少ない。そこ
で、ニュートン法とラグランジュの乗数法を組み合わせ
て解くことにする。
【0101】なお、特に指示する必要のない場合は、変
数の添え字を省略して表記する。
【0102】-1 ニュートン法の適用 ループ1回ごとの各変数の変化量を、次のように定義す
る。
【0103】
【数4】 上記の基本式(1)にニュートン法を適用すると、次式が
得られる。
【0104】
【数5】 これを整理すると、次式になる。
【0105】
【数6】 式(4)では、式の数が変数の数より少ないため、これだ
けでは解を一意的に定めることは出来ない。そこで次に
述べるように、極小化条件を付加し、ラグランジュの乗
数法を適用して解を求める。
【0106】なお本実施例では、図3(B)にて既に説
明したように、反復ループ毎に基本式等をマウスのカー
ソル位置等に基づいて変化させている。
【0107】-2 ラグランジュの乗数法の適用 評価式U1、U2、U3、・・・・を用意し、これらの総
和を極小化する条件を式(4)に付加し、ラグランジュの
乗数法を用いて、ξ、η、ζ、p、q、rを求める。各
kは、後に定義する。未定乗数αij、βij、γijを導
入し、次式のようにUを定義する。
【0108】
【数7】 式(4)と次式(6)を連立させて、ξ、η、ζ、p、q、r
の解を得る。
【0109】
【数8】 得られた解に基づいて、次式(7)により新しいx、y、
z、u、v、wを求め、ニュートン法の1反復ループ分
の計算が終了する。
【0110】
【数9】 評価式の作成 前述のように、ラグランジュの乗数法を適用するには、
極小化すべき評価式を用意する必要がある。ここではス
ケルトンモデルが好ましい変形をするような評価式を作
成する。
【0111】-1 アーク間角度変化量の2乗和 アーク間角度(関節角度)変化量の2乗和をU1とす
る。U1を極小化することで、各関節がバランス良く曲
がるようになる。また、アーク間角度の各成分毎に異な
る重み付けをすることで、関節の曲がり易さに差をつけ
ることができる。
【0112】-1-1 アーク間角度と回転マトリクス ワールド座標系からアークAij座標系への回転マトリク
スMijは、次式で表される。ただし、アークAij座標系
は、図15に示すように、アーク法線ベクトルの方向を
x軸、ノードNiからノードNjに向かう方向をy軸と
し、右手系とする。なお、マトリクス要素の並びは、列
ベクトルに対して左からマトリクスを掛ける方式に従
う。
【0113】
【数10】 アークAij座標系からアークAjk座標系への回転マトリ
クスをMijkとする。
【0114】
【数11】 なお特に指示する必要のない場合は、添え字ijkを省
略する。
【0115】Mijkは、次式で表される。
【0116】
【数12】 一方、アークAij座標系からアークAjk座標系への回転
角をθx、θy、θzとし、回転順序をy軸、x軸、z軸
の順とすると、マトリクスMijkは次式のように表すこ
とができる。
【0117】
【数13】 従って、式(11), (12), (14)より次式が成り立つ。
【0118】
【数14】 -1-2 角度変化量に関する1次式 θx、θy、θzの変化量を下記のように各々φx、φy
φzと定義する。
【0119】
【数15】 ここではφx、φy、φzとξi、ηi、ζi、pij、qij
ijとの関係を、1次近似式で表すことを試みる。但し
下記のように、amnの変化量をbmnと定義する。
【0120】
【数16】 式(15)を変形し微分することによりφxを得る。
【0121】
【数17】 同様に、以下のようにしてφy、φzを得る。
【0122】
【数18】 02、b10、b11、b12、b22は、式(15)を微分するこ
とで以下のように得られる。
【0123】
【数19】
【数20】
【数21】
【数22】
【数23】 以上のようにして、角度変化量φx、φy、φzを、ξ、
η、ζ、p、q、rの1次式で表すことができた。
【0124】-1-3 角度変化量の2乗和の偏微分 U1は、アーク間角度変化量の2乗和として、次式で表
される。但し、Wx、Wy、Wzは、関節の曲がり易さを
調整するための重み係数であり、それぞれx軸、y軸、
z軸回転に対応する。
【0125】
【数24】 式(6)を計算する際に必要になるため、以下にφx 2、φy
2、φz 2の偏微分を求めておく。これらはξ、η、ζ、
p、q、rの1次式となる。但し、ωは変数ξ、η、
ζ、p、q、rを表す。
【0126】
【数25】 -2 ラバーバンドの設定 -2-1 ラバーバンドの必要性 ピックされたノードNiを直接動かすと、スケルトンモ
デルは図16(A)の形状を初期状態として変形するた
め、図16(B)に示すような好ましくない形状にな
る。そこで、ノードNiを、図5(A)〜(E)にて説
明したラバーバンドを介して動かすことにする。ラバー
バンドは、収縮しようとする性質を持った仮想的なアー
クであり、この一端をノードNi(xi、yi、zi)に連
結し、他端(xci、yci、zci)をマウスのカーソルの
動きに合わせて移動させる。これにより、スケルトンモ
デルは、図16(C)の形状を初期状態として変形する
ので、図16(D)に示すように好ましい形状を得るこ
とができる。図16(A)、(B)では、ピックされた
ノードが初期状態で点110にあるとして反復計算が開
始されるのに対して、図16(C)、(D)では初期状
態で点112にあるとして反復計算が開始されるからで
ある。
【0127】-2-2 ラバーバンドの設定 下記のU2を評価式Uに加えることで、ラバーバンドの
収縮性を表現できる。Wrは収縮性の強さを表すための
重み係数、Npickはピックされたノードの個数である。
【0128】
【数26】 2を評価式に加えることで、ピックされたノードと、
ラバーバンドの他端(xci、yci、zci)との距離の2
乗和が極小化するようにスケルトンモデルを変形でき
る。また図5(D)、(E)、図6で既に説明したよう
に、或いは式(28)から明らかなように、本実施例では複
数のノードをラバーバンドを介して移動することができ
る。
【0129】U2iの偏微分は以下のようになる。
【0130】
【数27】 -2-3 ラバーバンド・リミットの設定 マウスを大きくドラッグし、ラバーバンドを引っ張り過
ぎると、ニュートン法の計算が収束せずスケルトンモデ
ルに暴れが生じる場合がある。そこで、ラバーバンドの
長さlrubが所与の値l* rubを超えた場合、Wrに、l*
rub/lrubを掛けてラバーバンドの張力を補正する。ま
た複数のノードがピックされると、全体としてのラバー
バンドの張力が大きくなってしまうので、これを補正す
るために、式(28)はNpickで割ってある。
【0131】-3 固定ノード周りのアークの回転 図17(A)のような場合、アークの軸回りに無数の解
が存在する。そこで、固定ノードNiを端点とするアー
クAijに、回転抵抗を付加する。下記のU3を評価式U
に加えることで、この抵抗を表現できる。振れ回転(swi
ng)に対する重み係数をWs、捻り回転(twist)に対する
重み係数をWtとする。
【0132】
【数28】 3を評価式に加えることで、端部に固定ノードを持つ
アークの向きの変化量の2乗和が極小化するようにスケ
ルトンモデルを変形できる。
【0133】U3ijの偏微分は以下のようになる。
【0134】
【数29】 -4 ノードイナーシャの設定 スケルトンモデルの形状によっては、暴れが生じる場合
がある。ノードに、イナーシャ(慣性)及び後述するダ
ンパーを付加することで、暴れを低減できる。下記のU
4を評価式Uに加えることで、ノードのイナーシャを表
現できる。
【0135】
【数30】 4iはノードNiのイナーシャに対応する。(ξ"、
η"、ζ")は、前回のイベントサイクルにおけるノード
iの移動ベクトルである。WIはイナーシャの強さを表
す重み係数である。U4を評価式に加えることで、ノー
ド座標の速度変化量の2乗和が極小化されるようにスケ
ルトンモデルを変形できる。
【0136】U4iの偏微分は以下のようになる。
【0137】
【数31】 -5 ノードダンパーの設定 下記のU5を評価式Uに加えることで、ノードのダンパ
ーを表現できる。
【0138】
【数32】 5iはノードNiのダンパーに対応する。Wdはダンパー
の強さを表す重み係数である。U5を評価式に加えるこ
とで、ノード座標の変化量の2乗和が極小化されるよう
にスケルトンモデルを変形できる。
【0139】U5iの偏微分は以下のようになる。
【0140】
【数33】 特異状態とその対応方法 -1 特異状態の発生 スケルトンモデルの形状によっては、式(4)の中に従属
な式が含まれる場合がある。これは図17(B)、
(C)に示すような場合であり、式Fijが従属になる。
式Gij、Hijについては従属になることはない。
【0141】例えば図17(B)の場合、式(4)はアー
ク120、122に関する式Fij(以下、各々、式
1、F2と呼ぶ)を含む。ここで式F1は、アーク12
0の長さが一定値であることを一次近似的に規定するも
のであり、ノード124がアークに垂直な面126内に
あることを規定する。一方、式F2は、アーク122の
長さが一定値であることを一次近似的に規定するもので
あり、F1と同様に、ノード124が面126内にある
ことを規定する。即ちF1とF2は同じ意味の式になり、
1、F2は互いに従属な式になる。そして式(4)が従属
な式を含むと、ラグランジュの乗数法を用いて式の数と
変数の数を同じにしても、解を一意に決めることができ
なくなる。同様に図17(C)の場合は、例えばアーク
128、130、132に関する式Fijにより、ノード
136の位置は一意に定まってしまうため、アーク13
4に関する式Fijは従属な式になってしまう。
【0142】このように式(4)に従属な式が含まれる場
合、そのままラグランジュの乗数法を適用しても、解は
一意に定まらない。そこで、以下に述べる特異値分解の
手法を用いて、連立方程式Fijを独立な連立方程式に再
構成する。
【0143】-2特異値分解 特異値分解とは、m×nの行列Aを次式のように分解す
る手法である。
【0144】
【数34】 但し、Uはm×nの行列、Vはn×nの行列、Wはn×
nの対角行列であり、U、Vは次式を満たす。
【0145】
【数35】 特異値分解を用いると、以下に説明するように、従属な
連立方程式を、式の個数を減らした独立な連立方程式に
再構成することができる。例えばもとの方程式が次式で
表されていたとする。
【0146】
【数36】 m≧nの場合は、行列Aを式(41)の形に分解し変形する
ことで次式を得ることができる。
【0147】
【数37】 一方、m<nの場合は、行列Atを次式(45)のように特
異値分解する。ここでUはn×mの行列、Vはm×mの
行列、Wはm×mの対角行列であり、U、Vは式(42)を
満たす。
【0148】
【数38】 これにより式(43)は次式に変形される。
【0149】
【数39】 式(44)、(46)において、Wの対角要素が0となる行を取
り除くことで、独立な連立方程式を得ることができる。
【0150】なお連立方程式が従属な式を含むか否か、
即ち連立方程式が縮退又はそれに近い状態になっている
か否かは、上記の対角行列Wの対角成分が、0又は0に
近い値を含んでいるか否かで判断できる。
【0151】アーク間角度可動範囲の設定 -1 基本式の追加 図8(A)、(B)にて説明したように、アーク間角度
の可動範囲に制限を設ける。アーク間角度θx、θy、θ
zの下限、上限を次のように設定する。
【0152】
【数40】 新たな変数tx、ty、tzを導入し、以下に示す式ex
y、ezを基本式(1)に追加することで、θx、θy、θz
の可動範囲制限が可能になる。
【0153】
【数41】 但し、式(48)の各係数は以下のとおりである。
【0154】
【数42】 式(48)の意味するところは以下のとおりである。図1
8(A)に示すように、次式(50)は、cosθx、sinθx
存在範囲を斜線部領域に限定する。そのため、θxは、
θx0≦θx≦θx1の範囲に限定される。
【0155】
【数43】 そしてtx 2≧0であるため、式(48)の第1式は式(50)と
同じ効果を持つ。同様に、式(48)の第2式、第3式は、
θy、θzの範囲を限定する効果を持つ。
【0156】変数tx、ty、tzの変化量を次のように
定義する。
【0157】
【数44】 基本式にニュートン法を適用すると式(4)に以下の式が
追加されることになる。
【0158】
【数45】 式(5)の基本式に対応する部分には、次式が加わる。
Ψx、Ψy、Ψzは新たに導入された未定乗数である。
【0159】
【数46】 ALの偏微分は次式のようになる。但し、ωiは変数
ξi、ηi、ζiを、Ωiは変数xi、yi、ziを表し、ωi
△Ωiである。また、ωijは変数pij、qij、r
ijを、Ωijは変数uij、vij、wijを表し、ωij △Ω
ijである。
【0160】
【数47】 x、ey、ezの偏微分は次式のようになる。但し、Ω
は変数x、y、z、u、v、w、tx、ty、tzを表
す。
【0161】
【数48】 -2 変数値の発散 以上の設定だけでは、アーク間角度の可動範囲制限は全
く機能しない。変数tx、ty、tzの値が大きく変動し
収束しないためである。そこで、tx、ty、tzの変化
量である変数τx、τy、τzにダンパーを作用させて計
算を収束させる。即ち下記のU6を評価式Uに加えるこ
とで、ダンパーを働かせる。
【0162】
【数49】 6の偏微分は次式のようになる。
【0163】
【数50】 -3 上限、下限への張り付き 以上の設定で、アーク間角度の可動範囲制限を働かせる
と、次のような張り付き現象が起きる。ある関節のアー
ク間角度が大きくなる方向に、スケルトンモデルを変形
させ、可動範囲上限に押し付けた状態をしばらく保った
後、アーク間角度が小さくなる方向に動かすと、アーク
間角度はすぐには変化せず、しばらく上限角度に張り付
いたような挙動を示す。張り付いている時間は、上限に
押し付けていた時間にほぼ比例する。角度制限の下限に
おいても同様である。これは次の理由による。変数
x、ty、tzは、値が0に近づくにつれて収束が遅く
なる。そのため、逆に一旦0に十分近い値にまで収束し
てしまうと、再び元の値に戻るのにも多くの計算ループ
を必要としてしまう。
【0164】そこで、この不具合を回避するため、変数
x、ty、tzがある程度以上に小さくなった場合、
x、ty、tzの値に微小量の修正を加え、0に収束し
ないようにする。具体的には、乱数を発生しtx、ty
zに加える。
【0165】-4 複数条件の設定 アーク角度の可動範囲(上限値−下限値)がある程度以
上に小さい場合や大きい場合は、計算が収束せずスケル
トンモデルの暴れを生じる。そして安定して計算が収束
する範囲が所与の範囲に限られる。そこで、可動範囲
が、前記所与の範囲よりも狭い場合や広い場合には以下
に述べる方法を用いる。
【0166】-4-1 可動範囲が狭い場合の対応 図18(B)に示すように、2つの可動範囲制限A、B
を同時に使用する。A、Bそれぞれの可動範囲はa1
である。
【0167】-4-2 可動範囲が広い場合の対応 図18(C)に示すように2つの可動範囲制限A、Bを
用意し、状態によりA、B、Free(角度制限なし)
を切り替えて使用する。アーク間角度が上限、下限より
2度の範囲内にある場合はA又はB、それ以外の場合
はFreeとする。A、Bそれぞれの可動範囲はa3
である。
【0168】ノードをポリゴン、エッジにアタッチす
る手法 図9(A)〜(D)、図10、図11に示すように、特
定のノードを、指定されたポリゴンまたはエッジの上に
アタッチする。基本式(1)に次式を追加することで、ノ
ードNiを平面ax+by+cz+d=0にアタッチで
きる。
【0169】
【数51】 また、直線は2平面の交線として表現できるので、平面
の式を2個用意し連立することで、ノードを直線にアタ
ッチすることができる。
【0170】以上の方法で、ノードを任意の無限平面ま
たは無限直線にアタッチすることはできるが、ノードの
移動範囲を、有限の大きさのポリゴン或いは有限長さの
エッジに限定することはできない。また、基本式が増え
ると、ラグランジュの乗数法を適用した際に連立方程式
のサイズが大きくなり、計算速度の点で好ましくない。
そこで、アタッチを実現する方法として、ここで述べた
方法ではなく、次に述べるdrag back法を用いることに
する。
【0171】Drag back法 ノードをポリゴンまたはエッジ上にアタッチするには、
ここで述べるdrag back法を用いる。この手法では、1
イベントサイクル間に、本来のノード移動の操作(drag
forward)と、アタッチされたノードを引き戻す操作
(drag back)の2回の計算を行う。
【0172】ノードNiをポリゴンFにアタッチする場
合の計算は、次のようになる。まず、ノードNiのノー
ドダンパーの特性を、ポリゴンFに垂直な方向の移動に
対してのみ抵抗が大きくなるように設定する。このダン
パーを面垂直ダンパー(facedamper)と呼ぶ。このよう
なダンパーを働かせるのは、ノードがポリゴンから離れ
すぎると誤差の影響でその後の挙動が悪くなるからであ
る。この設定で、通常のノード移動の計算、即ち拘束条
件を無効な状態にした計算を行い、ノードNiとポリゴ
ンFとの距離Ldistを求める。Ldistが所与の値L*
下の場合は、計算結果どおりに、ノード座標とアーク法
線ベクトルを変化させる。Ldist>L*の場合は、全て
のノード座標、アーク法線ベクトルの変化量に、スケー
ルL*/Ldistを掛けた値を用いる。
【0173】次に、拘束条件を有効にして、ノードNi
をポリゴンF上に引き戻す操作(drag back)を行う。
この時、ノードとポリゴンFとの位置関係により、3通
りの方法を使い分ける。
【0174】ポリゴンF上にありノードNiに最も近い
点をPとする。ノードNiとポリゴンFとの位置関係に
より、点Pは次のいずれかになる。
【0175】(A)ノードNiからポリゴンFに下ろした垂
線の足 (B)ノードNiからポリゴンFのエッジの1つに下ろした
垂線の足 (C)ポリゴンFの頂点の1つ (C)の場合には、ノードNiをその頂点に向かって引き戻
す。この引き戻し力をpoint magnetと呼ぶ。
【0176】(B)の場合には、ノードNiをそのエッジに
近づく方向に引き戻す。この引き戻し力をline magnet
と呼ぶ。
【0177】(A)の場合には、ノードNiをポリゴン平面
に近づく方向に引き戻す。この引き戻し力をface magne
tと呼ぶ。
【0178】例えば図9(A)の状態ではface magnet
が働き、図9(B)の状態ではlinemagnetが働く。ノー
ド82に最も近い点が頂点である場合にはpoint magnet
が働く。このようにすることで、ノードの移動範囲を有
限面積のポリゴンに限定でき、ユーザの利便性を向上で
きる。なおノードの無限平面へのアタッチは、ポリゴン
を十分に大きくすることで容易に対応できる。
【0179】図9(B)に示すように、ノードNiをポ
リゴンのエッジにアタッチする場合は、面垂直ダンパー
の代わりに線垂直ダンパー(line damper)を作用させ
る。これは、エッジに垂直な方向の移動に対してのみ働
くダンパーである。またdragback時には、ノードとエッ
ジの位置関係により、 point magnet, line magnetのい
ずれかを使い分ける。これによりノードの移動範囲を有
限長さのエッジに限定できる。
【0180】-1 面垂直ダンパー(face damper) ポリゴン平面が次式で表されるとする。
【0181】
【数52】 ノードNiに対する面垂直ダンパーは、評価式Uに次式
fdを加えることで実現できる。Ufdは、ノードNi
ポリゴン平面垂直方向の移動量の2乗に比例する。従っ
て評価式UにUfdを加えることで、ポリゴン平面に垂直
な方向へのノードNiの移動が抵抗を受けることにな
る。一方、ポリゴン平面に平行な方向へのノードNi
移動は何ら抵抗を受けない。Wfdはダンパーの強さを表
す重み係数である。
【0182】
【数53】 fdの偏微分は、次のようになる。
【0183】
【数54】 -2 線垂直ダンパー(line damper) エッジ直線が、点(xp、yp、zp)を通り、その方向
がベクトル(a、b、c)で表されるとする。ただし、
【数55】 とする。ノードNiに対する線垂直ダンパーは、評価式
Uに次式Uldを加えることで実現できる。Wldはダンパ
ーの強さを表す重み係数である。
【0184】
【数56】 上式のdi0、di1はそれぞれ、移動前、移動後のノード
iとエッジ直線との距離を意味する。従って評価式U
にUldを加えることで、エッジ直線に垂直な方向へのノ
ードNiの移動が抵抗を受けることになる。一方、エッ
ジ直線に平行な方向へのノードNiの移動は何ら抵抗を
受けない。Uldの偏微分は、次のようになる。
【0185】
【数57】 -3 Face magnet ポリゴン平面が次式で表されるとする。
【0186】
【数58】 ノードNiに対するface magnetは、評価式Uに次式Ufm
を加えることで実現できる。Wfmはmagnetの強さを表す
重み係数である。
【0187】
【数59】 上式のdiは、移動後のノードNiとポリゴン平面との距
離を意味する。従って評価式UにUfmを加えることで、
移動後のノードNiとポリゴン平面との距離の2乗が極
小化され、移動後のノードNiがポリゴン平面に引き寄
せられる。Ufmの偏微分は、次のようになる。
【0188】
【数60】 -4 Line magnet エッジ直線が、点(xp、yp、zp)を通り、その方向
がベクトル(a、b、c)で表されるとする。ただし、
【数61】 とする。line magnetは、評価式Uに次式Ulmを加える
ことで表現される。 Wlmはmagnetの強さを表す重み係
数である。
【0189】
【数62】 上式のdiは移動後のノードNiとエッジ直線との距離を
意味する。従って評価式UにUlmを加えることで、移動
後のノードNiとエッジ直線との距離が極小化され、移
動後のノードNiがエッジ直線に引き寄せられる。Ulm
の偏微分は、次のようになる。
【0190】
【数63】 -5 Point magnet ノードNiに対し、点(xp、yp、zp)に向かうpoint
magnetを作用させる。point magnetは、ラバーバンドと
同様のものであるが、ラバーバンドのように長く伸びる
ことはないので、リミットは設けない。
【0191】point magnetは、評価式Uに次式Upmを加
えることで実現できる。Wpmはmagnetの強さを表す重み
係数である。
【0192】
【数64】 pmの偏微分は以下のようになる。
【0193】
【数65】 3.アルゴリズム2 アルゴリズム2では、上記アルゴリズム1と異なり、図
2(A)に示すように、変数u、v、wの変化量を1つ
の変数ρにより1次近似する。また不連続拘束条件を、
図13(B)で説明した手法により取り扱う。
【0194】基本式 基本式はアルゴリズム1と同様であり、以下の通りとな
る。
【0195】
【数66】 基本式の解法 -1 ニュートン法の適用 基本式(75)にニュートン法を適用すると、次の式が得ら
れる。
【0196】
【数67】 これを整理すると、次式になる。
【0197】
【数68】 式(76)、(77)については、解くべき方程式の未知数を減
らすために、ニュートン法を使わず、以下に述べる1変
数ρによる1次近似を用いる。
【0198】-2 アーク法線ベクトル変化量の1次近
似 アーク法線ベクトルnijはアークAijに垂直で、大きさ
1であるため、成分uij、vij、wijは、3変数であり
ながら、図2(A)に示すように変化の自由度は1であ
る。そこで、解くべき方程式の未知数を減らすために
1変数による1次近似を行う。
【0199】図14に示すように、アークAijの軸方向
単位ベクトルをaijとし、sijij×aijなるベクト
ルを作る。
【0200】
【数69】 式(76)、(77)を微分して次式を得る。
【0201】
【数70】 △uij、△vij、△wijは、式(82)、(83)の拘束を受け
る。△uij、△vij、△wijを直交座標軸とする3次元
空間を考えると、△uij、△vij、△wijは、式(82)に
より表される平面と、式(83)により表される平面の交線
L上の値のみをとることができる。従って、△uij、△
ij、△wijは次式のように表すことができる。
【0202】
【数71】 (k1、k2、k3)は、交線Lの方向を表すベクトルで
あり、式(82)で表される平面の法線ベクトル(uij、v
ij、wij)に垂直且つ式(83)で表される平面の法線ベク
トル(xj−xi、yj−yi、zj−zi)に垂直である。
即ちベクトル(k1、k2、k3)の方向は式(81)のベク
トルsijの方向と一致する。このように式(84)のk1
2、k3、l1、l2、l3を、幾何学的にとらえて解く
ことで次式(85)を得る。即ちnij(uij、vij、wij
の変化量△nij(△uij、△vij、△wij)を、新たに
導入した未知変数ρijの1次式として近似できる。
【0203】
【数72】 ijが、次のイベントサイクルでとる値をn'ijとす
る。n'ijは本来アークAijに垂直で大きさ1となるべ
きであるが、変化量の2乗のオーダーで誤差を生じてし
まう。そこで、まず次式(86)の第1式で方向を修正し、
第2式で大きさを1に修正したものをn'ijとする。但
し、a'ijは、aijが次のイベントサイクルでとる値で
ある。
【0204】
【数73】 -3 ラグランジュの乗数法の適用 式(79)は、式の数が変数の数より少なく、また変数ρを
含まないので、これだけではスケルトンモデルの変形形
状を一意に定めることは出来ない。そこで、ρを含む評
価式の極小化という条件を付加し、ラグランジュの乗数
法を適用して解を求める。評価式としてU1、U2
3、・・・・を用意し、これらの総和に対し極小化を
行う。未定乗数αijを導入し、次式のようにUを定義す
る。
【0205】
【数74】 式(79)と次式(88)を連立させて、解ξ、η、ζ、ρを得
る。
【0206】
【数75】 得られた解をもとに、次式(89)によりx、y、zの新し
い値x'、y'、z'を求め、前述の式(86)によりn
(u、v、w)の新しい値n'(u'、v'、w')を求め
ることで、イベントサイクル1回分の計算が終了する。
【0207】
【数76】 -4 アーク振れ角に対するリミットの設定 ユーザーがマウスを速く動かすことで、イベントサイク
ル1回のスケルトンモデルの形状変形が大きくなると、
それに伴い計算誤差も大きくなる。本実施例では、図3
(B)に示すように、反復ループ毎に基本式、評価式を
更新する手法を採用しているからである。変形によりア
ークが平行移動した場合には、アークの長さが伸びる誤
差は生じない。誤差が生じるのはアークの向きが変わる
時である。即ち誤差の大きさは、アークの振れ角に依存
し、アーク長さの誤差という形で現れる。そこで、アー
ク振れ角に許容限界値を設定し、計算結果にスケーリン
グを行う。
【0208】アークAijの振れ角Φijは、次式で表され
る。
【0209】
【数77】 Φijの最大値max(Φij)が、許容限界値Φ*を超え
た場合には、次式によりスケーリング係数μ1を求め、
すべてのξ、η、ζ、ρの値にμ1を掛けて使用する。
【0210】
【数78】 これにより、アークの最大振れ角を、Φ*以下に抑える
ことができる。なお、実用上は式(90)を次式(93)で代用
できる。なおアーク振れ角に対するリミットの設定は、
アルゴリズム1においても行っている。
【0211】
【数79】 評価式の作成 -1 アーク間角度変化量の2乗和 アルゴリズム1と同様に、アーク間角度の変化量の2乗
和をU1とすると、U1を極小化することで各関節をバラ
ンス良く曲げることができる。
【0212】-1-1 アーク間の角度と回転マトリクス アルゴリズム1に示した式(8)〜(14)より、次式(94)が
成り立つ。
【0213】
【数80】 -1-2 角度変化量に関する1次式 角度変化量φx、φy、φzには、アルゴリズム1と同様
に式(18)、(19)、(20)の関係が成り立つ。また式(94)を
微分等することで次式(95)〜(99)が得られる。
【0214】
【数81】
【数82】
【数83】
【数84】
【数85】 以上から明らかなように、角度変化量φx、φy、φ
zを、11個の変数ξi、ξj、ξk、ηi、ηj、ηk
ζi、ζj、ζk、ρij、ρjkの1次結合で表すことがで
きる。
【0215】-1-3 角度変化量の2乗和の偏微分 角度変化量の2乗和U1及びφx 2、φy 2、φz 2の偏微分
はアルゴリズム1の式(26)、(27)と同様である。但しこ
の場合、式(27)のωは、ξ、η、ζに加えてρも表す。
【0216】-2 ラバーバンドの設定 ラバーバンドの設定は、アルゴリズム1と同様であるた
め説明を省略する。
【0217】-3 固定ノード周りのアークの回転 固定ノード周りのアークの回転に抵抗を付加するため、
下記のU3を評価式に加える。
【0218】
【数86】 アルゴリズム1の式(32)と異なり、式(101)では、捻り
回転(twist)の部分が変数ρijにより表される。また式
(90)を式(93)に近似したのと同様の考えで、振れ回転(s
wing)の部分を近似している。U3ijの偏微分は以下のよ
うになる。
【0219】
【数87】 -4 ノードイナーシャ、ノードダンパーの設定 ノードイナーシャ、ノードダンパーの設定はアルゴリズ
ム1と同様であるため説明を省略する。
【0220】特異状態とその対応方法 特異状態とその対応方法もアルゴリズム1と同様である
ため説明を省略する。
【0221】アーク間角度の可動範囲の設定 -1 角度スプリングによる可動範囲制限 アーク間角度に可動範囲を設定し、この範囲内でのみ動
くようにする。一般に、このような不連続拘束条件下で
の変形問題を解く場合、図13(A)に示すように拘束
条件を決定するために繰り返し計算が必要となる。計算
量を極力減らすために、次のような方法を用いる。な
お、以下の説明では、可動範囲の上限についてのみ述べ
るが、下限についても方法は同様である。
【0222】アーク間角度の値θが可動範囲上限θ*
超えた場合は、θをθ*に近づけるような強いスプリン
グを働かせる。完全な拘束ではなくスプリング拘束なの
で、厳密にθ=θ*とはならないが、スプリングの強さ
を十分大きな値に設定することで、実用上θをθ*に固
定するのと同等の効果が得られる。
【0223】θの値に応じて、θ≧θ*でスプリング有
効、θ<θ*でスプリング無効に条件設定し、計算を行
う。スプリングの状態と、計算結果との組み合わせは4
通りになるが、それぞれの場合において、図13(B)
と同様に、次のように処理を行う。
【0224】(A)スプリング無効状態で計算し結果が可
動範囲内:結果をそのまま使用 (B)スプリング無効状態で計算し結果が可動範囲外:結
果をスケーリングし使用 (C)スプリング有効状態で計算し結果が可動範囲内:ス
プリング無効にし再計算 (D)スプリング有効状態で計算し結果が可動範囲外:結
果をそのまま使用 上記(B)の場合、スケーリングは以下の方法で行う。計
算の結果得られた、θの変化量φに対して、図19及び
次式に示すようなオーバーシュート量Ψを定義する。
【0225】
【数88】 オーバーシュートの許容限界値Ψ*を、図19に示すよ
うに前もって設定しておき、次式によりスケーリング係
数μ2を求める。このようにオーバーシュートをある程
度許容することにより、スケーリングの効きすぎによる
スケルトンモデルの変形速度の低下を防止できる。
【0226】
【数89】 すべてのξ、η、ζ、ρの値に上記μ2を掛けて使用す
る。これにより、オーバーシュート量をΨ*以下に抑え
ることができる。スケルトンモデルの複数箇所でオーバ
ーシュートが起きた場合には、各箇所のμ2の値のうち
最小のものをμ2の値として用いる。また、オーバーシ
ュート発生後のスケルトンモデルの暴れを抑えるには、
角度ダンパーを作用させるのが効果的である。
【0227】以上の方法により、上記(C)以外の場合
は、再計算が不要になる。また上記(C)の場合でも、再
計算をせずに結果をそのまま使用しても良好な挙動が得
られることがある。
【0228】-2 角度制限の評価式 評価式Uに次式U6を加えることで、角度制限が有効に
なる。ただし、θ* x、θ* y、θ* zは、各々、θx、θy
θzの上限値または下限値を表す。
【0229】
【数90】 as、Wadは、それぞれスプリング、ダンパーの強さを
表す重み係数である。Uax、Uay、Uazの偏微分は次の
ようになる。但し、ωは変数ξ、η、ζ、ρを表す。
【0230】
【数91】 ポリゴン、エッジに対するノードのアタッチ 図9(A)、(B)〜図11に示すように、ノードをポ
リゴンまたはエッジ上にアタッチするには、そのノード
をアタッチ対象に引き寄せるような評価式を用意し、こ
れをUに加える。ノードは、厳密にはアタッチ対象上に
拘束されないが、引き寄せの強さを十分大きな値に設定
することで、実用上十分なアタッチ効果が得られる。
【0231】ノードをポリゴンにアタッチする場合、両
者の位置関係により、次の3通りの方法を使い分ける。
即ちアルゴリズム1で説明したpoint magnet、line mag
net、face magnetを使い分ける。
【0232】ノードの移動に伴い引き寄せ条件が変化す
る際に、アーク間角度の可動範囲制限の場合と同様にオ
ーバーシュートを起こすことがある。このような場合、
ノードNiがポリゴン から離れ過ぎないよう、計算結果
に対しスケーリングを行う。
【0233】なお、point magnet、line magnet、face
magnetについてはアルゴリズム1において既に詳述した
ため、ここでは説明を省略する。
【0234】ポリゴンオブジェクトとの干渉機能 -1 干渉機能 図12に示すように、スケルトンモデルがポリゴンオブ
ジェクトに衝突した場合に、ポリゴンオブジェクトにス
ケルトンモデルが侵入したり通り抜けたりせず、自然な
挙動をするような機能を追加する。このような機能を、
干渉機能と呼ぶことにする。
【0235】干渉機能として次の3種類が考えられる。
【0236】(a)ノードとポリゴンオブジェクトとの干
渉。
【0237】(b)アークとポリゴンオブジェクトとの干
渉 (c)スケルトンモデルに付随して動くポリゴンオブジェ
クトと、他のポリゴンオブジェクトとの干渉。
【0238】ここでは、上記(a)のノード対ポリゴンオ
ブジェクトの干渉機能について説明する。
【0239】-2 衝突検出 干渉機能を実現するには、まずスケルトンモデルとポリ
ゴンオブジェクトとの衝突を検出する必要がある。衝突
検出には、次の2つの方法が考えられる。
【0240】(a-1)ノードの位置による検出。ノードが
ポリゴンオブジェクトの内側に在る場合に、衝突と判定
する。
【0241】(a-2)ノードの軌跡による検出。ノードの
軌跡がポリゴンオブジェクトと交差した場合に、衝突と
判定する。
【0242】図20(A)に示すようにポリゴンオブジ
ェクト140に対してノード142が移動した場合、上
記(a-1)では衝突を検出できない。そこで、上記(a-2)の
方法を採用し、ノード142の軌跡144とポリゴンオ
ブジェクト140との交差判定により、衝突を検出す
る。また、この方法によれば、閉じていないオブジェク
トも扱えるうえ、ポリゴンの裏表にかかわらず衝突検出
が可能である。
【0243】-3 拘束条件の設定 干渉機能を働かせるには、ノードがポリゴンに押し付け
られるときは、ポリゴン平面上に拘束し、逆にポリゴン
から離れようとするときは、拘束を解除する必要があ
る。ポリゴン平面への拘束は、アルゴリズム1で既に説
明したface magnetを用いる。また、拘束条件の切り替
えには、アーク間角度の可動範囲制限と同様の手法、即
ち図13(B)で説明した手法を用いる。つまり下記の
ようにfacemagnetのON/OFFを切り替える。
【0244】(A)face magnet OFFで計算し結果が衝突な
し:結果をそのまま使用 (B)face magnet OFFで計算し結果が衝突発生:結果をス
ケーリングして使用 (C)face magnet ONで計算し結果が非衝突状態:face ma
gnetをOFFにして再計算 (D)face magnet ONで計算し結果が衝突状態 :結果を
そのまま使用 ポリゴンの裏表両面のうち、衝突発生の直前にノードが
位置した側の面を衝突面とし、ノードがポリゴンの衝突
面と逆側に位置する状態を衝突状態とする。
【0245】-4 多重衝突の扱い 前述のように、拘束条件としてface magnetを用いてい
るため、ノードは、わずかではあるが、ポリゴンを突き
抜ける。この突き抜けを見ることで、face magnetのON/
OFFを切り替えている。しかしながら、図20(B)に
示すように、ノード150がポリゴン152を突き抜け
たままでは、ノード150が矢印156の方向に移動し
たときに不具合が生じる。即ち、本来ならばノード15
0が、2枚のポリゴン152、154に衝突すべきなの
に、ポリゴン154との衝突を検出できない。
【0246】そこで、図20(C)に示すように、ポリ
ゴン(境界)152を、衝突面側に微小量dだけオフセ
ットした仮想面(仮想境界)158を作る。そしてノー
ド150が衝突状態にあった場合は、ノード150をこ
の仮想面158に垂直投影し、新たなノード160の位
置とする。また、face magnet及び衝突検出にも、ポリ
ゴン152の面ではなく、この仮想面158を用いるこ
とにする。この方法によりノードの多重衝突に対応でき
る。
【0247】4.画像合成装置、情報記憶媒体 図21(A)、(B)、(C)に、本実施例のスケルト
ンモデル形状変形方法を利用した画像合成装置、情報記
憶媒体の種々の実施形態を示す。
【0248】図21(A)は、画像合成装置の1つであ
る形状データ作成ツールに本実施例を適用した例であ
る。スケルトンモデルの初期形状データの入力、固定ノ
ード或いは固定アークの指定、アーク間角度の可動範囲
の指定、ポリゴン或いはエッジへのノードのアタッチの
指定、ノードのピック及び移動の指示等は、例えばキー
ボード200、ポインティングデバイスであるマウス2
02を用いて行われる。処理部210は、本実施例の形
状変形方法によりスケルトンモデルの形状変形を行い形
状データを生成する形状データ生成部212と、この形
状データ生成部212で生成された形状データに基づい
てスケルトンモデルの画像を合成する画像合成部214
とを含む。処理部210は、ハードウェア的には、CP
U、DSP、メモリ、必要であれば画像合成専用IC等
により構成される。FD、CDROM、DVD、ICカ
ード、メモリ等で構成される情報記憶媒体216には、
本実施例の形状変形方法を実現する形状データ作成プロ
グラム、このプログラムの実行のために必要なデータ等
の種々の情報が格納されている。処理部210は、キー
ボード200、マウス202からの入力情報、情報記憶
媒体216に格納される情報に基づいて処理を行い、こ
れにより表示部218上にスケルトンモデル画像219
等が表示される。この形状データ作成ツールによれば、
表示されるスケルトンモデル画像219の形状を確認し
ながら、形状データの作成を行うことができ、設計作業
の効率化を図れる。
【0249】図21(B)は、画像合成装置の1つであ
るゲーム装置に本実施例を適用した例である。ゲームコ
ントローラ220、222は、プレーヤが操作情報を入
力するためのものである。処理部230は、プレーヤか
らの操作情報に基づいてゲーム画像を合成するための演
算等を行うゲーム演算部232と、このゲーム演算部2
32からの演算結果に基づいて画像合成を行う画像合成
部234とを含み、ハードウェア的には、CPU、DS
P、メモリ、必要であれば画像合成専用のIC等により
構成される。情報記憶媒体236には、本実施例の形状
変形方法により作成された形状データ或いはこの形状デ
ータに基づき生成された種々の情報、及びゲームプログ
ラム等が格納されている。表示部238上には、上記形
状データ等に基づいて動作するゲームキャラクタの画像
239、240等が表示される。ゲーム装置が業務用の
ものであれば、形状データ、ゲームプログラムはROM
等から成る情報記憶媒体に格納され、ゲーム装置が家庭
用のものであれば、形状データ、ゲームプログラムはC
D−ROM、ゲームカセット等から成る情報記憶媒体に
格納される。また複数の端末をホスト装置を介して通信
回線で接続し、ゲームプログラム等を配給するタイプの
ゲーム装置においては、形状データ、ゲームプログラム
はホスト装置の情報記憶媒体、例えば磁気ディスク装
置、メモリ等に格納される。
【0250】一方、図21(C)は、ゲーム演算部24
2が形状データ生成部243を含む場合のゲーム装置の
例である。この場合、情報記憶媒体246には、形状デ
ータの代わりに、本実施例の形状変形方法を実現する形
状データ生成プログラムが格納され、形状データの生成
はゲーム装置に内蔵される形状データ生成部243がリ
アルタイムに行う。例えばゲームコントローラ220、
222等によりプレーヤが、スケルトンモデルに所望の
動作を行わせる。これによりスケルトンモデルに付随し
て動くオブジェクトの画像239、240が表示部23
8に表示されることになる。
【0251】なお本発明は上記実施例で説明したものに
限らず、種々の変形実施が可能である。
【0252】例えば、スケルトンモデルを、ノード座
標、アーク法線ベクトルの成分を含む基本変数により表
し、アーク間のなす角度の変化量等を含む式を極小化す
る発明は、ニュートン法、ラグランジュの乗数法以外に
も、例えばニュートン法やラグランジュの乗数法を改良
した手法等、種々の数学的手法を用いて実現でき、種々
の変形実施が可能である。特に本実施例のように、解く
べき式を未知数である変数の1次式で表した場合には、
線形代数の手法により解を求めることもできる。
【0253】同様に、ノードの座標等の基本変数を含む
式の解を反復計算により求めると共に前記式を反復ルー
プの終了又は開始に同期させて所与の情報に基づいて次
々に変化させる発明や、スケルトンモデルを境界にスプ
リング拘束し、1の反復ループで拘束条件が有効・無効
のいずれで行われたか及びスケルトンモデル等が境界を
越えているか否かに基づいて次の反復ループの拘束条件
の有効・無効を決める発明についても、ニュートン法と
ラグランジュの乗数法の組み合わせ以外の種々の数学的
手法を用いて実現でき、種々の変形実施が可能である。
【0254】
【図面の簡単な説明】
【図1】図1(A)〜(D)は、本実施例の原理を説明
するための図である。
【図2】図2(A)は、アーク法線ベクトルの変化量を
1変数で表す手法について説明するための図であり、図
2(B)は、評価式の種々の例を示す図である。
【図3】図3(A)はニュートン法について説明するた
めの図であり、図3(B)は、反復ループ毎に基本式等
を変化させる手法について説明するための図である。
【図4】ノードをピックしてスケルトンモデルを形状変
形させた例について示す図である。
【図5】図5(A)〜(E)は、ラバーバンドについて
説明するための図である。
【図6】2つのノードをピックしてスケルトンモデルを
形状変形させた例について示す図である。
【図7】複雑な多分岐構造を有するスケルトンモデルを
形状変形させた例について示す図である。
【図8】図8(A)、(B)は、アーク間角度の可動範
囲の設定について説明するための図である。
【図9】図9(A)、(B)は、ノードのポリゴン、エ
ッジへのアタッチ機能について説明するための図であ
る。
【図10】アタッチ機能を用いてスケルトンモデルに壁
登りを行わせる例について説明するための図である。
【図11】アタッチ機能を用いてスケルトンモデルに壁
登りを行わせる例について説明するための図である。
【図12】スケルトンモデルとオブジェクトとの干渉機
能について説明するための図である。
【図13】図13(A)、(B)は、拘束条件の取り扱
い手法について説明するための図である。
【図14】アーク、ノード、アーク法線ベクトル等の関
係について説明するための図である。
【図15】アーク座標系について説明するための図であ
る。
【図16】図16(A)〜(D)は、ラバーバンドの有
効性について説明するための図である。
【図17】図17(A)は固定ノード周りのアーク回転
について、図17(B)、(C)は、特異状態の発生に
ついて説明するための図である。
【図18】図18(A)、(B)、(C)は、アーク間
角度の可動範囲の設定について説明するための図であ
る。
【図19】アーク間角度のオーバーシュートとその許容
限界値の設定について説明するための図である。
【図20】図20(A)、(B)、(C)は、スケルト
ンモデルとオブジェクトとの干渉機能について説明する
ための図である。
【図21】図21(A)、(B)、(C)は、画像合成
装置、情報記憶媒体の種々の実施形態について示す図で
ある。
【図22】図22(A)、(B)、(C)は、従来のス
ケルトンモデルの形状変形方法について説明するための
図である。
【図23】図23(A)、(B)は、親子関係の設定に
ついて説明するための図である。
【符号の説明】
2、3、4 ノード 6、7、8 アーク 10、11、12 アーク法線ベクトル 18 スケルトンモデル

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 スケルトンモデルの形状変形方法であっ
    て、 スケルトンモデル又はこれに付随して動くオブジェクト
    が所与の境界を越えた場合に、スケルトンモデル又はオ
    ブジェクトを前記境界側に戻す拘束条件の下でスケルト
    ンモデルの形状を変形し、 スケルトンモデルの形状を求める反復計算の1の反復ル
    ープが前記拘束条件が無効な状態で行われ且つスケルト
    ンモデル又はオブジェクトが前記境界を越えていない場
    合には、次の反復ループにおいても前記拘束条件を無効
    な状態にして計算を行い、 前記1の反復ループが前記拘束条件が無効な状態で行わ
    れ且つスケルトンモデル又はオブジェクトが前記境界を
    越えている場合には、次の反復ループにおいては前記拘
    束条件を有効な状態にして計算を行い、 前記1の反復ループが前記拘束条件が有効な状態で行わ
    れ且つスケルトンモデル又はオブジェクトが前記境界を
    越えている場合には、次の反復ループにおいても前記拘
    束条件を有効な状態にして計算を行い、 前記1の反復ループが前記拘束条件が有効な状態で行わ
    れ且つスケルトンモデル又はオブジェクトが前記境界を
    越えていない場合には、次の反復ループにおいては前記
    拘束条件を無効な状態にして計算を行うことを特徴とす
    るスケルトンモデルの形状変形方法。
  2. 【請求項2】 請求項1において、 スケルトンモデル又はオブジェクトと前記境界との距離
    を含む式の値をほぼ極小、ほぼ極大及びほぼ停留のいず
    かにする拘束条件の下でスケルトンモデルの形状を変形
    させること特徴とするスケルトンモデルの形状変形方
    法。
  3. 【請求項3】 請求項1又は2において、 前記境界から所与の間隔だけ離れた位置に仮想境界を設
    け、スケルトンモデル又はオブジェクトが前記境界を越
    えている場合にスケルトンモデル又はオブジェクトを前
    記仮想境界まで戻すと共に、前記境界の代わりに前記仮
    想境界を用いて拘束条件の有効、無効の判断を行うこと
    を特徴とするスケルトンモデルの形状変形方法。
  4. 【請求項4】 スケルトンモデルの形状変形方法であっ
    て、 スケルトンモデルの形状を規定する少なくとも1つの第
    1の変数の変域が、第1の変数を含む不等式により表さ
    れる場合において、 前記不等式の全ての式及び数を左辺及び右辺のいずれか
    一方の辺に移項し他方の辺を第2の変数の恒常的に正又
    は負又は非負又は非正になる関数で置き換えた等式を導
    入し、前記不等式に代えて前記等式により第1の変数の
    変域を規定することで不連続な拘束条件の下でのスケル
    トンモデルの形状変形を行うことを特徴とするスケルト
    ンモデルの形状変形方法。
  5. 【請求項5】 請求項4において、 前記第2の変数の変化量を含む式の値が、ほぼ極小、ほ
    ぼ極大及びほぼ停留のいずれかになるようにスケルトン
    モデルの形状を変形することを特徴とするスケルトンモ
    デルの形状変形方法。
  6. 【請求項6】 請求項4又は5において、 前記第2の変数が所与の収束値の付近の値になった際
    に、前記第2の変数に所与の値を加えることを特徴とす
    るスケルトンモデルの形状変形方法。
  7. 【請求項7】 スケルトンモデルの形状変形方法であっ
    て、 スケルトンモデルの形状を求める反復計算の1の反復ル
    ープにおいて、スケルトンモデル又はこれに付随して動
    くオブジェクトを所与の境界に拘束する拘束条件が無効
    な状態で第1の計算を行い、 前記1の反復ループにおいて、前記第1の計算の後に、
    スケルトンモデル又はオブジェクトと前記境界が所与の
    位置関係にある場合にスケルトンモデル又はオブジェク
    トを前記境界に引き寄せる第2の計算を行うことを特徴
    とするスケルトンモデルの形状変形方法。
  8. 【請求項8】 請求項7において、 前記第1の計算において、スケルトンモデル又はオブジ
    ェクトの前記境界方向への移動量を含む式の値がほぼ極
    小、ほぼ極大及びほぼ停留のいずれかになるように計算
    を行い、 前記第2の計算において、スケルトンモデル又はオブジ
    ェクトと前記境界との距離を含む式の値がほぼ極小、ほ
    ぼ極大及びほぼ停留のいずれかになるように計算を行う
    ことを特徴とするスケルトンモデルの形状変形方法。
  9. 【請求項9】 請求項7又は8において、 前記境界が、有限の面又は有限の線であることを特徴と
    するスケルトンモデルの形状変形方法。
  10. 【請求項10】 スケルトンモデルの形状変形方法であ
    って、 スケルトンモデルを、スケルトンモデルのノードの座標
    を含む基本変数により表し、 前記基本変数の変化量を未知数とする第1の連立方程式
    が縮退又はそれに近い状態にあるか否かを判断し、 前記第1の連立方程式が縮退又はそれに近い状態にある
    と判断された場合に、前記第1の連立方程式を式の数を
    減らした独立な第2の連立方程式に再構成し、再構成さ
    れた第2の連立方程式の解を求めることでスケルトンモ
    デルの形状変形を行うことを特徴とするスケルトンモデ
    ルの形状変形方法。
  11. 【請求項11】 請求項10において、 前記第1の連立方程式が、スケルトンモデルのアークの
    長さが所与の値となることを規定する式の解を求めるた
    めの式であることを特徴とするスケルトンモデルの形状
    変形方法。
  12. 【請求項12】 請求項1乃至11のいずれかの形状変
    形方法により変形されるスケルトンモデルの形状を出力
    する手段と、 操作者がスケルトンモデルの変形を指示するための操作
    手段とを含むことを特徴とする画像合成装置。
  13. 【請求項13】 請求項1乃至11のいずれかの形状変
    形方法により変形されるスケルトンモデルに付随して動
    くオブジェクトの画像を出力する手段を含むことを特徴
    とする画像合成装置。
  14. 【請求項14】 請求項1乃至11のいずれかの形状変
    形方法により変形されるスケルトンモデルの形状データ
    を記憶することを特徴とする情報記憶媒体。
  15. 【請求項15】 スケルトンモデルの形状変形のための
    情報記憶媒体であって、 スケルトンモデル又はこれに付随して動くオブジェクト
    が所与の境界を越えた場合に、スケルトンモデル又はオ
    ブジェクトを前記境界側に戻す拘束条件の下でスケルト
    ンモデルの形状を変形するための情報と、 スケルトンモデルの形状を求める反復計算の1の反復ル
    ープが前記拘束条件が無効な状態で行われ且つスケルト
    ンモデル又はオブジェクトが前記境界を越えていない場
    合には、次の反復ループにおいても前記拘束条件を無効
    な状態にして計算を行うための情報と、 前記1の反復ループが前記拘束条件が無効な状態で行わ
    れ且つスケルトンモデル又はオブジェクトが前記境界を
    越えている場合には、次の反復ループにおいては前記拘
    束条件を有効な状態にして計算を行うための情報と、 前記1の反復ループが前記拘束条件が有効な状態で行わ
    れ且つスケルトンモデル又はオブジェクトが前記境界を
    越えている場合には、次の反復ループにおいても前記拘
    束条件を有効な状態にして計算を行うための情報と、 前記1の反復ループが前記拘束条件が有効な状態で行わ
    れ且つスケルトンモデル又はオブジェクトが前記境界を
    越えていない場合には、次の反復ループにおいては前記
    拘束条件を無効な状態にして計算を行うための情報とを
    含むことを特徴とする情報記憶媒体。
  16. 【請求項16】 スケルトンモデルの形状変形のための
    情報記憶媒体であって、 スケルトンモデルの形状を規定する少なくとも1つの第
    1の変数の変域が、第1の変数を含む不等式により表さ
    れる場合において、 前記不等式の全ての式及び数を左辺及び右辺のいずれか
    一方の辺に移項し他方の辺を第2の変数の恒常的に正又
    は負又は非負又は非正になる関数で置き換えた等式を導
    入し、前記不等式に代えて前記等式により第1の変数の
    変域を規定することで不連続な拘束条件の下でのスケル
    トンモデルの形状変形を行うための情報を含むことを特
    徴とする情報記憶媒体。
  17. 【請求項17】 スケルトンモデルの形状変形のための
    情報記憶媒体であって、 スケルトンモデルの形状を求める反復計算の1の反復ル
    ープにおいて、スケルトンモデル又はこれに付随して動
    くオブジェクトを所与の境界に拘束する拘束条件が無効
    な状態で第1の計算を行うための情報と、 前記1の反復ループにおいて、前記第1の計算の後に、
    スケルトンモデル又はオブジェクトと前記境界が所与の
    位置関係にある場合にスケルトンモデル又はオブジェク
    トを前記境界に引き寄せる第2の計算を行うための情報
    とを含むことを特徴とする情報記憶媒体。
  18. 【請求項18】 スケルトンモデルの形状変形のための
    情報記憶媒体であって、 スケルトンモデルを、スケルトンモデルのノードの座標
    を含む基本変数により表すための情報と、 前記基本変数の変化量を未知数とする第1の連立方程式
    が縮退又はそれに近い状態にあるか否かを判断するため
    の情報と、 前記第1の連立方程式が縮退又はそれに近い状態にある
    と判断された場合に、前記第1の連立方程式を式の数を
    減らした独立な第2の連立方程式に再構成し、再構成さ
    れた第2の連立方程式の解を求めることでスケルトンモ
    デルの形状変形を行うための情報とを含むことを特徴と
    する情報記憶媒体。
JP31834998A 1996-11-19 1998-10-21 スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体 Expired - Fee Related JP3265271B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31834998A JP3265271B2 (ja) 1996-11-19 1998-10-21 スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-323457 1996-11-19
JP32345796 1996-11-19
JP31834998A JP3265271B2 (ja) 1996-11-19 1998-10-21 スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP27652197A Division JP3241310B2 (ja) 1996-11-19 1997-09-24 スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体

Publications (2)

Publication Number Publication Date
JPH11224351A true JPH11224351A (ja) 1999-08-17
JP3265271B2 JP3265271B2 (ja) 2002-03-11

Family

ID=26569339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31834998A Expired - Fee Related JP3265271B2 (ja) 1996-11-19 1998-10-21 スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP3265271B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002065400A1 (fr) * 2001-02-13 2002-08-22 Sega Corporation Programme de creation d'animation
WO2004013814A1 (en) * 2002-08-02 2004-02-12 Honda Giken Kogyo Kabushiki Kaisha Anthropometry-based skeleton fitting
KR100945037B1 (ko) 2008-04-29 2010-03-05 연세대학교 산학협력단 고무 형태의 과장 알고리즘을 이용한 과장 영상 생성 방법및 시스템
US7819748B2 (en) 2004-10-27 2010-10-26 Nintendo Co., Ltd. Game apparatus and storage medium storing game program
JP2013020446A (ja) * 2011-07-11 2013-01-31 Celsys:Kk マルチポインティングデバイスの制御方法及びプログラム
JP2018085115A (ja) * 2016-11-22 2018-05-31 ダッソー システムズDassault Systemes 特に目標を見るための姿勢を取る身体をシミュレートするためのコンピュータ実施方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002065400A1 (fr) * 2001-02-13 2002-08-22 Sega Corporation Programme de creation d'animation
US7106334B2 (en) 2001-02-13 2006-09-12 Sega Corporation Animation creation program
AU2002232172B2 (en) * 2001-02-13 2007-11-22 Sega Corporation Animation creation program
KR100856219B1 (ko) * 2001-02-13 2008-09-03 가부시키가이샤 세가 애니메이션 생성 프로그램을 저장한 컴퓨터 판독가능한 매체
WO2004013814A1 (en) * 2002-08-02 2004-02-12 Honda Giken Kogyo Kabushiki Kaisha Anthropometry-based skeleton fitting
US8013852B2 (en) 2002-08-02 2011-09-06 Honda Giken Kogyo Kabushiki Kaisha Anthropometry-based skeleton fitting
US7819748B2 (en) 2004-10-27 2010-10-26 Nintendo Co., Ltd. Game apparatus and storage medium storing game program
KR100945037B1 (ko) 2008-04-29 2010-03-05 연세대학교 산학협력단 고무 형태의 과장 알고리즘을 이용한 과장 영상 생성 방법및 시스템
JP2013020446A (ja) * 2011-07-11 2013-01-31 Celsys:Kk マルチポインティングデバイスの制御方法及びプログラム
JP2018085115A (ja) * 2016-11-22 2018-05-31 ダッソー システムズDassault Systemes 特に目標を見るための姿勢を取る身体をシミュレートするためのコンピュータ実施方法

Also Published As

Publication number Publication date
JP3265271B2 (ja) 2002-03-11

Similar Documents

Publication Publication Date Title
US6320988B1 (en) Skeleton model shape transformation method, image synthesizing apparatus, and information storage medium
Starke et al. Memetic evolution for generic full-body inverse kinematics in robotics and animation
EP1288867B1 (en) Method for generating motion
Yamane et al. Natural motion animation through constraining and deconstraining at will
Hadap Oriented strands: dynamics of stiff multi-body system
US6191798B1 (en) Limb coordination system for interactive computer animation of articulated characters
Welman Inverse kinematics and geometric constraints for articulated figure manipulation
US9418465B2 (en) Multipoint offset sampling deformation techniques
JP2022518970A (ja) 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習
Ho et al. Character motion synthesis by topology coordinates
GB2555605A (en) Animating a virtual object in a virtual world
WO2007137195A2 (en) Musculo-skeletal shape skinning
JP3241310B2 (ja) スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体
JP3265271B2 (ja) スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体
Abe et al. Interactive animation of dynamic manipulation
JPH0887609A (ja) 画像処理装置
JP2004062692A (ja) 多重構造を用いた動作生成システム
Yamane et al. Synergetic CG choreography through constraining and deconstraining at will
Huang et al. An efficient energy transfer inverse kinematics solution
Huang et al. Motion parameterization with inverse blending
da Silva et al. Tunable robustness: An artificial contact strategy with virtual actuator control for balance
JP5602043B2 (ja) 骨格モデルの関節角度の曲がりにくさの制御装置,方法,及びプログラム
Tonneau et al. Using task efficient contact configurations to animate creatures in arbitrary environments
Rabbani et al. PhysIK: Physically Plausible and Intuitive Keyframing.
Lee et al. Projective motion correction with contact optimization

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011218

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071228

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071228

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081228

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081228

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091228

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091228

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091228

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees