Программа черепашка как сделать звезду

Здравствуйте. В этой статье продолжим разбирать функции и возможности графической библиотеки «Черепашка» в языке Python. Предыдущие статьи на эту тему можно почитать по ссылкам:

Сегодня рассмотрим, как нарисовать звезду. Создадим функцию «star», которая будет принимать количество вершин нашей звезды и второй аргумент это размер нашей звезды. Для того чтобы определить угол вершины нашей звезды воспользуемся формулой.

Количество вершин делим нацело на 2, умножаем на 360 градусов и делим на количество вершин. Данная формула работает только с нечетным количеством вершин. Поэтому сделаем проверку на четность вершин, и если нечетное количество, рисуем звезду. А если четное прибавляем один к количеству вершин и вызываем нашу функцию, которая рисует звезду. Вот как все получается.

Вызовем нашу функцию и передадим ей (7, 150) и (10, 100).

В первом случае звезда семиконечная, а во втором одинадцатиконечная, все как мы и планировали.

В этой коротенькой статье разобрали, как рисовать различные звезды, в следующей статье нарисуем звездное небо.

Как нарисовать звездное небо turtle | Программирование на Python

Источник: dzen.ru

Русские Блоги

Библиотека Python turtle (рисование пятиконечных звезд и фрактальных деревьев)

Для подробного ознакомления с библиотекой черепах см. Короткую книгу:https://www.jianshu.com/p/e7beda76c622

Простой процесс рисования пятиконечной звезды является базовой операцией. На основе этой базовой операции можно добавлять различные программы для реализации различных функций.

1.0 Простая пятиконечная звезда:

Сначала вызовите библиотеку turtle, чтобы создать основную функцию. Эта основная функция используется для рисования пятиконечной звезды, и, наконец, вызывается основная функция. Для рисования пятиконечной звезды требуется 5 штрихов, и для каждого рисунка требуется поворот на 144 градуса. Установите длину стороны пятиконечной звезды равной 144. На самом деле это очень простой процесс: чтобы задать угол поворота и длину чертежа, достаточно вызвать цикл.

Читайте также:
Как называется программа для перевода текста с фотографии

import turtle def main(): count=1 while count

2.0 Нарисуйте треугольники с разной длиной стороны:

На основе рисунка простой пятиконечной звезды сделайте петлю, и петлю, когда будет нарисована каждая пятиконечная звезда. Длина стороны пятиконечной звезды будет меняться каждый раз при повторении цикла.Размер — это параметр в функции рисования пятиконечной звезды. turtle.pensize (2) turtle.pencolor («красный») может установить ширину и цвет пера.

import turtle def draw_tagram(size): count = 1 while count

3.0 Используйте рекурсию для рисования треугольников:

Функции 2.0 и 3.0 одинаковы, но реализация отличается. 3.0 проще, чем 2.0, и процесс рисования пятиконечной звезды в каждом цикле реализуется рекурсией, что значительно сокращает написание кода.

Как нарисовать звезду turtle | Программирование на Python


import turtle def inter_draw(size): count=1 while count

4.0 Нарисуйте фрактальное дерево:

Рисование фрактального дерева — это приложение рекурсивной функции. Каждая рекурсия идет вперед, поверните на 20 градусов вправо, а затем вперед, затем поверните налево на 40 градусов, а затем вперед и, наконец, вернитесь в начальную точку ветви, но ветка становится короче по мере продвижения к вершине. Кроме того, если начальная точка находится не в центре холста, вы также можете сначала переместить начальное положение кисти:

turtle.penup() turtle.backward(120) turtle.pendown()

import turtle def draw_tree(branch_length): if branch_length>5: turtle.forward(branch_length) ### print (‘вперед’, длина_ветки) turtle.right(20) ### print (‘Поверните направо 20’) draw_tree(branch_length-15) ### print (‘вперед’, branch_length-15) turtle.left(40) ### print (‘Поверните налево на 40’) draw_tree(branch_length — 15) ### print (‘вперед’, branch_length-15) turtle.right(20) ### print (‘Поверните направо 20’) turtle.backward(branch_length) def main(): turtle.pencolor(‘red’) turtle.left(90) turtle.penup() turtle.backward(120) turtle.pendown() draw_tree(100) turtle.exitonclick() if __name__==»__main__»: main()

Источник: russianblogs.com

Как нарисовать 11-ти конечную звезду на turtle? Python [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме.

Читайте также:
Программа зерновозы как работает

Закрыт 1 год назад .

Звезда

Нужно нарисовать следующую 11-ти конечную звезду на turtle : Помогите, пожалуйста

Отслеживать
1,902 2 2 золотых знака 7 7 серебряных знаков 26 26 бронзовых знаков
задан 9 дек 2021 в 17:23
gsrifjdtuet gsrifjdtuet
1 1 1 серебряный знак 5 5 бронзовых знаков
9 дек 2021 в 18:34
Помог ответ?

Поставьте галочку 🙂
9 дек 2021 в 18:37

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Помогаю — нужно ехать прямо нужную длину. Потом повернуть на такой угол, чтобы получилась 11 конечная звезда.

Повторить 11 раз

А этот угол — 180-180/11 градусов (черепашка же в градусах работает?)

Отслеживать
ответ дан 9 дек 2021 в 17:47
48.7k 1 1 золотой знак 17 17 серебряных знаков 40 40 бронзовых знаков

from turtle import * t = Turtle() for i in range(11): t.right(10) t.fd(80) t.left(160) t.fd(100)

Но немного кривенькая. Вот скриншот:

Скриншот

from turtle import * t = Turtle() for i in range(11): t.right(180-180/11) t.fd(200)

Вот так получится:

Cкриншот 2

Отслеживать
ответ дан 9 дек 2021 в 18:01
1,902 2 2 золотых знака 7 7 серебряных знаков 26 26 бронзовых знаков
Кривая звезда какая-то. :))
9 дек 2021 в 18:05
Можно подправить немного величину в t.right(10)

9 дек 2021 в 18:06

Так всё же проще делается: from turtle import * t = Turtle() for i in range(11): t.right(180-180/11) t.fd(200) done()

9 дек 2021 в 18:07
9 дек 2021 в 18:14

можно в лоб замутить:

import turtle import math # вычислить координаты radius = 100 center_x = 0 center_y = 0 points_count = 21 points = [(center_x + radius * math.cos(2 * math.pi * i / points_count), center_y + radius * math.sin(2 * math.pi * i / points_count)) for i in range(points_count)] # построить изображение turtle.penup() turtle.goto(points[0]) turtle.pendown() index = 0 while True: index += points_count // 2 index = index % points_count turtle.setpos(points[index]) if index == 0: break turtle.done()
Отслеживать
ответ дан 9 дек 2021 в 17:54
37k 4 4 золотых знака 25 25 серебряных знаков 67 67 бронзовых знаков
Ничего себе «в лоб». И это вместо, по сути, одного цикла состоящего из пары команд. 🙂
9 дек 2021 в 18:09
сделайте скидку человеку, знакомство которого с черепахой составило 2 минуты :'(.
9 дек 2021 в 18:10
Вот-вот. Хорошо, что ещё какой-нибудь numpy не был задействован, или что-то вроде того. ))
9 дек 2021 в 18:12
кстати используя matplotlib суммарно строчки в 3-4 можно было бы уложиться 🙂
9 дек 2021 в 18:17
9 дек 2021 в 18:31

  • python
  • графика
  • turtle
    Важное на Мете
Читайте также:
Программа чтобы посмотреть контакты с телефона

Похожие

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник: ru.stackoverflow.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru