見出し画像

恋する小惑星(アステロイド)のアステロイドを描いてみた

恋する小惑星(アステロイド)というアニメがありますが、アステロイドとは何でしょう。
アステロイドの語源はギリシャ語でaster(星の)+ -oid(ようなもの)という謂があり、数学では媒介変数で描画できる曲線で有名な形の一つです。

このアステロイドをpythonで描いてみようと思います。

アステロイドは以下の式になります。
解くのは面倒ですが、プログラムでアステロイドを描くのは簡単です。

{\displaystyle x=a\cos ^{3}\theta ,\quad y=a\sin ^{3}\theta }

コード

import math
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

def astroid(a,t):
   x = a*np.cos(t)**3
   y = a*np.sin(t)**3
   
   return x,y

def plot_func(x,y):
   plt.gca().set_aspect('equal', adjustable='box')
   plt.grid(which='major', color='gray',linestyle='--')
   plt.grid(which='minor',color='gray',linestyle='--')
   plt.plot(x,y)
   plt.show()

if __name__ == "__main__":
   PI = np.pi
   t = np.linspace(0, 2*PI, 1000000)
   x,y = astroid(1,t)
   plot_func(x,y)

描画結果

アステロイドは下図のようになります。
aの値が半径になります。

アステロイド

アニメ・漫画情報

恋するアステロイドはamazon prime videoで見ることができます。
アニメに関する内容ここだけかいw


この記事が参加している募集

やってみた

よろしければサポートをよろしくお願いします。サポートいただいた資金は活動費に使わせていただきます。