見出し画像

フォトギャラリー用画像#25

二項係数で描いたシェルピンスキーの ギャスケットです。

ソースコード

Google Collaboratoryの共有リンク先

#!/usr/bin/env python
# coding: utf-8

import matplotlib.pyplot as plt
import numpy as np

width = 1280; height = 670 # みんなのフォトギャラリー用にサイズを指定
im = np.ones((height, width,3))

# 二項係数の計算のテスト
h = 10 ; w = 10
mat = np.zeros((h,w))
mat[0][0]=1
for i in range (1,h):
    mat[0][i] = 1
    for j in range (1,i+1):
        mat[j][i-j] = mat[j-1][i-j]+mat[j][i-j-1]
print(mat)   

# 二項係数を2で割った余りを計算
n = height + width
mat = np.zeros((n,n))
mat[0][0]=1
for i in range (1,n-1):
    mat[0][i] = 1
    for j in range (1,i+1):
        mat[j][i-j] = (mat[j-1][i-j]+mat[j][i-j-1])%2   

# 計算結果を画像として格納
for i in range (height):
    for j in range (width):
        p = (mat[i][j]+1) %2
        im[i][j][0] = p
        im[i][j][1] = p
        im[i][j][2] = p

#画像の表示と保存
plt.imshow(im)
plt.axis('off')
plt.show()

plt.imsave('no+e025.png', im)


この記事が気に入ったらサポートをしてみませんか?