Блоґ одного кібера

Історія хвороби контуженого інформаційним вибухом

Пітон і черепаха

with 4 comments

Так, так, так, Python містить вбудований модуль черепашачої графіки. Ох я сьогодні награвся!

import turtle

Функція що малює гілочку:

def turtleY(l):
	turtle.pensize(l/10)
	turtle.fd(l)
	if l<5:
		turtle.bk(l)
		return
	turtle.lt(30)
	turtleY(l*0.5)
	turtle.rt(60)
	turtleY(l*0.8)
	turtle.lt(30)
	turtle.bk(l)

Черепаха в процесі малювання четвертої гілочки

Якщо їх намалювати багато вийде ліс. Чи перекотиполе:

А з послідовністю Морзе-Туе, має виходити щось ще цікавіше. Вікіпедія пише, як зробити сніжинку Коха. Але її вже всі бачили. А якщо взяти наприклад кожен третій член послідовності, і повертати на 90, вийде чорт зна що:

def morsetye(n):
	if n==0:
		return 0
	if n % 2 == 1:
		return 1-morsetye(n/2)
	else:
		return morsetye(n/2)

def coch(n):
	for i in range(n):
		d=morsetye(i*3)
		if d==0:
			turtle.fd(3)
		elif d==1:
			turtle.lt(90)

А якщо ще й повертати інакше:

def coch(n):
        for i in range(n):
                d=morsetye(i*3)
                if d==0:
                        turtle.rt(9)
                elif d==1:
                        turtle.lt(6)
                turtle.fd(3)

Ну, і на останок сніжка Коха. Хоча в ній лише 7 сніжинок 🙂 .


def c2(l):
	if l<4:
		turtle.fd(l)
		return
	c2(l/3)
	turtle.lt(60)
	c2(l/3)
	turtle.rt(120)
	c2(l/3)
	turtle.lt(60)
	c2(l/3)

def cochstar(l):
	c2(l)
	turtle.right(120)
	c2(l)
	turtle.right(120)
	c2(l)


turtle.shape('turtle')
turtle.speed(3000)
turtle.lt(90)
turtle.pendown()

for i in range(3):
	cochstar(100)
	cochstar(100)
	cochstar(100)
	c2(100)
	turtle.left(120)
	c2(100)

Поки все…

Хоча ні. Можна ще побачити як вона бігає:

Written by bunyk

11 Жовтня, 2010 at 07:38

Опубліковано в Графіка, Кодерство

Tagged with ,

Відповідей: 4

Subscribe to comments with RSS.

  1. дитячі забавки =) і криву дракона і сніжинку коха і навіть примітивне лого ще в ліцеї робили

    робив би щось більш довготривале.. наприклад, вікіпедію би правив…

    danbst

    12 Жовтня, 2010 at 23:07

  2. Якби не мої дитячі забавки, я б зараз не вчився на кібернетика.

    А довготривале я теж робив.

    bunyk

    12 Жовтня, 2010 at 23:13

  3. Бунику, простий монтаж відео можна робити програмкою Pitivi. Openshot складніший, але потужніший.

    І відео — це круто. Вірніше, анімована побудова фракталів — це круто 🙂

    ulidtko

    19 Жовтня, 2010 at 23:48

  4. 🙂 Де ж мій 6й клас та IBM Logo під DOS на дискетах 🙂 Круто було

    grandse

    13 Листопада, 2010 at 18:32


Залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.