花びらを描く

rittan-appleさんから。図形描画のおさらいで、ひまわりの花びらをきれいに描くにはどうすればいいですか?という質問を受けました。それぞれの花びらを描く位置は中心円の円周上になります。中学生以降で習う三角関数をつかって計算してみました。

pos_x, pos_y = 200, 200
r = 150
n = 13
mini_r = r * 2 * PI / n

def setup():
    size(400, 400)
    background(187, 218, 215)
    noStroke()
    drawHanabira()
    drawCenter()
    
def drawHanabira():
    fill(220, 50, 50)
    for i in range(n):
        x = r * cos(i * (360.0 / n) * (PI / 180))
        y = r * sin(i * (360.0 / n) * (PI / 180))
        ellipse(pos_x + x, pos_y + y, mini_r, mini_r)

def drawCenter():
    fill(220)    
    ellipse(pos_x, pos_y, r * 2, r * 2)

コメントする