Kochova pahuljica
(1 korsinik/a gleda/ju temu) (1) Gost

Kochova pahuljica


08.09.2013 | 20:26
Sin mi je u 7. razredu, iz fizike su spominjali fraktale i za zadaću je dobio konstruirati Kochovu pahuljicu. Dao sam si malo truda da mu objasnim kako isprogramirati funkciju za crtanje Kochove pahuljice u logou (s obzirom da je logo programski jezik kojeg su učili iz informatike u 6. razredu).

Pa za slučaj da nekom još bude trebalo, evo ovdje programa i rezultata... Koristili smo ACS Logo za Mac, ali program je vrlo jednostavan tako da bi trebalo bez modifikacija raditi na svakom logo interpreteru.

pu rt 45 fd 350 lt 45 pd
pahuljica 200

Define "stranica\[\[duljina\]\[if :duljina < 1 
\[
fd :duljina 
rt 60 
fd :duljina 
lt 120 
fd :duljina 
rt 60 
fd :duljina
\] 
\[
stranica :duljina / 3 
rt 60 
stranica :duljina / 3 
lt 120 
stranica :duljina / 3 
rt 60 
stranica :duljina / 3
\]\]\]

Define "pahuljica\[\[baza\]\[repeat 3 \[left 120 stranica :baza\]\]\]
Prilozi:
08.09.2013 | 20:37
Uočit ćete da je procedura "stranica" - rekurzivna, što je razlog da je sam program tako jednostavan i kratak. Ova procedura crta jedan od tri poteza pahuljice na način da, ako je zadana duljina toliko malena da više nema smisla usitnjavati, onda nacrta najsitniji potez (ravno, pa desno, pa natrag lijevo i opet ravno). Ako je zadana duljina dovoljno velika, podijelimo je sa tri i rekurzivno pozivamo istu proceduru 4 puta (ravno, desno, lijevo, opet ravno).
08.09.2013 | 20:43

Datoteka za prilog:

Naziv datoteke: Koch-0a2bfa93482e786c7888fc16f7341836.zip
Veličina datoteke: 135022
05.03.2014 | 19:30
SLIKA.png

Datoteka za prilog:

Naziv datoteke: Kochova_pahulja.zip
Veličina datoteke: 35384
05.03.2014 | 19:30
KOD

Datoteka za prilog:

Naziv datoteke: Kochova_pahulja_kod.zip
Veličina datoteke: 3021

Evo ga, i ja sam probao napraviti u C jeziku. Kako u zadnje vrijeme učim C, mislio sam nešto konkretno napraviti, i sjetio sam se da je bila tema u vezi kochove krivulje. Pa eto rekoh, da pokušam, ali bez gledanja u druge radove. I tako počeo sam čitati na wikipediji o kochovoj krivulji, gdje je elegantno opisana konstrukcija, koristeći Lindenmayerov sustav. Iako sam znao da je ovo dušu dalo za primjer rekurzije, pokušao sam napraviti u obliku iteracije gdje se pravilo F - F + + F - F ponavlja ali s drugačijim predznakom ovisno o iteraciji. Znači trebalo je napisati funkciju koja će predvidjeti predznak skupa ovisno o iteraciji, ali onda sam shvatio da će ta funkcija biti izvedena u rekurziji, pa sam odmah odustao od tog pristupa jer bi bila prekomplicirana i vrlo vjerovatno nerazumljiva. Tako da sam na kraj napravio u rekruzivnom obliku gdje najprije započinje s pravilom, odnosno s početnom fazom F + + F + + F, a F funkcija prima kao argument broj iteracija.U funkciji F linija se ocrtava tek kada je iteracija 0, jer tada smo došli do kraja "propadanja", a ako iteracija nije nula, onda se poziva ista funkcija F unutar nje same(rekurzija), odnosno poziva se pravilo F - F + + F - F. Shvatio sam da je duljina jedne stranice u prvoj iteraciji jednaka trećini jedne stranice jednakostraničnog trokuta u početnoj fazi, znači da se početna duljina dijeli na 3^n, gdje je n broj iteracija.

