понедельник, 10 августа 2020 г.

Кривая и снежинка Коха на Python

 http://judge.mipt.ru/mipt_cs_on_python3/labs/lab8.html


import turtle


def kr_Koxa(x,depth):

    if depth==1:

        #turtle.left(60)

        return

    

    turtle.forward(x)

    turtle.left(60)

    turtle.forward(x)

    turtle.left(-120)

    turtle.forward(x)

    turtle.left(60)

    turtle.forward(x)

    if depth==5 or depth%3==0:

         turtle.left(60)

    elif depth%2==0:

        turtle.left(-120)

    return kr_Koxa(x,depth-1)


kr_Koxa(30,5)


Другой вариант программы

https://barzunov.ru/2020/01/turtle-draw-ko%D1%81h-snowflake/

import turtle

 

size = 300

n = 3

 

def koch_curve(size, n):

    if n == 0:

        turtle.forward(size)

    else:

        koch_curve(size / 3, n - 1)

        turtle.left(60)

        koch_curve(size / 3, n - 1)

        turtle.right(120)

        koch_curve(size / 3, n - 1)

        turtle.left(60)

        koch_curve(size / 3, n - 1)

 

#koch_curve(size, n)


def koch_snow(size,n):

    koch_curve(size, n)

    turtle.right(120)

    koch_curve(size, n)

    turtle.right(120)

    koch_curve(size, n)


koch_snow(size,n)

Комментариев нет:

Отправить комментарий