Univerza v Ljubljani Fakulteta za računalništvo in informatiko Gregor Poročnik Implementacija izrisa Bézierovih krivulj in B-zlepkov v HTML5 DIPLOMSKO

Velikost: px
Začni prikazovanje s strani:

Download "Univerza v Ljubljani Fakulteta za računalništvo in informatiko Gregor Poročnik Implementacija izrisa Bézierovih krivulj in B-zlepkov v HTML5 DIPLOMSKO"

Transkripcija

1 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Gregor Poročnik Implementacija izrisa Bézierovih krivulj in B-zlepkov v HTML5 DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA Mentor: doc. dr. Matija Marolt Ljubljana 2012

2 Rezultati diplomskega dela so intelektualna lastnina avtorja in Fakultete za računalništvo in informatiko Univerze v Ljubljani. Dovoljeno je reproduciranje, distribuiranje, dajanje v najem in priobčevanje dela javnosti pod pogoji 1 : Priznanje avtorstva Pri uporabi dela morate navesti izvirnega avtorja na način, ki ga določi izvirni avtor oziroma dajalec licence. Nekomercialno Tega dela ne smete uporabiti v komercialne namene. Deljenje pod enakimi pogoji Če spremenite, preoblikujete ali uporabite to delo v svojem delu, lahko distribuirate predelavo dela le pod licenco, ki je enaka tej. Besedilo je oblikovano z urejevalnikom besedil L A TEX. 1 Več o licenci na

3

4 Izjava o avtorstvu diplomskega dela Spodaj podpisani Gregor Poročnik, z vpisno številko , sem avtor diplomskega dela z naslovom: Implementacija izrisa Bézierovih krivulj in B-zlepkov v HTML5 Bézier and B-splines implementation in HTML5 S svojim podpisom zagotavljam, da: sem diplomsko delo izdelal samostojno pod mentorstvom doc. dr. Matije Marolta, so elektronska oblika diplomskega dela, naslov, povzetek ter ključne besede identični s tiskano obliko diplomskega dela soglašam z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI. V Ljubljani, dne 24. septembra 2012 Podpis avtorja:

5 Rad bi se zahvalil vsem, ki so me na kakršen koli način spodbujali in podpirali tekom študija. Predvsem bi se zahvalil družini za podporo in potrpežljivost v težkih in stresnih trenutkih, ki jih v času študija ni bilo malo. Poleg tega bi se zahvalil svojim kolegom za vzajemno pomoč na laboratorijskih vajah, ko je bilo to potrebno, ter za vesele trenutke ob študiju. Za pomoč pri pisanju diplomskega dela se moram zahvaliti mentorju doc. dr. Matiji Maroltu, ki me je podprl s svojim mentorstvom, mi ob tem nudil tehnične nasvete pri implementaciji dela, svetoval pri vsebini, poleg tega pa mi omogočil tudi nekaj dodatne literature.

6 Kazalo Povzetek Abstract 1 Uvod Opredelitev problema Primeri tovrstnih aplikacij na spletu Uvod v krivulje Matematično stališče Krivulje Krivulje Polinomi Opisi orodij, načini uporabe, zahtevnost in specifikacije le-teh Opis krivulj Polinomska aproksimacija Implementacija Programski jezik Javascript HTML Uporaba programa Bézierove krivulje Predstavitev algoritma Bézierovih krivulj Postopek implementacije algoritma Bézierovih krivulj

7 KAZALO 3.7 Robni primeri Bézierovih krivulj Bazične funkcije Bézierovih zlepkov Postopek implementacije B-zlepkov Vektor vozlov Algoritem za izrisovanje Robni primeri B-zlepkov B-zlepki druge stopnje B-zlepki tretje stopnje B-zlepki višjih stopenj Funkcionalnost skaliranja prikazanih krivulj Optimizacija in učinkovitost Optimizacija algoritma za izris Optimiziran način izrisa B-zlepkov Optimizacija s pomočjo odziva zunanjih dejavnikov Sklepne ugotovitve Možne izboljšave Ugotovitve

8 KAZALO Seznam uporabljenih kratic in simbolov Izraz Slovenski prevod Opis API (Application Vmesnik upo- Vmesnik, ki nudi podporo pri razvoju Programming rabniškega pro- programske opreme. Interface) grama OS (Operating System) Operacijski sistem Programska oprema, nujna za delovanje računalnika, ki deluje kot vmesnik med strojno in programsko opremo. JS (JavaScript) Javaskripta Skriptni jezik, ki omogoča razvoj dinamičnih vsebin na spletu. Applet Applet Vtičnik na brskalniku, ki omogoča poganjanje Java razredov na odjemalcu. Canvas Canvas HTML5 element, ki omogoča izrisovanje likov na spletno stran. CAD (Computer Računalniško podprto Programska oprema, ki s pomočjo Aided Design) risanje vgrajenih algoritmov omogoča izris ter načrtovanje produktov. CAM (Computer Računalniško podprta Programska oprema, ki omogoča Aided Manufacturing) proizvodnja proizvodnjo izdelkov v industriji s pomočjo CAD. HTML5 (Hyper Jezik za Spletni označevalni jezik, s pomočjo Text Markup označevanje besedila katerega so sestavljene spletne strani. Language) MS (Microsoft) Microsoft Znano podjetje, ki izdeluje programsko opremo. OSX OSX Operacijski sistem podjetja Apple. 2D 2D 2-dimenzionalen (x-y)

9 Povzetek Vsebina diplomskega dela se navezuje na eno izmed vej računalniške znanosti, računalniško grafiko. Glavna tema dela so krivulje (ang. curves), njihov izris ter implementacija v programskem jeziku. Praktični del je implementiran v programskem jeziku Javascript s podporo HTML5 canvas elementa za grafično izrisovanje. V delu so opisane tipične metode izrisa krivulj, teoremi krivulj z matematični ter praktični primeri izrisa. Opisane so inženirske metode, ki prikazujejo kako od velikega projekta oziroma težave preko razbitij priti do izzivov manjših razsežnosti in postopoma rešiti bolj obvladljive enote. Tematika se predvsem osredotoči na Bézierove krivulje ter B-zlepke, za katere je v praktičnem delu ločena implementacija, ki poučno prikazuje tematiko. Vsebina dela je povezana z aksiomi, ki poleg primerov teoretično podprejo dano tematiko. Poleg tega je omenjena praktična uporaba krivulj s podrobnim opisom določenih korakov ter metod. Ključne besede: krivulja, računalniška grafika, Pierre Bézier, Paul de Casteljau, B-zlepki

10 Abstract The content of the thesis is related to one of the branches of computer science, computer graphics. The main subject of my thesis are curves, their plotting and implementation in programming language. The practical part is implemented in Javascript programming language with support of HTML5 canvas element for graphics rendering. This paper describes typical methods of drawing curves as well as its theorems with mathematical and practical examples. Engineering methods which are described show how one can solve a big project or a problem by breaking it into challenges of smaller dimensions and gradually solving these more manageable units. The topic mainly focuses on Bezier curve and B-splines which, in practical terms, have separate implementations which shows the topic from an educational point of view. The content is related to axioms that, along with examples, support the theoretical issues. Also, the practical application of said curve is mentioned with a detailed description of specific steps and methods. Keywords: curve, computer graphics, Bézier Pierre, Paul de Casteljau, B-splines

11 Poglavje 1 Uvod 1.1 Opredelitev problema Cilj dela je izdelati aplikacijo za demonstracijo Bézierovih krivulj ter B- zlepkov. Program je namenjen ljudem, ki potrebujejo grafično predstavitev krivulj za izobraževalne namene. Ker program omogoča izris krivulj, odvisnih od vnesenih parametrov, se uporabnik lahko sam odloča in preizkuša odziv glede na vnesene nastavitve. Takšen način učenja je bliže uporabniku, saj se vsak primer izriše v trenutku, kljub zelo dolgi računski operaciji. Funkcionalnosti programa omogočajo izpis izračunanih koordinat za določene parametre in se lahko uporabi kot testni primer. Program omogoča poleg tega tudi izris bolj ali manj zapletenih likov, kot so srce, trikotnik, krog in podobnih, tako da je primeren tudi za osnovnošolce, ki spoznavajo geometrijske like. Tovrstne aplikacije trenutno ni mogoče najti na spletu, saj za zagon aplikacije uporabnik ne potrebuje nikakršnih vtičnikov, temveč le novejši brskalnik s podporo HTML5. Poleg tega naloga vsebuje unikatne rešitve, saj trenutno takšnih primerov na takšni platformi ni mogoče najti. To je bil tudi razlog za izgradnjo nove tovrstne aplikacije. 1

12 2 POGLAVJE 1. UVOD 1.2 Primeri tovrstnih aplikacij na spletu Med tovrstnimi aplikacijami na spletu ni bilo mogoče najti takšne, ki bi omogočala funkcionalnosti, opisane v tem delu. Obstajajo primeri, ki omogočajo izris Bézierovih krivulj tretje stopnje brez funkcionalnosti B-zlepkov ali pa se pojavljajo programi z zelo okrnjenimi funkcionalnostmi obeh tipov krivulj [5]. Avtorji se navadno poslužujejo takšnih rešitev, ki omogočajo trivialno implementacijo preko vgrajenih funkcionalnosti. Takšen izris je enostavnejši za implementacijo in za to avtorji ne vložijo veliko truda. Za primer: krivulje tretje stopnje je mogoče izrisati že z obstoječo Javascript funkcijo, ki je vgrajena v Javascript API. 1 // define variables 2 var x, y, a, b, c, d, e, f, ctx ; 3 // get context from canvas 4 ctx = canvas. getcontext ("2d"); 5 // start drawing 6 ctx. beginpath (); 7 // move pointer to position 8 ctx. moveto (x, y); 9 // draw bezier 10 ctx. beziercurveto (a, b, c, d, e, f); 11 ctx. stroke (); Primer 1.1: Integrirana funkcija za izris kubične Bézierove krivulje Pri tem je x in y koordinata, pri kateri se prične izris, parametri od a do f pa so tri kontrolne točke, preko katerih se krivulja izračuna. Takšen primer izrisa uporablja primer aplikacije na spletu z vira [3].

13 1.2. PRIMERI TOVRSTNIH APLIKACIJ NA SPLETU 3 Slika 1.1: Primer programa s spleta, ki uporablja Javascript HTML5 [3]. Na sliki 1.1 je program, ki omogoča izris Bézierovih krivulj tretje stopnje z vgrajeno funkcijo beziercurveto(). Ta postopek je nekoliko izboljšan tako, da se ob večjem številu točk pričnejo izrisovati zlepki, kakor je prikazano. Obstajajo tudi primeri iz spleta (slika 1.2), ki omogočajo nekaj več funkcionalnosti. Takšni primeri so implementirani v programskem jeziku Java, za delovanje pa potrebujemo na računalniku nameščen določen programski paket. Težava pri takšnih aplikacijah je, da je onemogočen dostop uporabniku, ki si lasti napravo z vgrajenim brskalnikom, ne omogoča pa poganjanja javanskih Appletov.

14 4 POGLAVJE 1. UVOD Slika 1.2: Primer programa ki teče na programskem jeziku Java kot Applet [4]. Takšen javanski program ima nekaj prednosti pred rešitvijo v Javascript jeziku, saj je programska koda skrita uporabniku, razvijalcu pa omogoča svobodno odločitev pri izdaji programske kode. Gledano z drugega stališča je program namenjen izobraževanju, zato je koda ključnega pomena ob interpretiranju določene rešitve. Preko programske kode je uporabniku omogočen vpogled skozi izvajanje programa in je zato ključen dejavnik izobraževanja. 1.3 Uvod v krivulje Krivulje in z njimi povezani programi za izris, na primer CAD, so zelo pomembni v današnji industriji. Avtomobilska industrija je zelo odvisna zaradi aerodinamike, vizualnih lastnosti ter ostalih lastnosti produktov, zato je že leta 1962 francoski inženir Pierre Bézier pričel graditi osnovne CAD/CAM sisteme za prikaz krivulj. Zaposlen je bil kot inženir v avtomobilskem pod-

15 1.4. MATEMATIČNO STALIŠČE 5 jetju Renault, ki izdeluje avtomobile še danes. Zaradi patenta, ki ga je registriral, imajo krivulje njegovo ime, kljub temu da ta čast pripada njegovem kolegu Paulu de Casteljauju. Nekaj let pred tem (1959) je francoski matematik Paul de Casteljau razvil enega prvih algoritmov za grafično predstavitev krivulj, za katerega se je izkazalo, da je zelo učinkovit. Primera algoritma in izrisa sledita kasneje v delu. Poleg Pierra je bil inženir De Casteljau prav tako matematik in tudi fizik, ki je bil sicer zaposlen kot inženir v francoskem podjetju Citroen. Za predstavitev krivulj potrebujemo vsaj dvodimenzionalen (x-y) prostor, v naprednejših okoljih pa se lahko za izris uporabijo tudi večdimenzionalni prostori. Nekatere izmed enostavnejših primerov krivulj najdemo že v vsakem programu, ki omogoča risanje. Preko OS Windows lahko kreiramo enostavnejšo krivuljo že s samim programom risar. Prav tako lahko izrisujemo enake krivulje v programskem paketu MS Office, ki z nekoliko naprednejšimi funkcionalnostmi skrbi za obogateno uporabniško izkušnjo. Pri tem gre le za orodja, namenjena pisarniški uporabi, pri grafičnem oblikovanju ter modeliranju pa razvijalci uporabljajo orodja, kot so na primer Photoshop, podjetja Adobe. Zmotno je mišljenje, da se pri tem stvari končajo, saj je potrebno vzeti v zakup, da so se konkretne spremembe dogajale tudi v mehaniki in strojništvu nasploh. V strojništvu so se nekoč uporabljale Bézierove krivulje ter B-zlepki, v današnji dobi pa naj bi jih nadomestile alternative. 1.4 Matematično stališče Iz matematičnega stališča poznamo več vrst krivulj, od najbolj trivialne, katero lahko predstavimo z ravno črto, do kompleksnejših, kot so zlepki krivulj različnih stopenj. Krivulje praktično ni težko definirati, saj jo lahko izrišemo s pomočjo ostrega svinčnika, s katerim drsimo po listu papirja. Krivulja je tako neskončno velika množica točk, ob pogoju, da ima vsaka točka le dve sosednji točki - Točko ki je predhodna na izrisu, in točko ki jo nasledi. Ob tem veljajo posebnosti za točke, ki imajo le eno sosednjo točko. To sta točki,

16 6 POGLAVJE 1. UVOD ki sta zadnji v redu in zaključujeta krivuljo na vsaki strani. Teh točk sicer ni v primerih, kjer je krivulja povezana sama nase (je v zanki) in tvori krog. V matematiki obstajajo trije načini definicije krivulj: Implicitna prezentacija krivulj definira točke na krivulji, preko katere lahko preverimo, ali določena točka leži na krivulji. Torej je krivulja definirana za točke, pri katerih je izpolnjen naslednji pogoj. f(x, y) = 0 (1.1) Eksplicitna oblika zapisa krivulje omogoča enostaven izračun točke na koordinati y preko vhodnega parametra točke x. V delu se izkaže kot počasen zapis za implementacijo izrisa. y = f(x) (1.2) Parametrična oblika nudi izris preko prostega parametra t, ki se uporablja kasneje v implementaciji. Spremenljivka t sicer običajno teče od 0 do 1, lahko pa je poljubnih vrednosti. V praksi s svinčnikom in papirjem bi to spremenljivko lahko vzeli kot čas, ki teče od pričetka risanja do konca. Tako lahko za vsak trenutek med izrisom povemo, kje je bila konica svinčnika ob danem trenutku. x, y = f(t) (1.3)

17 Poglavje 2 Krivulje 2.1 Krivulje Glavni del dela je namenjen opisu določenih orodij, metod, specifikacij, načinov uporabe, oziroma na splošno tematiki, kot je že opisana v uvodu. Poglavitni so opisi korakov ter določenih individualnih rešitev, ki so skozi proces razvoja tekli od težave do končne rešitve. Te rešitve so v delu predstavljene kot krivulje B-zlepkov, odvisne od parametrov vektorja vozlov, stopnje in kontrolnih točk do izrisa Bézierovih krivulj, katere določa predvsem stopnja in kakovost izrisa, ki je določena z drsnikom. V delu je predstavljenih le nekaj primerov tipov krivulj, poleg teh pa obstaja še veliko drugih, z drugačnimi lastnostmi in pripadajočimi izrisi, kot je na primer Hilbertova krivulja v tridimenzionalnem prostoru, prikazana na sliki 2.1. Poleg implementacije, izvedene v delu, obstaja še veliko možnih rešitev, predstavljena rešitev pa je intelektualno delo s strani avtorja. 7

18 8 POGLAVJE 2. KRIVULJE Slika 2.1: Primer Hilbertove krivulje v tro-dimenzionalnem prostoru (wikipedia). 2.2 Polinomi Polinomi so sestavni deli te naloge, saj se preko njih izračunajo vrednosti na krivuljah. Na obliko funkcij predvsem vpliva stopnja polinoma, ki mora imeti nenegativne cele eksponente. Pri tem ločimo polinome glede na njihovo stopnjo, in sicer: Izrek 2.1 Polinom ničte stopnje ali konstantni polinom p(x) = a 0, če velja: a 0 0 (2.1)

19 2.2. POLINOMI 9 Izrek 2.2 Polinom prve stopnje ali linearni polinom p(x) = a 1 x + a 0, če velja: a 1 0 (2.2) Izrek 2.3 Polinom druge stopnje ali kvadratni polinom. p(x) = a 2 x + a 1 x + a 0, če velja: a 2 0 (2.3) Izrek 2.4 Polinom tretje stopnje ali kubični polinom. p(x) = a 3 x + a 2 x + a 1 x + a 0, če velja: a 3 0 (2.4) Pri tem je graf oziroma krivulja nepretrgoma zvezna v kolikor ne gre za racionalna števila z neznanim imenovalcem. Prejšnji izreki so izpeljani iz splošnega zapisa polinomov, ki je definiran v izreku 2.5. V delu so uporabljene tudi nekatere računske operacije nad polinomi, ki so predstavljene v sledečih primerih. Izrek 2.5 Polinom tretje stopnje ali kubični polinom. p n (x) = a n x + a n 1 x a 1 x + a 0 ali krajše (2.5) n p n (x) = a k x k Za opisane polinome različnih stopenj se v implementaciji uporablja tudi nekaj osnovnih računskih operacij. Zapišimo. Izrek 2.6 Množenje polinoma s konstanto k=0 c p(x) = n c a k x k (2.6) k=0 Izrek 2.7 Seštevek dveh polinomov n m a k x k + b k x k = max(n,m) k=0 k=0 k=0 (a k + b k )x k (2.7)

20 10 POGLAVJE 2. KRIVULJE Izrek 2.8 Odštevanje dveh polinomov n m a k x k b k x k = max(n,m) k=0 k=0 k=0 (a k b k )x k (2.8) Za enakost polinomov velja, da sta polinoma enaka takrat, kadar se ujemata v stopnji in vseh koeficientih. 2.3 Opisi orodij, načini uporabe, zahtevnost in specifikacije le-teh Pri izbiri samih orodij, ki jih uporabljamo vsakodnevno ali le občasno, je predvsem pomembno, da se uporabnik pouči o uporabi in namembnosti orodja. Poleg tega se večinoma odločimo tudi med drugimi alternativami, vzroki za to pa so nezadovoljstvo s funkcionalnostmi, slaba preglednost, nezanesljivost programov ali pa so za uporabnika odločilne platformne omejitve njegove naprave. Pri implementaciji krivulj v jeziku Javascript se soočamo predvsem z odvisnostjo od brskalnika ter orodja za tekstovni vnos programske kode. Brskalniki v tem času niso več tako okrnjeni, kakor so bili nekdaj, zato omogočajo mnogo funkcionalnosti preko dveh možnih virov dostopa. Za uporabnika je pomembnejši grafični vmesnik, interakcija z vmesnikom ter preprostost uporabe programa. S stališča spletnih razvijalcev pa je pomembna funkcionalnost z vidika hitrosti razvoja samega izvajanja in podpora razvojne ekipe podjetja, ki izdeluje brskalnik ter njihove različice, od katerih je po večini lahko odvisna sama rešitev. To trenutno v tej tematiki ne predstavlja pomembnega izziva, saj je za rešitev, katero predstavlja naloga, pomemben vsaj eden izmed novejših brskalnikov, ki omogočajo HTML pete generacije. V tem primeru je bil na razvoju uporabljen program Google Chrome, ki je v razvojnem okolju tekel na OSX. Program je bil primeren predvsem zaradi integrirane konzole, preko katere je možno razhroščevanje, za trenutke,

21 2.4. OPIS KRIVULJ 11 pri katerih pa koda steče izven meja nadzora, pa je prišlo v pomoč ločeno procesno izvajanje programa. V nadaljevanju je omenjena tudi kompatibilnost, ki v tem času povzroča težave mnogim razvijalcem. Kot alternativno orodje za razvoj programske kode je možno posegati po mnogi programski opremi: tisti, ki je priložena operacijskim sistemom, ali pa tisti, ki je na voljo na spletu. Za razvoj programske kode je priporočljivo uporabljati program razširjene beležnice Notepad++. Žal je program na voljo le za platformo podjetja Microsoft, zato v tem delu ni bil uporabljen, kot alternativa pa je služil program TextMate, ki deluje na platformi OSX. Na splošno se omenjena orodja uporabljajo v različne namene. Velika večina uporabnikov izkorišča brskalnike v namen pregledovanja spletnih strani, igranja iger preko vtičnikov ali brskanju po multimedijskih vsebinah, kot so video in glasba, ki jih je na spletu iz ure v uro več. Prav tako velja mnogo načinov uporabe orodij tekstovnih vsebin, kot je TextMate, čeprav takšna orodja po večini omogočajo le vpis podatkov iz periferije v tekstovno datoteko. 2.4 Opis krivulj Iz geometrije poznamo več tipov krivulj, ki se razlikujejo glede na stopnjo polinoma, preko katerega so definirane, kontrolnih točk v ravnini ter načina izrisa na ravnino. Razlike lahko opazimo pri nekaterih lastnostih, kot so večkratne vrednosti ter lokalnost. Lokalnost je odvisna od tipa in stopnje krivulje, oziroma načina premika točk izrisa ob premiku kontrolnih točk, ki jih definira uporabnik. Pri tem gre za lokalno ter globalno kontrolo kontrolnih točk nad krivuljo. Krivuljo lahko razdelimo na več delov, pri čemer lahko enako obliko predstavlja več manjših krivulj z drugačnimi parametri. Pri pogledu na obliko krivulje lahko govorimo tudi o variaciji krivulje, na katero vplivajo večkratni vozli ali oddaljenost položaja posameznih kontrolnih točk.

22 12 POGLAVJE 2. KRIVULJE 2.5 Polinomska aproksimacija O polinomski aproksimaciji govorimo, ko izrisujemo določeno krivuljo, ki je matematično določena s polinomom določene stopnje. Pri tem se zgodi, da določenih vrednosti ne moramo izračunati zaradi določenih razlogov, zato pričnemo vrednosti aproksimirati. Za primer krivulje prve stopnje govorimo o linearni aproksimaciji, pri kateri aproksimiramo vrednosti med dvema točkama. Z matematičnega vidika rečemo, da gre za problem pri zapisu določenega števila, zato zapišemo približek, ki je takšen kot je predstavljeno v enačbi 2.9. e i = f i g(x i ) (2.9) Pri tem predstavlja e i dano napako, f i pravo vrednost, g pa je funkcija preko katere se izračuna aproksimirana vrednost. Iz programerskega stališča navadno pride do aproksimacije zaradi optimizacijskih rešitev ob implementaciji. Eden izmed primerov je izris ravnih črt med točkami, preko katerih bi se sicer morale izračunati nove dejanske vrednosti, ki niso aproksimirane.

23 Poglavje 3 Implementacija 3.1 Programski jezik Javascript Programski jezik Javascript (JS) spada med skriptne jezike in nima veliko skupnega s programskim jezikom Java, ki se sicer imenuje podobno. To, da je jezik skriptni, pomeni, da se koda interpretira sproti z izvajanjem programa. Skriptni jeziki so podmnožica programskih jezikov, ker se z njimi programira določene funkcionalnosti, pri tem pa se ločijo po načinu delovanja. Jezik Javascript se sicer uporablja v različne namene, tudi za programiranje večjih ali manjših skript na spletnih straneh, ki se izvajajo na strani odjemalca, s čimer pa spletni programerji želijo med drugim tudi razbremeniti procesorsko moč na spletnih strežnikih. Jezik se uporablja tudi pri programiranju namiznih aplikacij ter manjših skript, kot so vtičniki. V jeziku je omogočena uporaba objektov, s tem, da so definirani malo drugače, kakor pri drugih programskih jezikih. Jezik omogoča kreiranje objektov in metod preko funkcij, ki lahko sicer stojijo samostojno v programski kodi. V programskem jeziku je potrebno omeniti posebnost pri računanju s števili in napakami pri zapisu števil. Za primer pri računanju deljenja z 0 dobimo rezultat, vendar je ta znakovnega tipa z vrednostjo Infinity. Prav tako je možen rezultat -Infinity pri negativnem deljenju zato je potrebna prilagoditev kode. Naslednja posebnost je računanje decimalnih števil, pri 13

24 14 POGLAVJE 3. IMPLEMENTACIJA čemer nam pri seštevanju treh enostavnih števil rezultat ne vrne pravilne vrednosti. Pri tem gre za napako pri zaokroževanju števila. Ker ima računalnik za zapis števila določeno število bitov in te lahko uporabi le do določene natančnosti, se število zapiše do določene natančnosti. To napako se lahko delno odpravi z vgrajeno metodo tofixed(), ki poreže majhen del napake, ki se je zgodil med računanjem. Ta metoda je uporabna sicer samo do določene mere, ker se lahko pri napačni uporabi pričenjajo spreminjati dejanske vrednosti rezultatov. Računska napaka se prav tako pojavi pri velikih številskih vrednostih. Za število, ki konvergira proti meji možnega zapisa na strojno opremo, se pričenjajo vrednosti zaokroževati na večjo mejo, za primer, če dovolj velikemu številu prištejemo 1, nam rezultat vrne še vedno enako število. V določenih primerih je takšno obnašanje uporabno, predvsem pri skriptah na spletnih straneh, ki omogočajo razpolaganje z množico vrednosti, ki jih vnaša uporabnik, kljub temu pa se ob nepravilnih vrednostih programi še ne podrejo. To je zato prepuščeno samemu programerju skripte, da lovi takšne napake, obvestila pa pošilja na višji nivo maske. Resnejši jeziki ob takšnem početju tvorijo izjeme in na drugačen način opozarjajo na svoje težave pri računanju. To je vsekakor boljša izbira, da jezik programerju ne omogoča toliko svobode, saj je zato programska koda najverjetneje hitrejša, poleg tega pa tudi kvalitetnejša. 3.2 HTML5 HTML 5. generacije je označevalni jezik, ki se uporablja v sodobnih različicah spletnih strani. Z novo različico prinaša mnogo dodatnih značk, v tej nalogi je uporabljan canvas, ki obogatijo spletno stran z novimi možnostmi. Poleg tega omogoča tudi dodatne možnosti parametrov obstoječih elementov. Takšen primer je možno najti v nalogi v znački input, ki dodatno omogoča številski tip vnosa. Poleg teh novosti omogoča tudi drag and drop funkcionalnost, za katero so v preteklosti poskrbele dodatne knjižnice. Novost pri pregledu multimedijskih vsebin sta elementa video in audio, katera omogočita

25 3.3. UPORABA PROGRAMA 15 integracijo video in glasbenega predvajalnika v vsebino spletne strani. Slika 3.1: Tehnologije, povezane z HTML5 (wikipedia). Program ki je napisan v spletnem jeziku HTML pete generacije, je preizkušen na spletnem brskalniku Google Chrome, izvorna koda pa je pregledana s strani pregledovalnika spletnih vsebin organizacije W3C. 3.3 Uporaba programa Implementiran program ima to lastnost, da deluje v interakciji s človekom, kar pomeni, da se odziva na uporabnikove vnose preko tipkovnice, miške ali katerega drugega uporabniškega vmesnika. Zaradi načina delovanja se pri izrisu takšnega tipa krivulj uporabi prosti vnos konkretnih kontrolnih točk, ki so osnova pri izračunu, s katerim je definiran algoritem. Vnos je predviden preko strojne opreme, natančneje računalniške miške, pri kateri uporabimo levi gumb za dodajanje novih kontrolnih točk. Ob dvakratnem pritisku gumba oziroma dvojnem kliku, kjer miškin kazalec kaže na obstoječo

26 16 POGLAVJE 3. IMPLEMENTACIJA točko, to izbrišemo. Ta točka se izbriše iz podatkovne strukture, izris pa se prilagodi ostalim točkam, v kolikor so izpolnjeni vsi pogoji za izris izbranega tipa krivulje. Tej lastnosti bi v tem primeru lahko rekli funkcionalnost. Osnovna naloga programa je, da izrisuje tipe krivulj glede na podane točke in dodatne parametre. Brez te dodatne funkcionalnosti bi uporabnik sicer moral v primeru spremembe osvežiti stran in ponovno opravljati postopek dodajanja točk v koordinatni sistem. Premik točk po dveh dimenzijah koordinatnega sistema je dodatna funkcionalnost, pri kateri lahko s premikom ene ali mnogih kontrolnih točk spremenimo lego in s tem tudi obliko samega geometrijskega lika. V programu se specifično glede na tip krivulje doda tudi drsnik, ki določa kot med vektorji. S tem drsnikom se praktično nastavlja kakovost izrisa, poleg tega pa je omogočen tudi ročen vpis vrednosti v vnosno polje. Specifično je dodano tudi vpisno polje vektorja vozlov, pri katerem uporabnik vpiše vektor v obliki, kot je preddefinirana ob zagonu programa. 3.4 Bézierove krivulje Bézierove krivulje so definirane z množico kontrolnih točk kot ostale krivulje, s tem, da si lastijo to lastnost, da se pričnejo v prvi kontrolni točki P 0 in končajo v zadnji kontrolni točki P N. Pri tem ostale kontrolne točke definirajo obliko in s tem tudi variacijo krivulje. Krivulja je tako zvezna, ob tem pa omogoča lomljenje z uporabo definiranih večkratnih vrednosti kontrolnih točk. S premikanjem množice kontrolnih točk, ki ležijo na koordinatnem sistemu, sicer ne moremo spreminjati lokalnosti krivulje, če govorimo v območju vrednosti, določenem s stopnjo polinoma. Ob matematični predstavitvi krivulje, ki je definirana z rekurzivno enačbo, lahko izračunamo položaj poljubne točke na krivulji.

27 3.5. PREDSTAVITEV ALGORITMA BÉZIEROVIH KRIVULJ Predstavitev algoritma Bézierovih krivulj Pri definiranju algoritma si navadno pomagamo z realnostnim modelom, ki ga definiramo ob tem, ko določen problem razstavimo na podprobleme in pridemo do obvladljivih vzorcev. Za izris Bézierove krivulje velja, da je glavna naloga oziroma rezultat izrisana celotna krivulja. To težavo lahko razbijemo tako, da pridemo do problema izračuna neke posamezne točke ki leži na definicijskem območju vrednosti. Ob konkretnem številu točk pridemo do rešitve, preko katere bi s pomočjo interpolacije lahko izrisali dovolj natančno krivuljo, ki bi predstavljala rezultat izrisa. Izračun določene točke je v nalogi implementiran s pomočjo deljenja z naslednjim rekurzivnim algoritmom, ki omogoča izračun točk na krivulji poljubne stopnje. 1 // temp 2 var c = new Array (); 3 // out 4 var d = new Array (); 5 6 d. push ( array [0]) ; 7 for ( var i = 0; i < array. length -1; i ++) 8 c. push ( middlepoint ( array [i], array [i +1]) ); 9 10 if(c. length > 1) 11 d = d. concat ( middlepoints (c)); 12 else 13 d. push (c [0]) ; d. push ( array [ array. length -1]) ; return d; function middlepoint ( a, b) { 20 return new Tocka ( Math. min (a.x,b.x)+ Math. abs (a.x-b.x)/2, 21 } Math. min (a.y,b.y)+ Math. abs (a.y-b.y) /2) ; Primer 3.1: Izsek algoritma za izračun točke

28 18 POGLAVJE 3. IMPLEMENTACIJA 3.6 Postopek implementacije algoritma Bézierovih krivulj Za implementacijo Bézierovih krivulj sicer obstaja več različnih rešitev, ki se razlikujejo po dovršenosti. V nalogi je implementiran primer izrisa Bézierovih krivulj z de Casteljau algoritmom, ki se imenuje po francoskem inženirju, ki je iznašel način izrisa s pomočjo deljenja. Za začetni primer je razvijalcu lažje narediti nekaj primerov na papir, recimo vsaj nekatere scenarije, ki so trivialni, najpogostejši ali pa robni primeri. Za vsak takšen primer je v navadi, da se skupaj z razvito kodo napišejo tudi enotski testi, ki preverjajo delovanje samih metod, modulov ali celotne aplikacije. V tem primeru lahko rezultat do določenega merila primerjamo ali logično predvidevamo zaradi lastnosti prikaza rezultata v računalniški grafiki. Pri računalniški grafiki gre predvsem za računsko oziroma matematično predstavitev števil, ki lahko tvorijo različne dimenzije. Dimenzije so najpogosteje predstavljene kot vektorji, matrike, koti ali točke v dve in več dimenzionalnih koordinatnih sistemih. Slika 3.2: Prikaz izračuna točke na krivulji s pomočjo deljenja na papirju. Za ta uporabljen primer testnega izrisa ter predstavitve na papir po de Casteljau algoritmu je izvedljiv ročni izris z računanjem ali s pomočjo geo-