To je sve u vezi konstrukcije, a sada malo o izvedbi...
Za grafiku koristim OpenGL, koji je na OS X-u integriran, a za hendlanje prozora koristim GLFW. Na početku sam mislio koristiti GLUT koji je isto integriran ali onda sam negdje pročitao da su ga na OS X 10.9 izbacili(neka me netko ispravi ako sam u krivu), kasnije sam mislio koristiti freeGLUT ali on je baziran na x11 koji je izbačen na OS X 10.8, tako da sam na kraju izabrao GLFW.

GLFW,GLUT i freeGLUT su biblioteke samo za hendlanje prozora i inputa, tako da nemaju ni funkciju za crtanje teksta, kao ni OpenGL koji je orijentiran samo za grafiku na razini hardvera, tako da sam trebao koristit neku biblioteku za rendiranje fonta, ali onda sam se sjetio onih reklamnih LED tekstova koji se vrte u krug, pa sam pomislio ako mogu ocrtati točkicu onda mogu i ispisati slovo, jer mi samo treba malo teksta za otisnuti, i ništa fensi. Slova sam napravio, kao dvodimenzionalni niz char slovo [37,36], gdje prvi predstavlja znak, znači ima 37 znakova, a drugi predstavlja matricu 5 x 7 za otisnuti točkice(stavio sam kvadrat jer bolje izgleda) koje predstavljaju znak(ako je 0 preskoči,ako je 1 ocrtaj), a redni brojevi znakova su pohranjeni u varijabli IDslovo, pozicija znaka u IDslovo je jednaka poziciji u varijabli slovo.

