You are on page 1of 3

Student button

1. Let’s draw a snowflake or a tree using fractals.


Drawing (Computer Science) of fractals (Mathematics) applied in Nature (Astrobiology).

One of the great things about Python Turtle Graphics is how it gives you instant visual feedback
on what your program is doing. This makes it a very powerful tool for exploring many topics
in Computer Science and programming in general. This presentation is about using Python
Turtle Graphics to draw a fractal pattern, using an important programming technique called
recursion. A fractal is repeating pattern which appears similar at different levels of
magnification. Recursion is the process of defining a function in terms of itself. If a function
calls itself within the function itself, the function is called recursive function.

Self-similarity in shapes is when shapes are similar to each other at all scales (magnification).
The self-similarity occurs in nature such as leaf, branche of tree, pinecone, broccoli, snowflake,
cloud, lightning, hurricane, galaxy, etc.

We’ll start with the Koch curve, which is a fractal curve and one of the earliest fractals to have
been described, which appeared in a 1904 paper titled "On a Continuous Curve Without
Tangents, Constructible from Elementary Geometry" by the Swedish mathematician Helge von
Koch. Many artists have used Koch Curves to create interesting shapes and art.

The Koch Snowflake is an example of a figure that is self-similar, meaning it looks the same on
any scale (magnification).

The simplest way to explain how to draw a snowflake is to start with a straight line. Let us use
a line of length 3 cm. The first step is to divide the line into three equal parts, each of length 1
cm. Using the middle segment as a base, we draw an equilateral triangle, whose side is 1 cm.
Then, the base of the triangle is removed, leaving us with the first iteration of the Koch Curve
(Step 1). This process can be continued indefinitely to get ever more complex Koch curves.

The program below uses Python turtle module functions to draws a Koch fractal curve. The
program uses recursion function to loop through the code to do the same operations on lines
that decrease in length in each iteration of the loop. In each iteration of the loop, the lines are
divided into three equal segments as described above.

In addition to the instructions to draw forwards, and turn left or right, I’ve made the program a
bit more flexible by creating size and order variables and passing them as arguments to
koch().Each next instruction to our turtle is executed from the turtle’s last position and direction.
Also, by symmetry, if we turn 60° to the left and 120° to the right, it’s the same as turning 60°
to the left and -120° to the left. Thus we can restate the drawing as a series of left-handed turns,
a regularity that suggests that we can write the entire else block as a for loop.
Butonul studentului

1. Cum să desenăm un fulg de zăpadă sau un copac folosind fractali. Desen (Informatică) de fractali
(Matematică) aplicat în Natură (Astrobiologie).

Unul dintre lucrurile interesante despre Python Turtle Graphics este modul în care vă oferă un răspuns,
un feedback vizual instantaneu cu privire la ceea ce face programul. Acest lucru impune să fie un
instrument puternic pentru explorarea multor subiecte, precum în informatică și programare în
general. Această prezentare este despre utilizarea graficii Python Turtle pentru a desena un model
fractal, folosind o tehnică de programare numită recursivitate. Un fractal este o figură geometrică
fragmentată care poate fi divizată în părți, astfel încât fiecare dintre acestea să fie (cel puțin
aproximativ) o copie miniaturală a întregului. Recursivitatea reprezintă proprietatea unor noțiuni de a
se defini prin ele însele. Într-o funcție recursivă recurența este realizată prin autoapelul funcției. Un
fractal este auto-similar, dacă se mărește orice porțiune dintr-un fractal, se vor obține (cel puțin
aproximativ) aceleași detalii cu cele ale fractalului întreg. Auto-similaritatea apare în natură, cum ar fi
frunza, ramură de copac, con de pin, brocoli, fulg de nea, nor, fulger, uragan, galaxie etc.

Vom începe prin prezentarea curbei Koch, care este o curbă fractală și unul dintre cei mai timpurii
fractali care au fost descriși. A apărut într-o lucrare din 1904 întitulată „On a Continuous Curve Without
Tangentes, Constructible from Elementary Geometry” publicat de către matematicianul suedez Helge
von Koch. Mulți artiști au folosit curba Koch pentru a crea forme interesante.

Fulgul Koch este un exemplu de formă de fractal care se aseamănă cu sine, ceea ce înseamnă că arată
la fel pe orice scară (mărire). Cel mai simplu mod de a explica cum să desenezi un fulg de zăpadă este
să începi desenând o linie dreaptă. De exemplu, să folosim o linie de 3 cm. Primul pas este să împărțiți
linia în trei părți egale, fiecare lung de 1 cm. Folosind segmentul din mijloc ca bază, desenăm un triunghi
echilateral, a cărui latură este de 1 cm. Apoi, baza triunghiului este îndepărtată, obținând prima iterație
a curbei Koch.

Acest proces poate fi continuat la infinit pentru a obține curbe Koch din ce în ce mai complexe.
Programul de mai jos folosește funcțiile graficii Turtle din limbajul Python pentru a desena o curbă
Koch. Programul utilizează o funcție recursivă pentru a face aceleași operații pe linii care scad în
lungime la fiecare iterație a ciclului repetat. În fiecare iterație a ciclului, liniile sunt împărțite în trei
segmente egale, așa cum este descris mai sus. În plus față de instrucțiunile de a desena înainte și de a
vira la stânga sau la dreapta, am făcut programul puțin mai flexibil creând variabile de dimensiune și
ordine și trecându-le ca argumente în funcția koch(). Fiecare din instrucțiunile următoare este
executată din ultima poziție și ultima direcție a broaștei Turtle. De asemenea, prin simetrie, dacă
întoarcem 60° la stânga și 120° la dreapta, este același lucru cu o întoarcere cu 60° la stânga și -120° la
stânga. Astfel, putem reformula desenul ca o serie de viraje la stânga, și putem descrie întreaga funcție
ciclică.
Snowflake program in Python (Program Fulg Koch în Python)

Tree program in Python (Program Copac în Python)

You might also like