Форум сайта python.su
Нарисуйте объемное изображение цилиндра, как показано на схеме.
Вводятся:
радиус большой дуги овала(r), высота(h), цвет контура и цвет заливки.
Толщина контура 2 пикселя, при рисовании пунктирной линии пропуски и дуги чередуются через 9 градусов на малых дугах и через 4.5 на большой.
Я не понимаю как нарисовать овал и пунктир. Можете хотя бы сделать сам овал и овал с пунктиром без задаваемых значений, но чтобы их можно было подставить.
Отредактировано Silent0agent (Дек. 18, 2023 19:45:17)
Прикреплённый файлы:
markdown-image.png (33,8 KБ)
Офлайн
Функцию отсюда взял
https://barzunov.ru/2019/11/turtle-draw-ellipse/
Чуть переделал функцию (добавил пунктир)
#!/usr/bin/env python3 import turtle import math def ellipse(a, b, color='black', fill=''): """ This function draws an ellipse. """ dx = turtle.xcor() dy = turtle.ycor() turtle.color(color, fill) turtle.begin_fill() for deg in range(361): rad = math.radians(deg) x = a * math.sin(rad) + dx y = -b * math.cos(rad) + b + dy turtle.goto(x, y) if y > b: if deg % 10 == 0: turtle.penup() if deg % 10 == 5: turtle.pendown() else: turtle.pendown() turtle.end_fill() ellipse(250, 90)
Отредактировано py.user.next (Дек. 19, 2023 02:20:31)
Офлайн