見出し画像

リケコイ2期のr=1-sin(θ)をグラフに描画する

リケコイ2期が2022年4月より始まります。
タイトルにr=1-sin θ(ハート)とあります。
このr=1-sin θは文字通りハートを描く関数です。

このハートを描く関数を実際にPythonで書いていこうと思います。

r=1-sin θを描くコード

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


def heart_func_ver1():
   x = (1 - np.sin(t))*np.cos(t)
   y = (1 - np.sin(t))*np.sin(t)
   
   return x,y

def heart_func_ver2():
   x = 16*np.sin(t)**3
   y = 13*np.cos(t)-5*np.cos(2*t)-2*np.cos(3*t)-np.cos(4*t)
   
   return x,y

def plot_func(x,y):
       #軸の自動設定
   PI = np.pi
   t = np.linspace(0, 2*PI, 1000000)
   
   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__":
   x,y = heart_func_ver1()
   plot_func(x,y)
   x,y = heart_func_ver2()
   plot_func(x,y)


描画結果

タイトルに描かれているハートになりました。
まさにr=1-sin θ(ハート)です。
この式はカージオイドといって、別名心臓形とも呼ばれる有名な極座標式。

スクリーンショット 2022-03-28 15.26.06

3期はこの関数!?

ハートの形を描く式は複数あります。
3期と続くことがあるとすれば、次にタイトルに使われる式はこれではないでしょうか?
r=1-sin θはハートを描くシンプルな関数です。
ちょっと形がハートというよりお○つに似ています。(やめい!)
おそらく、2人の恋愛感情が高まるにつれて、より精密な形のハートになるはずです。
そこで、3期以降の使われるであろう式を勝手に予想します。

x = 16*np.sin(t)**3 y = 13*np.cos(t)-5*np.cos(2*t)-2*np.cos(3*t)-np.cos(4*t)

式が複雑ですがよりハートの形がしっかりしているのではないでしょうか。

スクリーンショット 2022-03-28 15.25.59

ハートを描く関数は他にもありますので、探してみるのもよいでしょう。

ノンクレジットOP/ED

2期のOPとEDがノンクレジットで公開されています。
OPは雨宮天さんの綺麗な歌声、EDはノリの良いテンポの曲です。


漫画は全12巻!

実写版も出ているのですね


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