Nostalgija(2)

Zadnjič sem pisal o tem, kako je Logo kakor feniks ponovno vstal iz pepela, tokrat v preobleki Pythonove želvje grafike. Nekaj preprostih ukazov , pa vam program lahko riše lepe krivulje. Grafika pa lahko postane nekaj posebnega, če pri njenem nastajanju uporabite rekurzijo – programerski prijem, s katerim velik problem razdelite na identične, a nekoliko manjše probleme. Seveda se to da narediti samo pri posebnih problemih. Včasih smo občudovali Hilbertove krivulje, krivulje Sierpinskega, hanojske stolpiče, celo permutacije se dajo programirati rekurzivno. A tokrat (pogled skozi okno pove, da še vedno sneži) si oglejmo Kochovo snežinko.

Koda je naslednja:

#Kochova snežinka, V.Petruna feb.2013
from Tkinter import *
import math
import turtle
a=80
def koch(x,stopnja):
    if stopnja<1:
        turtle.forward(x)
    else:
        koch(x/3,stopnja-1)
        turtle.left(60)
        koch(x/3,stopnja-1)
        turtle.right(120)
        koch(x/3,stopnja-1)        
        turtle.left(60)
        koch(x/3,stopnja-1)
turtle.heading()
turtle.penup()
turtle.setpos(-600,0)
turtle.pendown()
for n in range(5):    
    for i in range(3):        
        koch(243,n)
        turtle.right(120)
    turtle.penup()
    turtle.forward(243)
    turtle.pendown()
mainloop()

Dolžina 243 ni izbrana naključno, saj je to 3^5. Tako se izognemo napaki zaradi necelega deljenja. Program nam ustvari naslednjo risbico

Ta vnos je objavil Vinc v Programiranje, Pythonove animacije. Dodaj zaznamek do trajne povezave .

O Vinc

Končal gimnazijo v Črnomlju 1971, pričel honorarno poučevati na tej gimnaziji v šol.letu 1973/74, se v šol. letu 1976/77 zaposlil kot učitelj matematike, leta 1978 diplomiral iz pedagoške matematike pri dr. Niku Prijatelju s temo Galoisova teorija. Na gimnaziji in poklicni kovinarski šoli učil matematiko, fiziko, fizikalna merjenja, računalništvo ter informatiko, dokumentaristiko in arhivistiko. Dolgoletni mentor šahovskega, fotografskega, fizikalnega, računalniškega in astronomskega krožka. Absolvent 3. stopnje pedagoške fizike, v 90. letih član skupine za prenovo gimnazijske fizike, avtor programske opreme za merilno krmilni vmesnik pri pouku fizike, soavtor učbenikov za gimnazijo Fizika-Mehanika in Fizika-Elektrika. Mentor trinajstim raziskovalnim nalogam v okviru Gibanja Znanost mladini ter trem raziskovalnim nalogam v okviru Krkinih nagrad in številnim tekmovalcem iz logike, lingvistike, matematike, fizike, astronomije in računalništva. Mentor 2. spletne strani šole in prve strani o Beli krajini leta 1997, pobudnik in od 2007 do 2010 urednik spletnih učilnic Srednje šole Črnomelj. Pobudnik šolske Facebook strani. Vinogradnik, sadjar, čebelar, bloger. Več najdete na njegovi spletni strani.