機能

球体の自由落下(1)

  • 2016/10/19
  • WATANABE Tomoo
球体の自由落下(1)

今回のモデルはいつもVPS(Virtual Performance Solution)を使っている私の中では凄く感心させられたサンプルをご紹介したいと思います。

現象としては単純な球体の自由落下事象なのですが、考え方が面白いなぁと関心しました。

 

通常、3Dのシミュレーションではモデルは空間内を自由に動かすことが出来、もし何かに衝突(接触判定)する事で変形や運動に変化が生じる事になります。

SimulationXでも形状を読み込んで、それぞれのエレメントの接触について考慮することも出来ますが、このモデルでは次のような考え方をしています。

(計算諸条件は下右図の様に球体及び階段の形状や質量等が設定されています。)

BallRigid-diagram.jpg

1.'curve1'に下図のように階段の高さ(Y)が球体の水平方向位置(X)に対して定義しておくBallRigid-StairShape.jpg

2.球体の動きを2方向(massX,massY)に分割して考える。->X方向は等速運動,Y方向は'source1'による重力相当の影響を受ける運動をする

3.計算が始まるそれぞれの時刻におけるmassXの変位(X)がsensor1により計測され、現在位置に応じた階段高さ(Y)がcurve1内からpreset1に伝わる

4.preset1への入力値がmassYの可動領域つまりは階段の上面を表す(この時、endStop1に反発係数が入力されているため、徐々に跳ね返る高さが減少していく)

という事を繰り返すことで上右図赤線の様な軌跡を得ることが出来るわけです。

(上の画像にはグラフと共に運動を視覚化するための3Dモデルが有りますが、あくまでも動きを見るためのもので球体と階段の接触を考慮しているわけではありません。)