LoginSignup
5
5

More than 5 years have passed since last update.

スピログラフをPythonで書いてみる

Posted at

環境

できたもの

n25_h50.png

n50_h100.png

数式

こちらを参考にしました。
-"正多角形とスピログラフの数式"

以下のように実装しました。

計算式実装.py
def get_spirograph(n,h):
    x = []
    y = []
    for idx in range(100000):
        x.append(func_x(t_radian(idx),n,h))
        y.append(func_y(t_radian(idx),n,h))
    return x,y

def func_x(t,n,h):
    ans = 0
    ans = ((n-1)*np.cos(t) + h*np.cos((n-1)*t))/n 
    return ans

def func_y(t,n,h):
    ans = 0
    ans = ((n-1)*np.sin(t) + h*np.sin((n-1)*t))/n 
    return ans

実際にグラフに描かれると面白い

上記の数式がなぜスピログラフを表すことになるのかはさっぱりわかりません。が、子供のころにくるくるやったきれいなグラフが描かれると楽しいです。

5
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5