2016年8月29日月曜日

開発環境

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 コメント:

コメントを投稿