رسم سرخس بارنزلی (Barnsley Fern) بوسیلهٔ پایتون

دربارهٔ فراکتال‌ها قبلا در این صفحه توضیحاتی داده شد. برنامهٔ زیر سرخس بارنزلی (Barnsley Fern) را رسم می‌کند. این برنامه به زبان پایتون نوشته شده است.

import turtle
import random

pen = turtle.Turtle()
pen.speed(15)
pen.color("blue")
pen.penup()

x = 0
y = 0
for n in range(110000):
    pen.goto(65 * x, 37 * y - 252)
    pen.pendown()
    pen.dot()
    pen.penup()
    r = random.random()  # to get probability
    r = r * 100
    xn = x
    yn = y
    if r < 1:  # elif ladder based on the probability
        x = 0
        y = 0.16 * yn
    elif r < 86:
        x = 0.85 * xn + 0.04 * yn
        y = -0.04 * xn + 0.85 * yn + 1.6
    elif r < 93:
        x = 0.20 * xn - 0.26 * yn
        y = 0.23 * xn + 0.22 * yn + 1.6
    else:
        x = -0.15 * xn + 0.28 * yn
        y = 0.26 * xn + 0.24 * yn + 0.44

MD5 checksum:
d3578f0e48b442b4224adf69b2e02d81 *barnsley_fern.zip