29 3.7. ROBNI PRIMERI BÉZIEROVIH KRIVULJ 19 metrijskih orodij, kot so šestilo in ravnilo. Primer je izrisan v sliki 3.2. V področju implementacije izrisa se uporabi dvodimenzionalen koordinatni sistem s točkami, pri čemer se zaradi specifike algoritma uporablja razpolavljanje razdalj med točkami v koordinatnem sistemu. Poleg tega je uporabljen matematičen izračun kotov med vektorji, zaradi katerega dobi program lastnost optimiziranega programa. Za Bézierov način bi bili ti izračuni osnova za izgradnjo oziroma izris enostavnejše ali kompleksnejše krivulje. Slika 3.3: Prikaz izračuna točke na krivulji s pomočjo deljenja. Za začetek in boljšo predstavitev je na sliki 3.3 prikazan primer deljenja razdalj med posameznimi kontrolnimi točkami. Grafični primer na sliki je prikazan iz primera, kjer se posamezne točke izračunavajo na podlagi vrednosti t, ki navadno teče od vrednosti 0 do Robni primeri Bézierovih krivulj V primeru izrisa Bézierove krivulje ničte stopnje gre za posebnost, pri kateri krivulja ni definirana (slika 3.4). Rešitev je trivialna in vsebuje pri izrisu le množico kontrolnih točk ki jih je definiral uporabnik. Za takšne primere ni potrebe po zapletenem algoritmu, saj bi bil v implementaciji dovolj že en sam pogoj. 1 // Preverimo, ce imamo definiranih dovolj kontrolnih tock in stopnjo, vecjo od 0.

