2017年3月3日金曜日

Pythonプログラムでハート型をランダムにいっぱい描く❤

ランダムに円を描画する【Python】の続きです

式を変えてランダムにハート型を描画するプログラムです





変えたところを主に紹介いたします

hsize = random.randint(10,70)
#ランダムでハートの大きさを変える設定です

en += np.fromfunction(lambda x,y: (x-m)**2+((y-n)-(abs(x-m))**0.95)**2 <hsize**2, (sizex,sizey))

#複雑な式になってしまいました。順に説明します

円の基本式は  x^2+y^2=r^2
円の内側を描画するために  x^2+y^2 < r^2
ハートの式 x^2+(y-|x|^0.95)^2<r^2
  #0.95を小さくすると円に近づきます

座標を入れると
(x-m)^2+((y-n)-|x-m|^0.95)^2 < r^2

実はこのままだとハートを横倒しにした形❥になるので、座標変換を行いました

単純に
en.transpose()を使うと逆ハート型になってしまいましたので、自力で反転しました
for m in range(sizex):
    for n in range(sizey):
        han[m][n]=en[n][sizex-1-m] 


重なるマークは省くとか考えたらいろんな画像を作れちゃいそうですね

そのうちブログの背景とかサムネがpythonでプログラムした画像になっているかもしれませんねw


<<<   ランダムに円を描画する【Python】



0 件のコメント:

コメントを投稿