JP2008003824A - シミュレーション装置、シミュレーション方法、ならびに、プログラム - Google Patents
シミュレーション装置、シミュレーション方法、ならびに、プログラム Download PDFInfo
- Publication number
- JP2008003824A JP2008003824A JP2006172207A JP2006172207A JP2008003824A JP 2008003824 A JP2008003824 A JP 2008003824A JP 2006172207 A JP2006172207 A JP 2006172207A JP 2006172207 A JP2006172207 A JP 2006172207A JP 2008003824 A JP2008003824 A JP 2008003824A
- Authority
- JP
- Japan
- Prior art keywords
- support
- mass point
- posture
- mass
- change amount
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004088 simulation Methods 0.000 title claims description 66
- 238000012937 correction Methods 0.000 claims abstract description 45
- 238000003860 storage Methods 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims description 53
- 230000006870 function Effects 0.000 claims description 36
- 230000036544 posture Effects 0.000 claims 24
- 239000004744 fabric Substances 0.000 abstract description 19
- 239000013598 vector Substances 0.000 description 26
- 238000012545 processing Methods 0.000 description 24
- 230000005484 gravity Effects 0.000 description 17
- 230000010365 information processing Effects 0.000 description 17
- 230000033001 locomotion Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005293 physical law Methods 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 230000037303 wrinkles Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
【課題】仮想空間に配置された柔軟な布や紙など、形状可変なオブジェクトの形状の変化を簡易にシミュレートする技術を提供する。
【解決手段】記憶部702は、仮想空間内で仮想弾性体に連結される支持オブジェクトや質点オブジェクトの位置等を記憶し、支持計算部703は、更新間隔時間経過による支持オブジェクトの位置等の変化を表す支持変化量を計算し、支持修正部704は、支持変化量を所定の閾値を超えないように修正した支持修正量を計算し、質点計算部705は、支持オブジェクトが支持修正量だけ移動した位置等にあると仮定して、質点オブジェクトの支持オブジェクトに対する更新間隔時間経過後の位置を表す質点変化量を計算し、支持更新部706は、支持変化量により支持オブジェクトの位置等を更新し、質点更新部707は、更新後の支持オブジェクトの位置等と質点変化量により質点オブジェクトの位置を更新する。
【選択図】図6
Description
(a)当該質点オブジェクトが連結される仮想弾性体が当該質点オブジェクトに及ぼす力を計算し、
(b)当該更新間隔時間が経過した後の、当該支持オブジェクトに対する当該質点オブジェクトの相対的な位置を表す質点変化量を、当該計算された力から計算する。
F(t) = m(t)g + Σi=1 N fi(t)
a(t) = F(t)/m(t)
が求められる。
v(t+Δt) = v(t) + a(t)Δt
と近似表現することができる。また、位置ベクトルr(t+Δt)は、
r(t+Δt) = (v(t) + v(t+Δt))Δt/2
のように近似計算できる。この計算を繰り返すことにより、任意の時点rでのオブジェクト401の重心の位置r(t)をシミュレートすることができる。
L(t) = Σi=1 N si(t)×fi(t)
と表現することができ、オブジェクト401の慣性モーメント行列をM(t)とすると、
L(t) = M(t)(ω(t+Δt) - ω(t))/Δt
が成立するから、
ω(t+Δt) = ω(t) + M(t)-1L(t)Δt
と近似表現することができる。また、姿勢ベクトルn(t+Δt)についても同様に、
n(t+Δt) = (ω(t+Δt) + ω(t))Δt/2
と近似計算が可能である。
C = (cxsin(ψ/2),cysin(ψ/2),czsin(ψ/2),cos(ψ/2))
と表現することができる。
R = (rx,ry,rz,0)
と表現することができる。
R' = C R C*
と表現できる。ここで・*はクォータニオンの共役である。
R' = (rx',ry',rz',rw')
であれば、
r' = (rx',ry',rz')
である。このほか、回転行列を用いる手法を利用しても良い。
q(t+Δt) = r(t) + Δr + spin(Δθ,q(t)-r(t))
h(0) = 0
limx→∞ h(x) = 1
a<b ⇒ h(a)≦h(b)
h(x) = x (0≦x≦1)
= 1 (1<x)
や、適当な定数Hを用いた
h(x) = 2・arctan(H・x)/π
などのほか、階段状に変化する関数を採用することもできる。
Δs = R h(|Δr|) Δr/|Δr|
Δψ = Θ h(|Δθ|) Δθ/|Δθ|
のように定める。Δs,Δψは、それぞれ、Δr,Δθのそれぞれと原点の間を内分するベクトル、すなわち、Δr,Δθのそれぞれの方向ベクトルにΔr/|Δr|,Δθ/|Δθ|に上限値R,Θを乗じ、さらに0以上1以下の係数を乗じたものである。
Q(t) = r(t) + Δs + spin(Δψ,q(t)-r(t))
となる。
u(t+Δt) - (r(t)+Δs)
r(t+Δt) = r(t) + Δr
に移動しており、しかも、
Δθ
だけ回転しているのであるから、
p(t+Δt) = r(t) + Δr + spin(Δθ,u(t+Δt)-(r(t)+Δs))
を、新たな質点オブジェクト206の位置とする。これが本実施形態の特徴の一つである。
(p(t+Δt)-p(t))/Δt
とすれば良い。
支持オブジェクト201の現在時刻における位置、速度、姿勢、角速度、質量、慣性モーメント、
複数の質点オブジェクト206の現在時刻における位置、速度、質量、
複数の仮想弾性体211のそれぞれが連結する質点オブジェクト206同士の関係、もしくは、質点オブジェクト206と支持オブジェクト201の連結点の位置、
複数の仮想弾性体211の自然長、バネ定数、
重力や風力などの外力の分布、
現在の時刻、時刻の刻み幅(更新間隔時間)、
支持オブジェクト201の表面や質点オブジェクト206のメッシュを構成するポリゴンと、当該ポリゴンに貼り付けられるテクスチャ
などの情報を記憶する。
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
201 支持オブジェクト
206 質点オブジェクト
211 仮想弾性体
212 連結点
231 仮想空間
236 グローバル座標系
241 ローカル座標系
401 オブジェクト
402 重心
403 基準点
451 重力
452 外力
453 変位
501 仮想連結点
511 外力
512 外力
513 外力
514 外力
701 シミュレーション装置
702 記憶部
703 支持計算部
704 支持修正部
705 質点計算部
706 支持更新部
707 質点更新部
708 画像生成部
Claims (7)
- 仮想空間に配置される支持オブジェクトの位置および姿勢、ならびに、複数の質点オブジェクトの位置をシミュレートするシミュレーション装置であって、
当該仮想空間において、当該複数の質点オブジェクトのそれぞれは、当該支持オブジェクトもしくは当該複数の質点オブジェクトのうち他の質点オブジェクトと仮想弾性体を介して連結され、
当該支持オブジェクトの位置および姿勢と、当該複数の質点オブジェクトの位置と、を記憶する記憶部、
更新間隔時間の経過による当該支持オブジェクトの位置および姿勢の変化を表す支持変化量を計算する支持計算部、
前記計算された支持変化量を所定の閾値を超えないように修正した支持修正量を計算する支持修正部、
前記記憶された当該支持オブジェクトの位置および姿勢から前記計算された支持修正量だけ移動した位置および姿勢と、前記記憶された当該複数の質点オブジェクトの位置と、から、当該複数の質点オブジェクトのそれぞれについて、
(a)当該質点オブジェクトが連結される仮想弾性体が当該質点オブジェクトに及ぼす力を計算し、
(b)当該更新間隔時間が経過した後の、当該支持オブジェクトに対する当該質点オブジェクトの相対的な位置を表す質点変化量を、当該計算された力から計算する
質点計算部、
前記記憶部に記憶される支持オブジェクトの位置および姿勢から前記計算された支持変化量だけ移動した位置および姿勢で、当該支持オブジェクトの位置および姿勢を更新する支持更新部、
前記記憶部に記憶される複数の質点オブジェクトの位置のそれぞれを、前記位置および姿勢が更新された当該支持オブジェクトの位置から、当該質点オブジェクトに対して前記計算された質点変化量だけ移動した位置で、当該質点オブジェクトの位置を更新する質点更新部
とを備えるシミュレーション装置。 - 請求項1に記載のシミュレーション装置であって、
前記支持修正部は、前記計算された支持変化量を、単調増加し極限が当該所定の閾値以下である内分関数に適用して、当該支持修正量を計算する
ことを特徴とするシミュレーション装置。 - 請求項2に記載のシミュレーション装置であって、
前記支持修正部における内分関数は、当該支持変化量のうち位置の変化量に対して適用される位置内分関数と、当該支持変化量のうち姿勢の変化量に対して適用される姿勢内分関数と、からなり、
当該位置内分関数は、当該位置の変化量の上限値に0以上1以下の係数を乗じる単調増加関数であり、
当該姿勢内分関数は、当該姿勢の変化に係る軸周りの回転角の上限値に0以上1以下の係数を乗じる単調増加関数である
ことを特徴とするシミュレーション装置。 - 請求項3に記載のシミュレーション装置であって、
前記質点計算部は、当該位置内分関数に係る係数の逆数もしくは当該係数の逆数の自乗を当該仮想弾性体の弾性係数に乗じて、当該質点変化量を計算する
ことを特徴とするシミュレーション装置。 - 請求項1から4のいずれか1項に記載のシミュレーション装置であって、
前記記憶される複数の質点オブジェクトを頂点とするポリゴンに所定のテクスチャを貼り込んで、当該支持オブジェクトと、当該支持オブジェクトに連結される可変形オブジェクトと、の画像を生成する画像生成部
をさらに備えることを特徴とするシミュレーション装置。 - 仮想空間に配置される支持オブジェクトの位置および姿勢、ならびに、複数の質点オブジェクトの位置をシミュレートするシミュレーション方法であって、
当該支持オブジェクトの位置および姿勢と、当該複数の質点オブジェクトの位置と、を記憶する記憶部、支持計算部、支持修正部、質点計算部、支持更新部、質点更新部を備えるシミュレーション装置にて実行され、
当該仮想空間において、当該複数の質点オブジェクトのそれぞれは、当該支持オブジェクトもしくは当該複数の質点オブジェクトのうち他の質点オブジェクトと仮想弾性体を介して連結され、
前記支持計算部が、更新間隔時間の経過による当該支持オブジェクトの位置および姿勢の変化を表す支持変化量を計算する支持計算工程、
前記支持修正部が、前記計算された支持変化量を所定の閾値を超えないように修正した支持修正量を計算する支持修正工程、
前記質点計算部が、前記記憶された当該支持オブジェクトの位置および姿勢から前記計算された支持修正量だけ移動した位置および姿勢と、前記記憶された当該複数の質点オブジェクトの位置と、から、当該複数の質点オブジェクトのそれぞれについて、
(a)当該質点オブジェクトが連結される仮想弾性体が当該質点オブジェクトに及ぼす力を計算し、
(b)当該更新間隔時間が経過した後の、当該支持オブジェクトに対する当該質点オブジェクトの相対的な位置を表す質点変化量を、当該計算された力から計算する
質点計算工程、
前記支持更新部が、前記記憶部に記憶される支持オブジェクトの位置および姿勢から前記計算された支持変化量だけ移動した位置および姿勢で、当該支持オブジェクトの位置および姿勢を更新する支持更新工程、
前記質点更新部が、前記記憶部に記憶される複数の質点オブジェクトの位置のそれぞれを、当該位置および姿勢が更新された支持オブジェクトの位置から、当該質点オブジェクトに対して前記計算された質点変化量だけ移動した位置で、当該質点オブジェクトの位置を更新する質点更新工程
とを備えるシミュレーション方法。 - 仮想空間に配置される支持オブジェクトの位置および姿勢、ならびに、複数の質点オブジェクトの位置をコンピュータにシミュレートさせるプログラムであって、
当該仮想空間において、当該複数の質点オブジェクトのそれぞれは、当該支持オブジェクトもしくは当該複数の質点オブジェクトのうち他の質点オブジェクトと仮想弾性体を介して連結され、
当該プログラムは、当該コンピュータを、
仮想空間内に配置される支持オブジェクトの位置および姿勢と、複数の質点オブジェクトの位置と、を記憶する記憶部、
更新間隔時間の経過による当該支持オブジェクトの位置および姿勢の変化を表す支持変化量を計算する支持計算部、
前記計算された支持変化量を所定の閾値を超えないように修正した支持修正量を計算する支持修正部、
前記記憶された当該支持オブジェクトの位置および姿勢から前記計算された支持修正量だけ移動した位置および姿勢と、前記記憶された当該複数の質点オブジェクトの位置と、から、当該複数の質点オブジェクトのそれぞれについて、
(a)当該質点オブジェクトが連結される仮想弾性体が当該質点オブジェクトに及ぼす力を計算し、
(b)当該更新間隔時間が経過した後の、当該支持オブジェクトに対する当該質点オブジェクトの相対的な位置を表す質点変化量を、当該計算された力から計算する
質点計算部、
前記記憶部に記憶される支持オブジェクトの位置および姿勢から前記計算された支持変化量だけ移動した位置および姿勢で、当該支持オブジェクトの位置および姿勢を更新する支持更新部、
前記記憶部に記憶される複数の質点オブジェクトの位置のそれぞれを、当該位置および姿勢が更新された支持オブジェクトの位置から、当該質点オブジェクトに対して前記計算された質点変化量だけ移動した位置で、当該質点オブジェクトの位置を更新する質点更新部
として機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006172207A JP4210293B2 (ja) | 2006-06-22 | 2006-06-22 | シミュレーション装置、シミュレーション方法、ならびに、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006172207A JP4210293B2 (ja) | 2006-06-22 | 2006-06-22 | シミュレーション装置、シミュレーション方法、ならびに、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008003824A true JP2008003824A (ja) | 2008-01-10 |
JP4210293B2 JP4210293B2 (ja) | 2009-01-14 |
Family
ID=39008154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006172207A Active JP4210293B2 (ja) | 2006-06-22 | 2006-06-22 | シミュレーション装置、シミュレーション方法、ならびに、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4210293B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009104777A1 (ja) * | 2008-02-18 | 2009-08-27 | 株式会社島精機製作所 | 着装シミュレーション装置とシミュレーションプログラム、及びシミュレーション方法 |
JP2012183100A (ja) * | 2011-03-03 | 2012-09-27 | Konami Digital Entertainment Co Ltd | ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム |
-
2006
- 2006-06-22 JP JP2006172207A patent/JP4210293B2/ja active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009104777A1 (ja) * | 2008-02-18 | 2009-08-27 | 株式会社島精機製作所 | 着装シミュレーション装置とシミュレーションプログラム、及びシミュレーション方法 |
JP5431173B2 (ja) * | 2008-02-18 | 2014-03-05 | 株式会社島精機製作所 | 着装シミュレーション装置とシミュレーションプログラム |
JP2012183100A (ja) * | 2011-03-03 | 2012-09-27 | Konami Digital Entertainment Co Ltd | ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4210293B2 (ja) | 2009-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990754B1 (en) | System for rendering using position based finite element simulation | |
JP4519883B2 (ja) | キャラクター表示装置、キャラクター表示方法、ならびに、プログラム | |
US8538737B2 (en) | Curve editing with physical simulation of mass points and spring forces | |
JP4037889B2 (ja) | 画像生成装置、画像生成方法、ならびに、プログラム | |
KR100898671B1 (ko) | 화상처리장치, 화상처리방법, 및, 프로그램을 기록한 컴퓨터 판독 가능한 정보기록매체 | |
JP4425890B2 (ja) | シミュレーション装置、シミュレーション方法、ならびに、プログラム | |
JP4210293B2 (ja) | シミュレーション装置、シミュレーション方法、ならびに、プログラム | |
JP4199764B2 (ja) | スキンの制御点の位置の計算装置、計算方法、ならびに、プログラム | |
JP2009020874A (ja) | 髪シミュレーション方法およびその装置 | |
JP4457099B2 (ja) | 画像処理装置、画像処理方法、ならびに、プログラム | |
JP4815521B2 (ja) | 画像処理装置、画像処理方法、ならびに、プログラム | |
JP4244352B2 (ja) | 画像生成装置、画像生成方法、ならびに、プログラム | |
JP5155262B2 (ja) | 画像生成装置、画像生成方法、ならびに、プログラム | |
JP4113179B2 (ja) | シミュレーション装置、シミュレート方法、ならびに、プログラム | |
JP4229316B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4287479B2 (ja) | 画像生成装置、画像生成方法、ならびに、プログラム | |
JP4563461B2 (ja) | 画像生成装置、画像生成方法、ならびに、プログラム | |
JP4068093B2 (ja) | シミュレーション装置、シミュレート方法、ならびに、プログラム | |
WO1997031338A1 (fr) | Generateur d'images, procede de generation d'images et support d'enregistrement d'images | |
JP4641602B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4391633B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP2007087030A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2006252423A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4345996B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP4098574B2 (ja) | 画像処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081021 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081024 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4210293 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111031 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121031 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131031 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |