開発環境
- macOS High Sierra - Apple
- Emacs (Text Editor)
- Python 3.6 (プログラミング言語)
Pythonからはじめる数学入門 (Amit Saha (著)、黒川 利明 (翻訳)、オライリージャパン)の6章(幾何図形とフラクタルを描画する)、5.4(プログラミングチャレンジ)、問題6-1(正方形に円を詰める)を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3 import matplotlib.pyplot as plt ax = plt.axes(xlim=(0, 6), ylim=(0, 6)) ax.set_aspect('equal') def draw_square(): square = plt.Polygon([(1, 1), (5, 1), (5, 5), (1, 5)], closed=True) print(square) ax.add_patch(square) def draw_circle(x, y): circle = plt.Circle((x, y), radius=0.5, facecolor='green', edgecolor='red') print(circle) ax.add_patch(circle) if __name__ == '__main__': draw_square() x = 1.5 while x <= 4.5: y = 1.5 while y <= 4.5: draw_circle(x, y) y += 1 x += 1 plt.savefig('sample1.svg')
入出力結果(Terminal, Jupyter(IPython))
$ ./sample1.py Poly((1, 1) ...) Circle(xy=(1.5, 1.5), radius=0.5) Circle(xy=(1.5, 2.5), radius=0.5) Circle(xy=(1.5, 3.5), radius=0.5) Circle(xy=(1.5, 4.5), radius=0.5) Circle(xy=(2.5, 1.5), radius=0.5) Circle(xy=(2.5, 2.5), radius=0.5) Circle(xy=(2.5, 3.5), radius=0.5) Circle(xy=(2.5, 4.5), radius=0.5) Circle(xy=(3.5, 1.5), radius=0.5) Circle(xy=(3.5, 2.5), radius=0.5) Circle(xy=(3.5, 3.5), radius=0.5) Circle(xy=(3.5, 4.5), radius=0.5) Circle(xy=(4.5, 1.5), radius=0.5) Circle(xy=(4.5, 2.5), radius=0.5) Circle(xy=(4.5, 3.5), radius=0.5) Circle(xy=(4.5, 4.5), radius=0.5) $
0 コメント:
コメントを投稿