Ako netko želi kompajlirati kod, treba skinuti GLFW http://www.glfw.org/ i CMAKE http://www.cmake.org/cmake/resources/software.html.GLFW otpakirati i u terminalu doći do direktorija(komanda cd) gdje se nalazi otpakirani folder i upisati naredbu
cmake .
,i zatim
sudo make install
(pitat će lozinku).I sad se može kompilirati kod. Napravio sam Makefile(za automatizaciju kompajliranja), tako da samo treba u terminalu doći do direktorija Kochova_pahulja i upisati komandu
make
.
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 18 sati, 48 minuta
  • Kloba: Vidio sam to jutros. Reko neću staviti tu ako ispadne patka. Ipak, čini se da je ok izvor. Tko zna tko će završiti na giljotini zbog ovoga. Sjetćamo se pijanog vlasnika testnoga iPhonea 4 i kako je Jobs poslije tužo Gizmodo
  • kupus: Novi mb pro s m4 leakan [link]
  • Borisone: To je samo za fizičke osobe.
  • m@xym: Odnedavno znači prije par mjeseci. Ne pratim redovito njihove stranice, ali ne sjećam se da sam prošle godine to vidio. Radi se u njihovom "Easy upgrade" programu: [link]
  • Borisone: Ne tnam što je "odnedavno" ali u ožujku su mi javili da nude samo leasing preko Grenke.
  • m@xym: Borisone, to odnedavno nudi istyle.hr za Apple Watch, iPhone i Mac računala
  • kupus: tj ovaj [link]
  • kupus: [link]
  • kupus: evo borisone
  • Zdravac: Nisan sad isao provjeriti, ali zar nije Sancta Domenica iz ZG nudila?
  • Borisone: Za pravne osobe, a ne za fizičke osobe.
  • Borisone: Nudi li neka tvrtka u HR najam Mac računala? Nešto tipa mjesečno plaćanje, po isteku 2 ili 3 godine zamjena novim uz produženje ugovora.
  • marioart: photoshop za 89€, cijeli CC 430, paralels 60... hrpa nekih antivirusa... ja gledam na DE, mozda na US ima vise :) ... airpods pro 225€...
  • drlovric: Imal jos kakvih dobrih dealova za software, usluge i sl?
  • marioart: da se nadovezem... kako su sad Prime Days na Amazonu, moze se uzeti Family M365 na 15mj za 53€ ... ako nekome eventualno treba :)
  • smayoo: I ja kažem! :)
  • zoranowsky: Libre office FTW!
  • drlovric: Meni je jedna dobra dusa ovdje na Jabucnjaku poklonila MS Office. Neka bulk licenca je bila u pitanju, mislim nesto vezano za obrazovne ustanove. Radi godinama. Sad gledam ovu novu 2024. Skoro su pa identicne. Uopce ne znam niti sto je tu novoga :)
  • Borisone: Microsoft 365 Family (za 6 korisnika) je oko 60 eur kada je na akciji. A često je. Kupiš par komada i miran si par godina.
  • Zdravac: 150 € je ravno 2 godine pretplate na office 365, vjerujem da je to bolja opcija
  • drpongrac23: Ah, trebao je biti plačko!!!!
  • drpongrac23: @drlovric - ????????????????????????????????
  • drlovric: @drpongrac23: Kupujes? :)
  • Kloba: Jebote šta ove poplave rade po BiH, to je prestrašno... :(
  • drpongrac23: Evo i link [link]
  • drpongrac23: Izašao "MS Office 2024" za Mac i PC, kao standalone verzija, pa eto, ako koga zanima…
  • Bertone: Što se je dogodilo? 27 sati nitko ništa nije napisao na forumu :)
  • Yonkis: Dostupan 18.0.1 i za sve ostale apple uređaje (sat, iPad..)
  • zoranowsky: Thx!
  • dpasaric: Ugodno iznenađenje! :)
  • smayoo: Mašala. Zapratih vas na Spotifyu. :)
  • zoranowsky: [link]
  • zoranowsky: Ako netko želi link za download, pošaljite mi pm.
  • zoranowsky: [link]
  • zoranowsky: Da se i ja malo pohvalim, friško je izašao treći album Twistersa
  • mbp2009: Da, T9 napokon
  • Zdravac: KOOONAČNOO!
  • Zdravac: Jel ste skužili novost u iOS 18 kod poziva (dial pad)?!!
  • drlovric: Ja ne ocekujem bas puno od Apple AI a radim na engleskom. Širi je i danas dan prilicno poglupa :)
  • Yonkis: aha, ovo; [link]
  • mbp2009: 15.1 beta je otvorila AI u EU
  • mbp2009: MacOS
  • Yonkis: mbp2000 to imaš US App Store ID? I misliš na iOS 18.1 beta?
  • mbp2009: Testira itko 15.1? Ja testiram, ali ovaj AI Siri ne razumije baš previše, niti mi je dostupan u drugim aplikacijama kao npr Mail
  • Yonkis: Matija klc ako ga nosiš u iStyle onda ovo [link] a u tekstu im nedostaje ovaj link [link]
  • songoku: Ako oces zadrzati garanciju, u ovlastenom servisu ce ti zamijeniti cijeli sat (dobit ces najvjerojatnije refurbished) za mislim €350, tj. ovisi o modelu, to je za series 9, nisi rekao koji sat imas
  • songoku: @Matija nema originala, Apple ne mijenja nista na satu, samo ti zamijene cijeli uredja. Samo ekran se moze zamijeniti, ali ne u ovlastenom servisu, i time uvijek gubis garanciju
  • Matija klc: Decki, trebam popraviti staklo na watchu. Razbilo se. Gdje predlazete? Ima li samo istyle original i da ne gubim garanciju? Hvala
  • Yonkis: Reset ili reboot/restart?
  • big_mac: Napravio reset rutera ali nije pomoglo.

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Anketa

Kupujete li profesionalni Mac?

Čekam novi modularni Mac Pro - 48.5%
Novac nije problem, kupujem iMac Pro - 0.7%
Kupujem Valjak, baš je lijep i tih! - 0%
Kupujem polovni Mac Pro tower - 11.8%
Nadogradit ću postojeći Mac Pro tower - 2.9%
Običan iMac 27" mi je dovoljan za posao - 5.9%
Skromnih sam potreba, Mac mini je zakon! - 7.4%
Radim na terenu, mora biti MacBook Pro - 3.7%
Ne diram ništa, stari Mac služi me odlično - 10.3%
Kupujem PC kantu i prelazim na Windowse! - 8.8%

Ukupno glasova: 136
Anketa je završena dana: 08 Svi 2018 - 12:17
Page Speed 1.06 Seconds

Provided by iJoomla SEO