鎖の挙動をシミュレートしたい
鎖の挙動をプログラムしたくなった。
ゲームに使うのでそれっぽく見えればいいのだけど
それなりにじゃらじゃらした感じは出したい。
いわゆる物理シミュレーションの分野?
まずはじめに目を付けたのはバネモデルという物。
紐だの布だのの挙動をそれっぽくシミュレートするのに使われてるようだ。
詳しい話は
もんしょの巣穴
プログラムの部屋 > 第58回 物理シミュの基礎・前編
プログラムの部屋 > 第59回 物理シミュの基礎・後編
に。 サンプルのソースもあって分かりやすかった。
しかし、鎖の場合
引っ張ってもバネほど伸びないし
(簡単に、伸びないとしていいと思う)
縮ませても元に戻ろうとしないので
バネモデルで表現するのには少し無理があると感じた。
次に、伸びないということに目を付けると
多重振り子で表現できるのではないかと思った。
しかし、ざっと見て、なにやら面倒くさそうだったし
縮むということが考慮されていなかったので
どうしたものか…。
結局、今のところ、鎖を質点の連なりと考えて
連なってる隣の質点との距離が一定以上離れないように補正をしつつ動かす
というような感じで組もうと考えているが、まだまとまらない。
そういえば
スーパーマリオ3のワンワンはそれなりの動きをしていた
ような気もしないでもないけど
あれはどうしてたんだろうな。
ゲームに使うのでそれっぽく見えればいいのだけど
それなりにじゃらじゃらした感じは出したい。
いわゆる物理シミュレーションの分野?
まずはじめに目を付けたのはバネモデルという物。
紐だの布だのの挙動をそれっぽくシミュレートするのに使われてるようだ。
詳しい話は
もんしょの巣穴
プログラムの部屋 > 第58回 物理シミュの基礎・前編
プログラムの部屋 > 第59回 物理シミュの基礎・後編
に。 サンプルのソースもあって分かりやすかった。
しかし、鎖の場合
引っ張ってもバネほど伸びないし
(簡単に、伸びないとしていいと思う)
縮ませても元に戻ろうとしないので
バネモデルで表現するのには少し無理があると感じた。
次に、伸びないということに目を付けると
多重振り子で表現できるのではないかと思った。
しかし、ざっと見て、なにやら面倒くさそうだったし
縮むということが考慮されていなかったので
どうしたものか…。
結局、今のところ、鎖を質点の連なりと考えて
連なってる隣の質点との距離が一定以上離れないように補正をしつつ動かす
というような感じで組もうと考えているが、まだまとまらない。
そういえば
スーパーマリオ3のワンワンはそれなりの動きをしていた
ような気もしないでもないけど
あれはどうしてたんだろうな。