![見出し画像](https://assets.st-note.com/production/uploads/images/148880035/rectangle_large_type_2_cbe8cb3f4e01166370fb11fe866c32ea.png?width=1200)
フォトギャラリー用画像#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)
この記事が気に入ったらサポートをしてみませんか?