開発環境
- OS X El Capitan - Apple (OS)
- Emacs (Text Editor)
- Python 3.5 (プログラミング言語)
Pythonからはじめる数学入門 (Amit Saha (著)、黒川 利明 (翻訳)、オライリージャパン)の6章(幾何図形とフラクタルを描画する)、6.4(プログラミングチャレンジ)、問題6-1(正方形に円を詰める)を取り組んでみる。
問題6-1(正方形に円を詰める)
コード(Emacs)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
def draw_square():
square = plt.Polygon([(1, 1), (5, 1), (5, 5), (1, 5)], closed=True,
fc='yellow', ec='red')
return square
def draw_circle(x, y):
circle = plt.Circle((x, y), radius=0.5, fc='green', ec='blue')
return circle
if __name__ == '__main__':
fig = plt.figure(figsize=(4, 4))
ax = plt.gca()
square = draw_square()
ax.add_patch(square)
nums = [1.5 + n for n in range(4)]
for x in nums:
for y in nums:
circle = draw_circle(x, y)
ax.add_patch(circle)
plt.axis('scaled')
ax.set_aspect('equal')
plt.savefig('circles.svg')
plt.show()
入出力結果(Terminal, IPython)
$ ./sample1.py $
0 コメント:
コメントを投稿