Pythonは様々なシミュレーションに使われることがありますが、今回はペンギンの歩き方をシミュレーションしてみたいと思います。ペンギンは特徴的な歩き方をするため、それを再現することができれば面白いかもしれません。

必要なライブラリのインストール

まずは必要なライブラリをインストールしましょう。

pip install numpy
pip install matplotlib

ペンギンの歩き方のモデル化

ペンギンの歩き方は以下のようにモデル化することができます。

  1. ペンギンは直進する場合と左右に曲がる場合がある
  2. 直進する場合は、前進する距離が一定である
  3. 左右に曲がる場合は、回転する角度が一定である

コードの実装

以下のコードを実行すると、ペンギンの歩き方をシミュレーションしたグラフが表示されます。

import numpy as np
import matplotlib.pyplot as plt

def penguin_walk(num_steps):
    pos = np.zeros((num_steps, 2))
    direction = np.zeros(num_steps)
    direction[0] = np.random.uniform(0, 2*np.pi)
    
    for i in range(1, num_steps):
        if np.random.random() < 0.5:
            direction[i] = direction[i-1] + np.pi/4
        else:
            direction[i] = direction[i-1] - np.pi/4
            
        pos[i] = pos[i-1] + np.array([np.cos(direction[i-1]), np.sin(direction[i-1])])
    
    plt.plot(pos[:, 0], pos[:, 1])
    plt.show()

penguin_walk(1000)

結果

以下は、上記コードを実行した結果のグラフです。

penguin_walk

グラフを見ると、ペンギンの歩き方が再現できていることが分かります。左右に曲がりながら進む様子がよく表現されています。