30 20 POGLAVJE 3. IMPLEMENTACIJA 2 if( ctlpoints. length > stopnja && stopnja > 0){... Primer 3.2: Primer omejitve ob primeru izrisa krivulje ničte stopnje Slika 3.4: Robni primer krivulje ničte stopnje, krivulja ni definirana Naslednji primer izrisa krivulje prve stopnje je ravna črta, pri kateri potrebujemo vsaj dve kontrolni točki. Črta tako poteka ravno iz ene proti drugi točki v koordinatnem sistemu. Za takšen primer je enako kot v prejšnjem primeru izris enostaven, pri tem pa za izris ni potrebne kakšne posebne logike. Na sliki 3.5 je potrebno upoštevati lastnost algoritma, ki prikazuje izračunane točke, dejanska krivulja je definirana z linearno interpolacijo med kontrolnimi točkami. Slika 3.5: Robni primer krivulje prve stopnje, prikaz izračunanih pik, krivulja je definirana z linearnimi povezavami med kontrolnimi točkami.

31 3.7. ROBNI PRIMERI BÉZIEROVIH KRIVULJ 21 Na tem primeru se enostavnost izrisovanja konča oziroma bi v kontekstu programa lahko rekli, da slike ni možno izrisati le z mnogimi klici vgrajene funkcije iz programskega jezika Javascript. Pri krivulji druge stopnje so za izris potrebne tri kontrolne točke. Definicijsko območje krivulje se tako prične v prvi točki in poteka po prostoru glede na pozicijo vmesne kontrolne točke in se konča v zadnji kontrolni točki, ki je bila dodana preko vmesnika zadnjikrat. V tem primeru je dejansko že potreben de Casteljau algoritem, preko katerega se izvrši računanje in izris. Pri Bézierovi krivulji druge stopnje potrebujemo za izračun točke v 2D prostoru najmanj 3 računske operacije deljenja. Postopek izračuna je dokaj enostaven. Potreben je izračun točk, ki ležijo na polovici razdalj med prvo in drugo ter drugo in tretjo kontrolno točko. Če iz dobljenih točk izračunamo vmesno razdaljo med njima, bi rekli, da dobimo točko, ki dejansko leži na končni krivulji. Slika 3.6: Primer izrisa krivulje druge stopnje, zaradi narave prikaza algoritma so vidne pike V tem primeru dobimo le eno točko, ki označuje del krivulje, točka je označena za vsak odsek na temenu krivulje, poleg tega če povežemo skrajni točki z novo nastalo točko dobimo približek dejanske krivulje. Ta približek je seveda zelo nenatančen, krivulja pa aproksimira približku dveh ravnih črt. Da bi dobili lepši pogled na krivuljo, moramo postopek razpolavljanja ponavljati mnogokrat - tolikokrat, da novo nastale spremembe pri razpolavljanju niso

32 22 POGLAVJE 3. IMPLEMENTACIJA več vidne. Slika 3.7: Prikaz izračunanih koordinat na krivulji po nekaj razpolavljanjih Program omogoča izris Bézierove krivulje poljubne stopnje, pri tem pa je potrebno upoštevati, da se kompleksnost izrisa povečuje skupaj z naraščajočim številom stopenj. Vsaka nova stopnja pri računanju pomeni nekaj več razpolavljanj, saj je tako krivulja odvisna od večjega števila kontrolnih točk. Temu pojavu rečemo tudi trikotniško število. Na sliki 3.8 je prikazan primer trikotniških števil, s perspektive krivulj je število na sliki njegova stopnja, število izrisanih pik pa število potrebnih deljenj za izračun ene pike na krivulji.

33 3.8. BAZIČNE FUNKCIJE BÉZIEROVIH ZLEPKOV 23 Slika 3.8: Prikaz trikotniških števil, stopnje in števila potrebnih razpolavljanj Pri tem je potrebno paziti na zalogo vrednosti kontrolnih točk, saj za dovolj veliko stopnjo potrebujemo dovolj definiranih kontrolnih točk. Ob tem je pametno uporabnika opozoriti, da doda nove kontrolne točke. Število kontrolnih točk je definirano kot: Izrek 3.1 Za vsako naravno število kontrolnih točk n velja n stopnja + 1 (3.1) 3.8 Bazične funkcije Bézierovih zlepkov Pri izrisu bazičnih funkcij gre za predstavitev samih komponent, preko katerih je izračunana krivulja. Če se v bazične funkcije vpeljejo kontrolne točke, funkcije pa se nato seštejejo, bi dobili dejanske vrednosti krivulje za vhodne parametre. Bazične funkcije Bézierovih zlepkov so definirane z Bernsteinovimi polinomi stopnje n kot kaže izrek 3.2. Ti polinomi se izračunajo s pomočjo binomskih koeficientov, ti pa so znani kot zelo hitro naraščajoče funkcije.

34 24 POGLAVJE 3. IMPLEMENTACIJA Izrek 3.2 Bernsteinovi polinomi stopnje n ( ) n B i,n (t) = t i (1 t) n i (3.2) i Zaradi tega nastane v programu težava pri računskem delu implementacije. Problem je do neke mere rešen tudi v nalogi. Preizkušeno program deluje do vnesene stopnje 170, pri vrednostih večjih od te stopnje, pa se izpiše napaka. Napaka se sproži pri mejni vrednosti binomskega koeficienta, ki naraste tako visoko, da izračunana vrednost preseže mejno vrednost spremenljivke ki je na voljo za zapis. V programskem jeziku Javascript se tako vrne vrednostinfinity, za to vrednost pa program izpiše napako pri računanju. Slika 3.9: Prikaz bazičnih funkcij za Bézierove krivulje 0., 1. in 2. stopnje 3.9 Postopek implementacije B-zlepkov Izrisovanje B-zlepkov je nekoliko zahtevnejše od prejšnjih primerov na Bézierovih krivuljah. Kljub vrednostim kontrolnih točk, ki jih uporabnik vnese preko

35 3.10. VEKTOR VOZLOV 25 maske, se tukaj uporabi tudi vektor vozlov, s katerim dobi krivulja preko kontrolnih točk novo odvisnost. Pri izrisu je namreč pomembno, da uporabnik vnese potrebno število vrednosti vozlov, saj se ob nasprotnem primeru krivulja ne izriše v celoti, uporabnika pa bi aplikacija morala obvestiti z rdečim opozorilom: premalo vrednosti vektorja vozlov. Pravilo velja tudi v obratni smeri. Ob prevelikem vektorju vozlov se od uporabnika pričakuje, da vnese v aplikacijo dovolj kontrolnih točk. Ob slednji napaki se bi na aplikaciji prikazalo opozorilo: število vrednosti vozlov je visoko. Ob tem se vektor samodejno prilagodi tako, da prikrito skrajša vektor vozlov in uporabi prvih nekaj vrednosti, odvisno od števila kontrolnih točk in stopnje Vektor vozlov Vektor vozlov je v nalogi implementiran z vnosnim elementom, v katerega uporabnik vpiše realne vrednosti ki so ločene z vejico. Pri tem je decimalno število predstavljeno z piko. Vektor vozlov nam določa obliko krivulje oziroma množica vrednosti predstavlja vpliv vsake kontrolne točke na krivuljo. Pri tem lahko z večkratnimi vrednostmi določamo večkratnost vozlov, s tem pa nastanejo lomi krivulje kot kaže slika Slika 3.10: Primer večkratnega vozla z vrednostjo Algoritem za izrisovanje Načinov za izrisovanje B-zlepkov je veliko, v tem delu pa je predstavljen način izrisa z de Boorovim algoritmom, ki je dokaj enostaven za razumevanje. Eden

36 26 POGLAVJE 3. IMPLEMENTACIJA izmed načinov je tudi direktna implementacija računanja s pomočjo rekurzije, vendar se v tem primeru določeni računski deli izračunavajo mnogokrat, tako da pride do nepotrebnih računskih operacij. Implementiran algoritem uporabi fiksno število generiranih vrednosti q s korakom, ki je odvisen od končne vrednosti vektorja vozlov. Ta vrednost določa natančnost izračuna točk, ki ležijo na premici. Pri tem večje število pomeni več točk, s tem pa je krivulja bolj natančno interpolirana. Za vsako vrednost t se izračuna večkratnik vozla, pozicije vplivov vozlov ter izhodne vrednosti funkcije. Skozi naraščajočo vrednost t se tako skozi logiko izrišejo vse vrednosti Robni primeri B-zlepkov Kot prvi primer B-zlepkov z ničto stopnjo, veljajo podobne lastnosti kot za ničto stopnjo na Bézierovih krivuljah. Za to stopnjo krivulja ni definirana, zaloga izhodnih vrednosti pa je identična množici kontrolnih točk. V programu tako ni videti izrisanih točk, saj pride do neizpolnjenega pogoja, ki omogoča izris že na začetku algoritma. Prikaz takšnega odziva je na sliki 3.11, poleg tega so izrisane bazične funkcije v vrednostih kontrolnih točk.

37 3.12. ROBNI PRIMERI B-ZLEPKOV 27 Slika 3.11: Robni primer klica algoritma B-zlepkov za stopnjo 0 Pri zlepkih prve stopnje gre za nekoliko drugačen primer, pri katerem je razvidno, da krivulja ni naravnega videza, temveč je lomljena na vsaki kontrolni točki. Za razliko od prejšnjega primera velja, da so izračunane točke ne glede na pozicijo kontrolnih točk vedno pozicionirane na daljici, ki povezuje po dve kontrolni točki. Izrisana krivulja je tako identiteta linearne interpolacije med kontrolnimi točkami, podobno kot na primeru Bézierovih krivulj. Implementiran algoritem ni dovolj optimiziran, kar je vidno s pomočjo množice točk, ki se izrišejo in s tem nakazujejo potek krivulje, kot je razvidno na sliki Pravilno izpeljan algoritem je videti na primeru Bézierovih krivulj, na katerem je na intervalu med kontrolnimi točkami izrisana le po ena točka (slika 3.5).

38 28 POGLAVJE 3. IMPLEMENTACIJA Slika 3.12: Primer B-zlepka prve stopnje in povezovalne funkcije z danim vektorjem vozlov Pri primeru prve stopnje na sliki 3.12 je videti, da bazične funkcije potekajo linearno med določenimi odseki. V konceptu izrisa to pomeni, da je vpliv vsake kontrolne točke zelo majhen, poleg tega imata na vsakem odseku intervala vpliv največ dve kontrolni točki B-zlepki druge stopnje Za kvadratične in večje stopnje pridobi krivulja svojo pravo obliko. Glede na kontrolne točke se pri izračunu upošteva vpliv dodatnih vozlov, ki so indirektno povezani z vrednostmi kontrolnih točk za izračun izhodne vrednosti. Ob primeru krivulje druge stopnje velja, da njen vpliv seže dlje preko intervala kot pri manjših stopnjah. V konceptu implementacije to pomeni dvojni

39 3.13. B-ZLEPKI DRUGE STOPNJE 29 izračun vpliva po rekurzivni metodi. Ob tem obstajajo primeri, pri katerih je vpliv manjši, predvsem gre za mnogokratnost kontrolnih točk, ki se določijo preko vektorja vozlov. Sledi primer algoritma, ki določa mnogokratnost vozlov. 1 // define variable 2 var multiplicity ; 3 for ( var lastindex = 0; u >= knots [ lastindex ] && lastindex < knots. length -1; lastindex ++) ; 4 for ( var index = lastindex ; knots [ index -1] == u; index - -); 5 6 multiplicity = lastindex - index ; Primer 3.3: Izsek algoritma za ugotavljanje mnogokratnosti Za vozle, ki imajo toliko enakih vrednosti, kolikor je vrednost stopnje, velja, da je vrednost funkcije na vplivu intervala določena z vrednostjo ene same kontrolne točke. Za vrednosti vozlov, ki jih definiramo znotraj območja, pa velja, da se ob stopnji enakih vrednostih tvori zlepek dveh krivulj. Krivulja tako na pogled ni več naravna, temveč lomljena.

40 30 POGLAVJE 3. IMPLEMENTACIJA Slika 3.13: Prikaz multipliciranih vrednosti kontrolnih točk s pomočjo vektorja vozlov Odlično vlogo ima v tem primeru prikaz bazičnih funkcij, ki prikazuje vpliv vektorja vozlov na podano stopnjo. Lepo je razvidno, da ima ob vrednosti spremenljivke t=3 popolni vpliv tretja kontrolna točka. Točka je tako del krivulje, s premikom točke pa ji na enako lego sledi tudi krivulja. Pri B-zlepkih druge stopnje je potrebno omeniti še nekoliko hitrejši način izrisovanja s pomočjo vrednosti matrik, ki so izpeljane iz rekurzivne enačbe B-zlepkov. Računanje izhodnih vrednosti je tako enostavnejše in hitrejše, primer pa je uporaben le za določene vrednosti vektorja vozlov, ki je linearen. Metoda je uporabna za specifično uporabo, kjer uporabnik odvečnih odvisnosti, kot je vektor vozlov ne potrebuje. Izrek 3.3 Enačba za izračun krivulje druge stopnje po definirani matriki vre-

41 3.13. B-ZLEPKI DRUGE STOPNJE 31 dnosti c i (u) = 1 2 [u2 u 1] r i 1 r i r i+1 (3.3) Sprva je pričakovano, da bo rezultat specifičnega algoritma precej boljši kot pri splošnem primeru. Po izvedbi kaže, da statistično zaradi nepričakovanih rezultatov pri številu vzorcev n = 100, teorijo ovržemo. Vzorčenje z 10 točkami Integrated algorithm execution time: 0.47ms. Custom algorithm execution time: 0.66ms. Vzorčenje s 50 točkami Integrated algorithm execution time: 5.37ms. Custom algorithm execution time: 7.6ms. Vzorčenje s 500 točkami Integrated algorithm execution time: ms. Custom algorithm execution time: ms. Gledano s stališča algoritma je specifična implementacija enostavnejša za izvedbo ob pogoju, da poznamo enačbe za izračun glede na stopnjo po matriki. Očitno je, da v programskem jeziku aritmetične operacije niso tako nedolžna naloga, saj v tem primeru porabijo veliko sistemskih virov. Kot zanimivost so prikazani rezultati časovnih razlik med izrisom krivulje s pomočjo de Boorovega algoritma ter izrisom s pomočjo računanja rezultata preko preddefinirane matrike vrednosti za kvadratične krivulje. Iz rezultatov je mogoče sklepati, da je de Boorov algoritem očitno hitrejši, s povečevanjem števila točk pa se ta rezultat še izboljšuje.

42 32 POGLAVJE 3. IMPLEMENTACIJA 3.14 B-zlepki tretje stopnje Tako kot pri zlepku kvadratne stopnje, veljajo tudi pri stopnji več podobne lastnosti. Za izris B-zlepka kubične stopnje je potrebno definirati dodatno vrednost vektorja vozlov ob spremembi izrisa iz kvadratične oblike. Za generiranje lomljene krivulje velja podobno, le da je z vrednostmi kontrolnih točk potrebno definirati eno identično vrednost več kot pri primeru krivulje stopnje manj. Kakor je v prejšnjem primeru krivulje druge stopnje omenjena časovna odvisnost algoritmov, je tudi v tem delu implementiran algoritem za izračun krivulje kubične stopnje po preddefinirani matriki. Izrek 3.4 Enačba za izračun krivulje tretje stopnje po definirani matriki vrednosti c i (u) = [u3 u 2 u 1] r i 1 r i r i+1 r i+2 (3.4) S pomočjo programa so izmerjene vrednosti v milisekundah, ki jih program potrebuje, da obdela izračun ene krivulje. Postopek implementacije je spremenjen glede na novo stopnjo, privzeti algoritem pa pri tem ostane enak. Naslednje vrednosti prikazujejo časovno potratnost algoritma po statističnem številu vzorcev n=100. Vzorčenje z 10 točkami Integrated algorithm execution time: 0.57ms. Custom algorithm execution time: 0.84ms. Vzorčenje s 50 točkami Integrated algorithm execution time: 4.5ms. Custom algorithm execution time: 8.3ms. Vzorčenje s 500 točkami

43 3.15. B-ZLEPKI VIŠJIH STOPENJ 33 Integrated algorithm execution time: ms. Custom algorithm execution time: ms. Kakor se vidi razlika med posameznimi rezultati glede na število izračunanih točk na primeru druge stopnje, so razlike na primeru tretje stopnje pri 500 točkah še bolj očitne B-zlepki višjih stopenj Zlepki višjih stopenj so podobno definirani kakor zlepki kubičnih stopenj, zato jih ni potrebno posebej omenjati glede na posamezno stopnjo. Za vsako stopnjo več veljajo enake razlike kot med krivuljama kvadratne in kubične stopnje Funkcionalnost skaliranja prikazanih krivulj Pri implementaciji skaliranja prikazane slike za določen faktor se uporablja trivialen premik samih točk, ki določajo krivuljo. Pri tem ostane osnovna podatkovna struktura nedotaknjena, razlika pa se izračuna glede na faktor ob prikazu. Programska koda omogoča faktor povečave od 0 odstotkov naprej, pri tem pomeni faktor 100 odstotkov realno velikost slike. Implementacija skaliranja se navadno opravlja s pomočjo matrik, preko katerih se izračunajo skalirane vrednosti. V primeru naloge se vrednosti ob skaliranju izračunajo tako, da se vse točke direktno pomnožijo s faktorjem skaliranja. Pri tem je potrebno upoštevati miškin kazalec, saj je tudi ta eden izmed parametrov pri kalkulaciji.

44 34 POGLAVJE 3. IMPLEMENTACIJA Slika 3.14: Skalacija krivulje. Sam algoritem je nekoliko zapleten, poleg tega bi bilo mogoče ubrati drugo pot in uporabiti drugačne pristope, ki uporabljajo matrike. Glavni pogoj pri tem je, da se povečava izvrši v točko, na katero trenutno kaže miškin kazalec. Pri tem ugotovimo, da se ob premiku kazalca trenutni kontekst prikaza ne izgubi. Za to je potrebno določene parametre v trenutnem kontekstu tudi shraniti v podatkovno strukturo. V kolikor uporabnik ročno spremeni parameter povečave, se slika samodejno povrne v prvotno velikost. Smiselno je, da se programsko omeji tudi zgornja meja povečave, saj ni mišljeno, da uporabnik povečuje krivuljo v neskončnost. Zaradi takšnega početja bi lahko prišlo do zrušitve programa. Ta del naloge bi lahko bil nekoliko bolj dovršen oziroma modularen. Funkcionalnost je integrirana v sam prikaz, kar pa ni dobra rešitev programske opreme, res pa je, da za takšen način ne potrebujemo posebne podatkovne strukture za shranjevanje vrednosti samih točk na krivulji. S trenutno implementacijo se krivulja izračunava v celoti ne glede na spremenjeni zlepek, zato je nekaj o tem omenjeno tudi v poglavju optimizacije. Preizkušeno se program ob mnogih zlepkih prične odzivati počasi, odvisno od vrednosti nastavljenega kota, ki drastično vpliva na odzivnost aplikacije.

45 3.16. FUNKCIONALNOST SKALIRANJA PRIKAZANIH KRIVULJ 35 Za Bézierove krivulje velja omeniti, da se natančnost prikaza spreminja glede na faktor skalacije, zato velja preizkusiti tudi ta del funkcionalnosti programa. Skozi vrtenje miškinega kolesa opazimo, da se počasi pojavljajo nove točke na krivulji, ki bolje interpolirajo sam lik.

46 36 POGLAVJE 3. IMPLEMENTACIJA

47 Poglavje 4 Optimizacija in učinkovitost 4.1 Optimizacija algoritma za izris Pri optimizaciji algoritma je potrebno sprva pomisliti na same lastnosti danih podatkov, mask, oziroma v primeru te naloge, krivulje ter njenega prikaza. Ena izmed lastnosti krivulj je oblika, kar pomeni, da bi lahko glede na obliko krivulje optimizirali določen algoritem preko izračuna za izris. V praksi bi tako med tremi kontrolnimi točkami, ki ležijo na isti premici, narisali le eno črto brez kompleksnih operacij, med tem ko bi brez optimizirane kode trošili procesorski čas, rezultat izrisa po povezavi z črtami pa bi bil praktično enak. Slika 4.1: Razlika v številu pik po optimizaciji (zgoraj) in pred optimizacijo (spodaj) Zgornji primer stremi k ekstremnosti, saj se v večini primerov določen scenarij ne zgodi. V večini primerov uporabe bi se vmesna kontrolna točka nahajala nekje na naključnih vrednostih x in y koordinatnega sistema. Pri 37

48 38 POGLAVJE 4. OPTIMIZACIJA IN UČINKOVITOST tem pa je še vedno mogoče izkoristiti omenjeno izboljšavo v primeru, da bolj krive dele vzorčimo večkrat kot pa bolj ravne. Najenostavnejša rešitev pri tem je računanje kotov med vektorji, ki povezujejo dve točki na krivulji. Postopek izračuna novih točk, ki so na premici, se ponavlja do določene vrednosti kota ϕ, ki je podan kot parameter algoritma. Vneseni kot je mogoče spreminjati od 0 stopinj naprej in je v implementaciji izpeljan kot inverz kotne funkcije kosinus kot kaže primer iz Bézierovih krivulj. 1 // array - parameter mnozice tock 2 function checkangle ( array ){ 3 // define 4 var angle = 0; 5 var A, B, arccos, fi; 6 for ( var i = 0; i < array. length -2; i ++) { 7 // razlike med koordinatami dvojic tock 8 A = new Tocka ( array [i +1].x- array [i].x, array [i +1].y- array [ i].y); 9 B = new Tocka ( array [i +2].x- array [i +1].x, array [i +2].yarray [i +1]. y); 10 // izracun kota 11 arccos = ((A.x*B.x)+(A.y*B.y)) /(( Math. sqrt ( Math. pow (A.x,2) + Math. pow (A.y,2) ))*( Math. sqrt ( Math. pow (B.x,2) + Math. pow (B.y,2) ))); 12 // arccos 13 fi = Math. acos ( arccos ) *180/ Math.PI; 14 // ce kot vecji od trenutnega najvecjega 15 if( fi > angle ) 16 angle = fi; 17 } 18 // vrni najvecji kot med posameznimi tockami 19 return angle ; 20 } Primer 4.1: Izsek algoritma za optimizacijo izrisa glede na kot med vektorji De Casteljauov algoritem za izračun Bézierove krivulje je definiran rekurzivno, zato je rekurziven tudi računalniški algoritem v programskem jeziku Javascript. Rekurzija je tipičen način programiranja, kjer se izvede določen

Strojna oprema

Strojna oprema Asistenta: Mira Trebar, Miha Moškon UIKTNT 2 Uvod v programiranje Začeti moramo razmišljati algoritmično sestaviti recept = napisati algoritem Algoritem za uporabo poljubnega okenskega programa. UIKTNT

Prikaži več

H-Razcvet

H-Razcvet Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Gregor Šulgaj H-Razcvet DIPLOMSKO DELO INTERDISCIPLINARNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVA IN

Prikaži več

Osnove matematicne analize 2018/19

Osnove matematicne analize  2018/19 Osnove matematične analize 2018/19 Neža Mramor Kosta Fakulteta za računalništvo in informatiko Univerza v Ljubljani Funkcija je predpis, ki vsakemu elementu x iz definicijskega območja D f R priredi natanko

Prikaži več

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk 1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatkov in njihov prenos med spletnimi mesti. Obrazec v

Prikaži več

FGG14

FGG14 Iterativne metode podprostorov Iterativne metode podprostorov uporabljamo za numerično reševanje linearnih sistemov ali računanje lastnih vrednosti problemov z velikimi razpršenimi matrikami, ki so prevelike,

Prikaži več

Slide 1

Slide 1 Vsak vektor na premici skozi izhodišče lahko zapišemo kot kjer je v smerni vektor premice in a poljubno število. r a v Vsak vektor na ravnini skozi izhodišče lahko zapišemo kot kjer sta v, v vektorja na

Prikaži več

IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko Projekt delno financira Evropska unija, in sicer iz Evropskega socialnega sklada

IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko Projekt delno financira Evropska unija, in sicer iz Evropskega socialnega sklada IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko UPORABLJENE TEHNOLOGIJE Za izdelavo predstavitvene spletne strani smo izbrali tehnologije, ki zagotavljajo: Hitro delovanje spletne

Prikaži več

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Miklavič 30. okt. 2003 Math. Subj. Class. (2000): 05E{20,

Prikaži več

GeomInterp.dvi

GeomInterp.dvi Univerza v Ljubljani Fakulteta za matematiko in fiziko Seminar za Numerično analizo Geometrijska interpolacija z ravninskimi parametričnimi polinomskimi krivuljami Gašper Jaklič, Jernej Kozak, Marjeta

Prikaži več

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje priročno programsko okolje tolmač interpreter (ne prevajalnik)

Prikaži več

predstavitev fakultete za matematiko 2017 A

predstavitev fakultete za matematiko 2017 A ZAKAJ ŠTUDIJ MATEMATIKE? Ker vam je všeč in vam gre dobro od rok! lepa, eksaktna veda, ki ne zastara matematičnoanalitično sklepanje je uporabno povsod matematiki so zaposljivi ZAKAJ V LJUBLJANI? najdaljša

Prikaži več

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi Kemijska tehnologija, Kemija Bolonjski univerzitetni program Smer: KT K WolframA: DA NE Računski del izpita pri predmetu MATEMATIKA I 6. 2. 2014 Čas reševanja je 75 minut. Navodila: Pripravi osebni dokument.

Prikaži več

Microsoft Word - UP_Lekcija04_2014.docx

Microsoft Word - UP_Lekcija04_2014.docx 4. Zanka while Zanke pri programiranju uporabljamo, kadar moramo stavek ali skupino stavkov izvršiti večkrat zaporedoma. Namesto, da iste (ali podobne) stavke pišemo n-krat, jih napišemo samo enkrat in

Prikaži več

ANALITIČNA GEOMETRIJA V RAVNINI

ANALITIČNA GEOMETRIJA V RAVNINI 3. Analitična geometrija v ravnini Osnovna ideja analitične geometrije je v tem, da vaskemu geometrijskemu objektu (točki, premici,...) pridružimo števila oz koordinate, ki ta objekt popolnoma popisujejo.

Prikaži več

RAČUNALNIŠKA ORODJA V MATEMATIKI

RAČUNALNIŠKA ORODJA V MATEMATIKI DEFINICIJA V PARAVOKOTNEM TRIKOTNIKU DEFINICIJA NA ENOTSKI KROŢNICI GRAFI IN LASTNOSTI SINUSA IN KOSINUSA POMEMBNEJŠE FORMULE Oznake: sinus kota x označujemo z oznako sin x, kosinus kota x označujemo z

Prikaži več

Microsoft Word - A-3-Dezelak-SLO.doc

Microsoft Word - A-3-Dezelak-SLO.doc 20. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, 2011 1 ANALIZA OBRATOVANJA HIDROELEKTRARNE S ŠKOLJČNIM DIAGRAMOM Klemen DEŽELAK POVZETEK V prispevku je predstavljena možnost izvedbe

Prikaži več

resitve.dvi

resitve.dvi FAKULTETA ZA STROJNISTVO Matematika Pisni izpit. junij 22 Ime in priimek Vpisna st Navodila Pazljivo preberite besedilo naloge, preden se lotite resevanja. Veljale bodo samo resitve na papirju, kjer so

Prikaži več

Vrste

Vrste Matematika 1 17. - 24. november 2009 Funkcija, ki ni algebraična, se imenuje transcendentna funkcija. Podrobneje si bomo ogledali naslednje transcendentne funkcije: eksponentno, logaritemsko, kotne, ciklometrične,

Prikaži več

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi Vpisna številka Priimek, ime Smer: K KT WA Izpit pri predmetu MATEMATIKA I Računski del Ugasni in odstrani mobilni telefon. Uporaba knjig in zapiskov ni dovoljena. Dovoljeni pripomočki so: kemični svinčnik,

Prikaži več

Datum in kraj

Datum in kraj Ljubljana, 5. 4. 2017 Katalog znanj in vzorci nalog za izbirni izpit za vpis na magistrski študij Pedagoško računalništvo in informatika 2017/2018 0 KATALOG ZNANJ ZA IZBIRNI IZPIT ZA VPIS NA MAGISTRSKI

Prikaži več

PREDMETNI KURIKULUM ZA RAZVOJ METEMATIČNIH KOMPETENC

PREDMETNI KURIKULUM ZA RAZVOJ METEMATIČNIH KOMPETENC MATEMATIKA 1.razred OSNOVE PREDMETA POKAZATELJI ZNANJA SPRETNOSTI KOMPETENCE Naravna števila -pozna štiri osnovne računske operacije in njihove lastnosti, -izračuna številske izraze z uporabo štirih računskih

Prikaži več

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-junij-17.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-junij-17.dvi Vpisna številka Priimek, ime Smer: K KT WA Izpit pri predmetu MATEMATIKA I Računski del Ugasni in odstrani mobilni telefon. Uporaba knjig in zapiskov ni dovoljena. Dovoljeni pripomočki so: kemični svinčnik,

Prikaži več

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x Vaje: Matrike 1 Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N n 1 1 0 1 ; n N 0 2 Pokaži, da je množica x 0 y 0 x y x + z ; x, y, z R y x z x vektorski podprostor v prostoru matrik

Prikaži več

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: 17.07.2013 Ver. 2.9.1.2 Spletni portal članov uporabniška navodila

Prikaži več

Microsoft PowerPoint - Java_spremenljivke

Microsoft PowerPoint - Java_spremenljivke Java Spremenljivke, prireditveni stavek Spremenljivke Prostor, kjer hranimo vrednosti Ime Znak, števka, _ Presledkov v imenu ne sme biti! Tip spremenljivke int (cela števila) Vse spremenljivke napovemo

Prikaži več

CpE & ME 519

CpE & ME 519 2D Transformacije Zakaj potrebujemo transformacije? Animacija Več instanc istega predmeta, variacije istega objekta na sceni Tvorba kompliciranih predmetov iz bolj preprostih Transformacije gledanja Kaj

Prikaži več

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - CNC obdelava kazalo vsebine.doc ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo mesto, april 2008 Ime in priimek študenta ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo

Prikaži več

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije Univerza v Ljubljani Fakulteta za matematiko in fiziko Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije 2. junij 2011 Koncept PSO Motivacija: vedenje organizmov v naravi Ideja: koordinirano

Prikaži več

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf uporaba for zanke i iz korak > 0 oblika zanke: for i iz : korak : ik NE i ik DA stavek1 stavek2 stavekn stavek1 stavek2 stavekn end i i + korak I&: P-XI/1/17 uporaba for zanke i iz korak < 0 oblika zanke:

Prikaži več

Microsoft Word - avd_vaje_ars1_1.doc

Microsoft Word - avd_vaje_ars1_1.doc ARS I Avditorne vaje Pri nekem programu je potrebno izvršiti N=1620 ukazov. Pogostost in trajanje posameznih vrst ukazov računalnika sta naslednja: Vrsta ukaza Štev. urinih period Pogostost Prenosi podatkov

Prikaži več

Zavod sv. Stanislava Škofijska klasična gimnazija Programiranje v Pythonu Program za računanje Maturitetna seminarska naloga iz informatike Kandidat:

Zavod sv. Stanislava Škofijska klasična gimnazija Programiranje v Pythonu Program za računanje Maturitetna seminarska naloga iz informatike Kandidat: Zavod sv. Stanislava Škofijska klasična gimnazija Program za računanje Maturitetna seminarska naloga iz informatike Kandidat: Tinkara Čadež Mentor: Helena Starc Grlj Ljubljana Šentvid, april 2019 POVZETEK

Prikaži več

DN5(Kor).dvi

DN5(Kor).dvi Koreni Število x, ki reši enačbo x n = a, imenujemo n-ti koren števila a in to označimo z n a. Pri tem je n naravno število, a pa poljubno realno število. x = n a x n = a. ( n a ) n = a. ( n a ) m = n

Prikaži več

FAKULTETA ZA STROJNIŠTVO Matematika 2 Pisni izpit 9. junij 2005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite bese

FAKULTETA ZA STROJNIŠTVO Matematika 2 Pisni izpit 9. junij 2005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite bese FAKULTETA ZA STROJNIŠTVO Matematika Pisni izpit 9. junij 005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja. Veljale bodo

Prikaži več

Slide 1

Slide 1 Projektno vodenje PREDAVANJE 7 doc. dr. M. Zajc matej.zajc@fe.uni-lj.si Projektno vodenje z orodjem Excel Predstavitev Najbolj razširjeno orodje za delo s preglednicami Dva sklopa funkcij: Obdelava številk

Prikaži več

Srednja šola za oblikovanje

Srednja šola za oblikovanje Srednja šola za oblikovanje Park mladih 8 2000 Maribor POKLICNA MATURA MATEMATIKA SEZNAM VPRAŠANJ ZA USTNI DEL NARAVNA IN CELA ŠTEVILA Opišite vrstni red računskih operacij v množici naravnih števil. Kakšen

Prikaži več

M

M Š i f r a k a n d i d a t a : Državni izpitni center *M16140111* Osnovna raven MATEMATIKA Izpitna pola 1 SPOMLADANSKI IZPITNI ROK Sobota, 4. junij 016 / 10 minut Dovoljeno gradivo in pripomočki: Kandidat

Prikaži več

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij Kazalo 1 DVOMESTNE RELACIJE 1 1.1 Operacije z dvomestnimi relacijami...................... 2 1.2 Predstavitev relacij............................... 3 1.3 Lastnosti relacij na dani množici (R X X)................

Prikaži več

Mladi za napredek Maribora srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 2015

Mladi za napredek Maribora srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 2015 Mladi za napredek Maribora 015 3. srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 015 Kazalo 1. Povzetek...3. Uvod...4 3. Spirala 1...5 4. Spirala...6 5. Spirala 3...8 6. Pitagorejsko drevo...10

Prikaži več

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja 3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja AV k = V k H k + h k+1,k v k+1 e T k = V kh k+1,k.

Prikaži več

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni RAM stroj Nataša Naglič 4. junij 2009 1 RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni trak, pomnilnik ter program. Bralni trak- zaporedje

Prikaži več

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski naslov: podpora@coks.si

Prikaži več

REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1

REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1 REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1 Nekateri pripomočki in naprave za računanje: 1a) Digitalni

Prikaži več

FGG13

FGG13 10.8 Metoda zveznega nadaljevanja To je metoda za reševanje nelinearne enačbe f(x) = 0. Če je težko poiskati začetni približek (še posebno pri nelinearnih sistemih), si lahko pomagamo z uvedbo dodatnega

Prikaži več

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v financah Ljubljana, 2010 1. Klasični pristop k analizi

Prikaži več

Ime in priimek

Ime in priimek Polje v osi tokovne zanke Seminar pri predmetu Osnove Elektrotehnike II, VSŠ (Uporaba programskih orodij v elektrotehniki) Ime Priimek, vpisna številka, skupina Ljubljana,.. Kratka navodila: Seminar mora

Prikaži več

Navodila Trgovina iCenter

Navodila Trgovina iCenter Napredovanja v plačne razrede javnih uslužbencev 2019 S pomočjo SAOP programa Kadrovska evidenca lahko ob dokupljeni kodi vodimo napredovanja javnih uslužbencev. Za napredovanja v letu 2019 je potrebno

Prikaži več

Diapozitiv 1

Diapozitiv 1 9. Funkcije 1 9. 1. F U N K C I J A m a i n () 9.2. D E F I N I C I J A F U N K C I J E 9.3. S T A V E K r e t u r n 9.4. K L I C F U N K C I J E I N P R E N O S P A R A M E T R O V 9.5. P R E K R I V

Prikaži več

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov 4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenovalec, ter iz ulomkove črte. Racionalna števila so števila,

Prikaži več

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj novosti na področju SCADA sistemov (ifix Productivity

Prikaži več

Microsoft PowerPoint - IPPU-V2.ppt

Microsoft PowerPoint - IPPU-V2.ppt Informatizacija poslovnih procesov v upravi VAJA 2 Procesni pogled Diagram aktivnosti IPPU vaja 2; stran: 1 Fakulteta za upravo, 2006/07 Procesni pogled Je osnova za razvoj programov Prikazuje algoritme

Prikaži več

INFORMATOR BIROKRAT 1/2011

INFORMATOR BIROKRAT 1/2011 ta Veleprodaja Maloprodaja Storitve Računovodstvo Proizvodnja Gostinstvo Turizem Hotelirstvo Ticketing CRM Internetna trgovina Izdelava internetnih strani Grafično oblikovanje NOVOSTI IN NASVETI ZA DELO

Prikaži več

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površe, pri tem pa zbrati čim več točk. Podobno igro najdemo tudi v knjigi Scratch (Lajovic, 2011), vendar

Prikaži več

SESTAVA VSEBINE MATEMATIKE V 6

SESTAVA VSEBINE MATEMATIKE V 6 SESTAVA VSEBINE MATEMATIKE V 6. RAZREDU DEVETLETKE 1. KONFERENCA Št. ure Učne enote CILJI UVOD (1 ura) 1 Uvodna ura spoznati vsebine učnega načrta, način dela, učne pripomočke za pouk matematike v 6. razredu

Prikaži več

Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri te

Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri te Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri tem je lahko nelinearna funkcija f podana eksplicitno,

Prikaži več

Matematika 2

Matematika 2 Matematika 2 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 23. april 2014 Soda in liha Fourierjeva vrsta Opomba Pri razvoju sode periodične funkcije f v Fourierjevo vrsto v razvoju nastopajo

Prikaži več

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc) MORSE UČENJE PO KOCHOVI METODI Računalniški program za učenje skupaj z nekaterimi dodatnimi datotekami dobite na spletni strani avtorja: http://www.g4fon.net/. Zanimive strani so tudi: - http://www.qsl.net/n1irz/finley.morse.html

Prikaži več

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) in za vsako napisati svojo kodo. Dve ikoni imata isto

