Нарисуй мак в Python 3 - PullRequest
       38

Нарисуй мак в Python 3

0 голосов
/ 06 октября 2018

Мой новый класс Python (13 лет) нуждается в мероприятии в День памяти.Мы можем рисовать простые формы с черепахой;Кто-нибудь знает простой способ рисования традиционного 2-лепесткового мака?Спасибо!

1 Ответ

0 голосов
/ 24 октября 2018

Кардиоид наиболее близок к форме маков, которые вы покупаете, чтобы носить в День памяти.... Вам нужно нарисовать 2 из них (один направлен слева направо, а другой справа налево), а затем добавить черный круг ...

Как это выглядит?Это пара общих кардиоидов и круг, подобный маку:

from turtle import Screen, Turtle
from math import pi, sin, cos

def cardioid(turtle, k):
    origin_x, origin_y = turtle.position()
    theta = 0.0

    turtle.begin_fill()

    while theta < 2.0 * pi:
        x = 2 * k * (1 - cos(theta)) * cos(theta)
        y = 2 * k * (1 - cos(theta)) * sin(theta)

        turtle.goto(origin_x + x, origin_y + y)
        theta += 0.1

    turtle.end_fill()

screen = Screen()

yertle = Turtle(visible=False)
yertle.speed('fastest')  # because I have no patience
yertle.color('red')

for sign in [-1, 1]:
    yertle.penup()
    yertle.setx(sign * 100)
    yertle.pendown()

    cardioid(yertle, sign * 30)

yertle.penup()
yertle.home()
yertle.dot(80, 'black')

screen.mainloop()

enter image description here

...