WOLFRAM

ゴルフとサッカー

この例では,System ModelerとModelicaのいくつかの概念を使って,全く異なるシナリオを作成する方法を示します.この場合,交換可能なコンポーネントと呼ばれるものを使用して,サッカーのキックとゴルフの一打の両方を同じモデルに含めます.

この例を実行するためには以下が必要です.

System ModelerとMathematicaの最新版

どちらかお選びください.

無料評価版を
取得する
ダウンロードを
続行する

サッカーからゴルフへ

スポーツモデルコンポーネント内には,ゴルフとサッカーの2つの異なるモデルがあります.最上位層のスポーツモデルを再宣言することで,このモデルの中のどれを使うかが選択できます.

ワンクリックで使用したいモデルを再宣言するだけで,すべてのパラメータが適切に変更される.

パラメータを変更するときにユーザが選択できる事前設定済みのオプションがあると,シナリオを手動で変更しようとしてエラーが発生するリスクが軽減されます.大きな変更はモデルを再宣言して行い,ゴルフスイングの速度等の小さな変更はユーザが手動で決定します.

モデルの再宣言

最上位のスポーツモデルをサッカーモデルを使用するように再宣言すると,基本的には「ベッカムのようにボールの軌道を曲げる」の例で分析されたモデルと同じになります.サッカーモデルで何ができるかが見たい場合は,その例を確認してみてください.ここではゴルフモデルに含まれるものに焦点を当てることができます.

スポーツモデルコンポーネント内のゴルフモデルのダイアグラムビュー.マグナス力と抗力および視覚化がボディに接続され,ボディがゴルフボールに変換される.さまざまなクラブが入ったゴルフバッグを使用して,打撃後のボールの速度を計算する.

ユーザフレンドリーなモデル

再宣言でドロップダウンの選択肢が提供されるため,ユーザはシミュレーションするモデル設定が決定できます.

ゴルフボールを打つゴルフクラブのモデル化

ボールを打つクラブをモデル化する方程式は比較的単純で,「Physics for Game Programmers」という本から引用したものです.打った後のボールの速度は,インパクト時のクラブの速度,クラブのロフト角,クラブとボールの質量に依存します.異なるクラブをモデル化するために,各クラブには異なる質量,ロフト角,インパクト速度があります.ユーザが簡単にクラブを変更できるように,交換可能なコンポーネントであるGolf Bagが実装されており,内部には事前設定されたさまざまなクラブがあります.

再宣言のさまざまな選択肢が作成されたGolf Bagコンポーネント.ユーザはどのクラブをモデル化するかが簡単に決められる.

3番アイアンと9番アイアンを比較するとどうでしょうか.まず3番アイアンでゴルフモデルのシミュレーションを行い,次に同じモデルのシミュレーションを9番アイアンで行います.このためには,Golf Bagコンポーネントでクラブを再宣言し,再度シミュレーションを行うだけです.3番アイアンのロフト角は21°,9番アイアンは43°です.クラブの特性が異なることを除き,両方の打撃は同じになります.

3番アイアンからのボールの軌道をアニメーションで可視化する.
9番アイアンからのボールの軌道をアニメーションで可視化する.

3番アイアンと9番アイアンを比較すると,クラブの質量,ロフト角,打撃速度に関して特性が異なります.3番アイアンはロフト角が低いため,9番アイアンに比べてボールの打ち出し角度が低くなります.上の図では,クラブの特性の違いを除けば2つのケースの打撃は同じです.3番アイアンではボールが遠くまで飛びますが,9番アイアンほど高くは飛ばないことは簡単に分かります.

抗力とマグナス力の影響

抗力とマグナス力がボールの軌道にどのように影響するかが分析できます.力の効果を確認する最も簡単な方法は,抗力のないモデルと抗力のあるモデルを比較することです.マグナス力についても同様です.

このプロットは抗力の有無とマグナス力の有無で3番アイアンの軌道がどのように変化するかを示している.

ゴルフでズルをする方法

抗力を無効にしてマグナス力を使うと,すぐにプロゴルファーになれます!

ボールがこれらの力によってどのように影響を受けるかを理解するのは非常に簡単ですが,数学だけを使って理解するのは少し難しいかもしれません.マグナス効果を利用しながら抗力を無視してボールを打つことができれば,本当に有利になる可能性がありますが,残念ながらこれは不可能です.しかし,このプロットは減速抗力と揚力マグナス力の両方の影響を非常によく示しています.

柔軟なモデリング

System ModelerとModelicaの強みを使って柔軟なモデルが作成できます.