Prikaži več

ISOFT , računalniški inženiring

ISOFT , računalniški inženiring ISOFT, računalniški inženiring Marko Kastelic s.p. Sad 2, 1296 Šentvid pri stični Spletna stran podjetja:http://www.isoft.si podjetja ISOFT Spletna stran sistema sledenja vozil track.si: http://www.track.si

Prikaži več

7. VAJA A. ENAČBA ZBIRALNE LEČE

7. VAJA A. ENAČBA ZBIRALNE LEČE 7. VAJA A. ENAČBA ZBIRALNE LEČE 1. UVOD Enačbo leče dobimo navadno s pomočjo geometrijskih konstrukcij. V našem primeru bomo do te enačbe prišli eksperimentalno, z merjenjem razdalj a in b. 2. NALOGA Izračunaj

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be Ime in priimek: Vpisna št: FAKULEA ZA MAEMAIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6 julij 2018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Za pozitiven rezultat

Prikaži več

(Microsoft PowerPoint _IZS_izobraevanje ZK_1_del.ppt [Zdru\236ljivostni na\350in])

(Microsoft PowerPoint _IZS_izobraevanje ZK_1_del.ppt [Zdru\236ljivostni na\350in]) Geodetski postopki in izdelava elaborata Darinka Bertole, september 2017 NAMEN IZOBRAŽEVANJA: obnova znanja s področja izvedbe geodetske storitve in izdelave elaborata poenotenje dela in dvig kvalitete

Prikaži več

Poskusi s kondenzatorji

Poskusi s kondenzatorji Poskusi s kondenzatorji Samo Lasič, Fakulteta za Matematiko in Fiziko, Oddelek za fiziko, Ljubljana Povzetek Opisani so nekateri poskusi s kondenzatorji, ki smo jih izvedli z merilnim vmesnikom LabPro.

Prikaži več

Poslovilno predavanje

Poslovilno predavanje Poslovilno predavanje Matematične teme z didaktiko Marko Razpet, Pedagoška fakulteta Ljubljana, 20. november 2014 1 / 32 Naše skupne ure Matematične tehnologije 2011/12 Funkcije več spremenljivk 2011/12

Prikaži več

NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite

NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite vzorčne strani iz DELOVNIH LISTOV 1 v štirih delih

Prikaži več

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov Gospodarski subjekti Definicija: V skladu z 2. členom Izvedbene uredbe Komisije (EU) 2018/574

Prikaži več

resitve.dvi

resitve.dvi FAKULTETA ZA STROJNIŠTVO Matematika 4 Pisni izpit 3. februar Ime in priimek: Vpisna št: Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja. Veljale bodo samo rešitve na papirju, kjer

Prikaži več

Numeri na analiza - podiplomski ²tudij FGG doma e naloge - 1. skupina V prvem delu morate re²iti toliko nalog, da bo njihova skupna vsota vsaj 10 to k

Numeri na analiza - podiplomski ²tudij FGG doma e naloge - 1. skupina V prvem delu morate re²iti toliko nalog, da bo njihova skupna vsota vsaj 10 to k Numeri na analiza - podiplomski ²tudij FGG doma e naloge -. skupina V prvem delu morate re²iti toliko nalog, da bo njihova skupna vsota vsaj 0 to k in da bo vsaj ena izmed njih vredna vsaj 4 to ke. Za

Prikaži več

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se velikokrat zmoti. Na srečo piše v programu Microsoft

Prikaži več

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika Gimnazija Bežigrad Peričeva 4 1000 Ljubljana OPERACIJSKI SISTEM Predmet: informatika KAZALO 1. Uvod...3 2. Predstavitev programa Windows 98...5 3. Raziskovanje računalnika...5 4. Raziskovanje Interneta...6

Prikaži več

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru 6.1 Uvod 6 Igra Chomp Marko Repše, 30.03.2009 Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru in na končni ali neskončni čokoladi. Igralca si izmenjujeta

Prikaži več

resitve.dvi

resitve.dvi FAKULTETA ZA STROJNISTVO Matematika 2. kolokvij. december 2 Ime in priimek: Vpisna st: Navodila Pazljivo preberite besedilo naloge, preden se lotite resevanja. Veljale bodo samo resitve na papirju, kjer

Prikaži več

glava.dvi

glava.dvi Lastnosti verjetnosti 1. Za dogodka A in B velja: P(A B) = P(A) + P(B) P(A B) 2. Za dogodke A, B in C velja: P(A B C) = P(A) + P(B) + P(C) P(A B) P(A C) P(B C) + P(A B C) Kako lahko to pravilo posplošimo

Prikaži več

INDIVIDUALNI PROGRAM PREDMET: MATEMATIKA ŠOL. LETO 2015/2016 UČITELJ: ANDREJ PRAH Učenec: Razred: 7. Leto šolanja: Ugotovitev stanja: Učenec je lani n

INDIVIDUALNI PROGRAM PREDMET: MATEMATIKA ŠOL. LETO 2015/2016 UČITELJ: ANDREJ PRAH Učenec: Razred: 7. Leto šolanja: Ugotovitev stanja: Učenec je lani n INDIVIDUALNI PROGRAM PREDMET: MATEMATIKA ŠOL. LETO 2015/2016 UČITELJ: ANDREJ PRAH Učenec: Razred: 7. Leto šolanja: Ugotovitev stanja: Učenec je lani neredno opravljal domače naloge. Pri pouku ga je bilo

Prikaži več

LABORATORIJSKE VAJE IZ FIZIKE

LABORATORIJSKE VAJE IZ FIZIKE UVOD LABORATORIJSKE VAJE IZ FIZIKE V tem šolskem letu ste se odločili za fiziko kot izbirni predmet. Laboratorijske vaje boste opravljali med poukom od začetka oktobra do konca aprila. Zunanji kandidati

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31 avgust 018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Za pozitiven

Prikaži več

Gradbeništvo kot Industrija 4.0

Gradbeništvo kot Industrija 4.0 Povzetek: Kot vse druge panoge se mora gradbeništvo modernizirati Industrija 4.0 koncept, ki daje modernizaciji okvir, motivacijo, zagon Industrija 4.0 je stapljanje fizičnega in digitalnega sveta Gradbeništvo

Prikaži več

P181C10111

P181C10111 Š i f r a k a n d i d a t a : Državni izpitni center *P181C10111* SPOMLADANSKI IZPITNI ROK MATEMATIKA Izpitna pola Sobota, 9. junij 018 / 10 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5 februar 018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Nalog je

Prikaži več

MATEMATIKA 2. LETNIK GIMNAZIJE G2A,G2B Sestavil: Matej Mlakar, prof. Ravnatelj: Ernest Simončič, prof. Šolsko leto 2011/2012 Število ur: 140

MATEMATIKA 2. LETNIK GIMNAZIJE G2A,G2B Sestavil: Matej Mlakar, prof. Ravnatelj: Ernest Simončič, prof. Šolsko leto 2011/2012 Število ur: 140 MATEMATIKA 2. LETNIK GIMNAZIJE G2A,G2B Sestavil: Matej Mlakar, prof. Ravnatelj: Ernest Simončič, prof. Šolsko leto 2011/2012 Število ur: 140 Pravila ocenjevanja pri predmetu matematika na Gimnaziji Krško

Prikaži več

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete ELEKTRONSKI PODATKI, KI JIH ORGANIZACIJA USTVARJA IN POTREBUJE ZA DOSTOP, SE KAŽEJO V RAZLIČNIH

Prikaži več

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA Navdih Poizvedovanje po BD podatkovnih virih, ki imajo časovno dimenzijo in so dostopni. Večji promet pomeni večje število dobrin in močnejšo

Prikaži več

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX 3.5 1. Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nastavitve strežnika ESX 3. Namestitev in nastavitve VM

Prikaži več

Event name or presentation title

Event name or  presentation title Marko Škufca Vodja programa BI, ADD d.o.o. Gorazd Cah Specialist področja Služba za informatiko, DARS d.d. Izziv Rešitev Rezultati... PROCESI + TEHNOLOGIJA + LJUDJE Poslanstvo: s sodobnimi pristopi in

Prikaži več

N

N Državni izpitni center *N19141132* 9. razred FIZIKA Ponedeljek, 13. maj 2019 NAVODILA ZA VREDNOTENJE NACIONALNO PREVERJANJE ZNANJA v 9. razredu Državni izpitni center Vse pravice pridržane. 2 N191-411-3-2

Prikaži več

DOMACA NALOGA - LABORATORIJSKE VAJE NALOGA 1 Dani sta kompleksni stevili z in z Kompleksno stevilo je definirano kot : z = a + b, a p

DOMACA NALOGA - LABORATORIJSKE VAJE NALOGA 1 Dani sta kompleksni stevili z in z Kompleksno stevilo je definirano kot : z = a + b, a p DOMACA NALOGA - LABORATORIJSKE VAJE NALOGA 1 Dani sta kompleksni stevili z 1 5 2 3 in z 2 3 8 5. Kompleksno stevilo je definirano kot : z = a + b, a predstavlja realno, b pa imaginarno komponento. z 1

Prikaži več

REPUBLIKA SLOVENIJA SLUŽBA VLADE REPUBLIKE SLOVENIJE ZA RAZVOJ IN EVROPSKO KOHEZIJSKO POLITIKO NAVODILA ZA PRIJAVO LISTIN NA ZZI V PRIMERU PRO RATA V

REPUBLIKA SLOVENIJA SLUŽBA VLADE REPUBLIKE SLOVENIJE ZA RAZVOJ IN EVROPSKO KOHEZIJSKO POLITIKO NAVODILA ZA PRIJAVO LISTIN NA ZZI V PRIMERU PRO RATA V REPUBLIKA SLOVENIJA SLUŽBA VLADE REPUBLIKE SLOVENIJE ZA RAZVOJ IN EVROPSKO KOHEZIJSKO POLITIKO NAVODILA ZA PRIJAVO LISTIN NA ZZI V PRIMERU PRO RATA V IS e-ma Ljubljana, avgust 2019 1 Vsebina 1. UVOD...

Prikaži več

CODEKS IP KAMERA

CODEKS IP KAMERA CODEKS IP KAMERA uporabniška navodila Vse pravice pridržane. Noben del uporabniških navodil se ne sme reproducirati v kakršnikoli obliki ali na kakršen koli način - grafični, elektronski ali mehanski,

Prikaži več

PKP projekt SMART WaterNet_Opis

PKP projekt SMART WaterNet_Opis PKP projekt SMART WaterNet Po kreativni poti do znanja (PKP) opis programa Program Po kreativni poti do znanja omogoča povezovanje visokošolskih zavodov s trgom dela in tako daje možnost študentom za pridobitev

Prikaži več

3. Preizkušanje domnev

3. Preizkušanje domnev 3. Preizkušanje domnev doc. dr. Miroslav Verbič miroslav.verbic@ef.uni-lj.si www.miroslav-verbic.si Ljubljana, februar 2014 3.1 Izračunavanje intervala zaupanja za vrednosti regresijskih koeficientov Motivacija

Prikaži več

Brownova kovariancna razdalja

Brownova kovariancna razdalja Brownova kovariančna razdalja Nace Čebulj Fakulteta za matematiko in fiziko 8. januar 2015 Nova mera odvisnosti Motivacija in definicija S primerno izbiro funkcije uteži w(t, s) lahko definiramo mero odvisnosti

Prikaži več

PRIPRAVA NA 1. Š. N.: KVADRATNA FUNKCIJA IN KVADRATNA ENAČBA 1. Izračunaj presečišča parabole y=5 x x 8 s koordinatnima osema. R: 2 0, 8, 4,0,,0

PRIPRAVA NA 1. Š. N.: KVADRATNA FUNKCIJA IN KVADRATNA ENAČBA 1. Izračunaj presečišča parabole y=5 x x 8 s koordinatnima osema. R: 2 0, 8, 4,0,,0 PRIPRAVA NA 1. Š. N.: KVADRATNA FUNKCIJA IN KVADRATNA ENAČBA 1. Izračunaj presečišča parabole y=5 x +18 x 8 s koordinatnima osema. R: 0, 8, 4,0,,0 5. Zapiši enačbo kvadratne funkcije f (x )=3 x +1 x+8

Prikaži več

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar 2009 1 Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero velja 0 f(e) u(e) za e E(G). Za v V (G) definiramo presežek

Prikaži več

Osnove statistike v fizični geografiji 2

Osnove statistike v fizični geografiji 2 Osnove statistike v geografiji - Metodologija geografskega raziskovanja - dr. Gregor Kovačič, doc. Bivariantna analiza Lastnosti so med sabo odvisne (vzročnoposledično povezane), kadar ena lastnost (spremenljivka

Prikaži več

DNEVNIK

DNEVNIK POROČILO PRAKTIČNEGA USPOSABLJANJA Z DELOM PRI DELODAJALCU DIJAKA / DIJAKINJE. ( IME IN PRIIMEK) Izobraževalni program FRIZER.. Letnik:.. oddelek:. PRI DELODAJALCU. (NASLOV DELODAJALCA) Šolsko leto:..

Prikaži več

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr NAVODILA ZA UPORABO Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta in jih shranite za prihodnjo rabo Vsebina 1. Pregled 2. Sistem 3. Prednosti 4. Upravljanje

Prikaži več

VIDEOANALIZA GIBANJ Za kratke projektne naloge lahko dijaki z domačimi digitalnimi fotoaparati posnamejo nekaj sekundne videofilme poljubnih gibanj. U

VIDEOANALIZA GIBANJ Za kratke projektne naloge lahko dijaki z domačimi digitalnimi fotoaparati posnamejo nekaj sekundne videofilme poljubnih gibanj. U VIDEOANALIZA GIBANJ Za kratke projektne naloge lahko dijaki z domačimi digitalnimi fotoaparati posnamejo nekaj sekundne videofilme poljubnih gibanj. Uporabni so skoraj vsi domači digitalni fotoaparati.

Prikaži več

Teorija kodiranja in kriptografija 2013/ AES

Teorija kodiranja in kriptografija 2013/ AES Teorija kodiranja in kriptografija 23/24 AES Arjana Žitnik Univerza v Ljubljani, Fakulteta za matematiko in fiziko Ljubljana, 8. 3. 24 AES - zgodovina Septembra 997 je NIST objavil natečaj za izbor nove

Prikaži več

VAJE RID 1 (4), program PTI, šol

VAJE RID 1 (4), program PTI, šol VAJE INFORMATIKA, program PTI šol. leto 08/09 Za vsako vajo izdelajte kratka navodila oz. katere ukaze ste uporabili za izdelavo dokumenta. Vsak dokument stiskajte in ga vsatvite v delovno mapo. Pred izpitom

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : Državni izpitni center *M17178111* SPOMLADANSKI IZPITNI ROK Izpitna pola 1 Četrtek, 1. junij 2017 / 90 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero

Prikaži več

Področje uporabe

Področje uporabe Regulator Področja uporabe Regulator DIALOG EQ je namenjen predvsem vodenju in nadziranju sistemov ogrevanja in hlajenja, lahko pa se uporabi tudi na različnih področjih avtomatizacije in inteligentnih

Prikaži več