Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike...
Transcript of Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike...
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Racunalna grafikaPredavanja
Nela Bosner
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Osnovni pojmovi
Racunalnu grafiku možemo definirati kaogranu racunalnih znanosti koja se bavi
izgradnjom višedimenzijskih modelaobjekatai njihovim prikazom uz upotrebu racunala.
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Razvoj racunalne grafike
Grafika je jedno od najprirodnijih sredstava za komunikacijusa racunalom. Racunalna grafika
zapocela je sa ispisivanjem podataka pomocu printera iprikazivanjem na zaslone s katodnim cijevima (cathoderay tube – CRT)danas ukljucuje kreiranje, spremanje i manipulacijuslika raznih objekata kao i modela iz raznih podrucja
fizicke modelematematicke struktureinženjerske i arhitektonske modeleabstraktne strukture
je interaktivna – korisnik kontrolira sadržaj, strukturu iizgled objekata i njihovih slika korištenjem ulaznihjedinica:
tipkovnicamišinteraktivni zaslon osjetljiv na dodir
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Kratka povijest:Do ranih 80-ih racunalnom grafikom se bavio mali brojljudi jer je hardware bio preskup.Tada su se pojavila jeftina osobna racunala saugradenom rasterskom grafikom
Xeroxs StarApple MacintoshIBM PC
koja su popularizirala upotrebu bitmapa za interakcijukorisnik–racunalo.
Definicija
Bitmapa je pravokutno polje tocaka (pixel-a) na zaslonureprezentirano pomocu 0 i 1. Pixel je skraceno od “pictureelements”.
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Nakon toga je slijedila eksplozija jednostavnih i jeftinihaplikacija baziranih na grafici:
aplikacije za obradu tekstaaplikacije za rad sa tablicamaaplikacije za crtanje
Za organizaciju prostora na zaslonu uvodi se pojam“radne površine” (“desktop”).Korisnik pomocu window manager-a može stvarati,smjestiti i odrediti velicinu pravokutne površine nazaslonu nazvane prozorima (windows).
Definicija
Prozor predstavlja virtualni graficki terminal u kojem seizvršava jedna aplikacija.
Direktna manipulacija objekata na zaslonu pomocupokazivanja i klikanja je zamijenila tipkanje naredbi.
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Racunalna grafika postala je sveprisutna:na televiziji i filmuu edukacijiu prirodnim znanostimau tehnickim znanostimau mediciniu trgoviniu vojne i sigurnosne svrheza reklamne plakate i spotoveza zabavu
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Razvoj hardware-a i software-a za racunalnugrafiku
1950. MIT je razvio Whirlwind Computer koji je za izlazkoristio CRT.SAGE zracni obrambeni sustav razvijen sredinom50.-ih je prvi koristio CRT i svjetlosnu olovku.1963. Ivan Sutherland u svom doktoratu opisuje sustavza crtanje Sketchpad – pocetak interaktivne grafike.
On uvodi strukture podataka za spremanje hijerarhijesimbola.Razvio je i interktivne tehnike koje koriste tipkovnicu isvjetlosnu olovku za odabir, pokazivanje i crtanje.
Prvi pokušaji korištenja racunalne grafike za dizajn uprvoj polovini 60.-ih bili su
General Motors DAC sustav za dizajn automobilaItek Digitek sustav za dizajn leca
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Vektorski prikazni sustav
Vektorski prikazni sustavi razvijeni su sredinom 60.-ih ibili su u upotrebi do sredine 80.-ih.Vektorski prikazni sustav sastoji se od:
prikaznog procesora (display processor) prikljucen kaoulazno/izlazna periferna jedinica na centralni procesor(CPU)prikaznog meduspremnika (display buffer memory)CRT
Meduspremnik sprema prikaznu listu (ili prikazniprogram) dobivenu od racunala.Prikazna lista sadrži naredbe za crtanje tocaka, linijazadanih pomocu (x , y) ili (x , y , z) koordinata krajnjihtocaka, i karaktera.
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Slika: Arhitektura vektorskog prikaznog sustava.
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Naredbe za crtanje tocaka, linija i karaktera interpretiraprikazni procesor.Elektronska zraka u zaslonu se otklanja od jednekrajnje tocke do druge, prema proizvoljnjom redunaredbi iz prikazne liste.Zbog brzog raspada svjetlosnog signala na zaslonu,prikazni procesor mora obnavljati naredbe iz prikazneliste 30 puta u sekundi (30 Hz) da bi se izbjeglo titranje.Prikazni meduspremnik se zbog toga još naziva imeduspremnik za obnavljanje (refresh buffer).60.-ih godina memorija i procesori potrebni zaobnavljanje grafike frekvencijom od 30 Hz je bilapreskupa, a moglo se prikazati samo par tisuca linijabez titranja.
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Koncem 60.-ih direct–view storage tube (DVST) izbacilaje iz upotrebe meduspremnik i sam proces obnavljanja.DVST sprema sliku tako da je crta jednom relativnosporom elektronskom zrakom.Daleko je jeftiniji od sustava sa obnavljanjem.Koncem 60.-ih je još i prikazni sustav spojen na jednomanje racunalo, cime je centralno racunalo oslobodenorada sa grafikom.U to vrijeme sam prikazni procesor postaje svesofisticiraniji, preuzimajuci sve više posla od grafickogsoftware-a.1968. je izmišljen prikazni hardware sa obnavljanjemza izvodenje geometrijskih transformacija.
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Rasterski prikazni sustav
Ranih 70.-ih razvija se jeftina rasterska grafika baziranana televizijskoj tehnologiji — najviše doprinjela razvojuracunalne grafike.Rasterski prikazni sustav sprema primitive zaprikazivanje
linijakarakteraosjencanih površina ili površina sa uzorkom
u meduspremnik za obnavljanje kao polje pixel-a.0 0 0 0 1 1 0 0 0 00 0 0 1 0 0 1 0 0 00 0 1 0 0 0 0 1 0 00 1 0 0 0 0 0 0 1 01 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 10 1 0 0 0 0 0 0 1 00 0 1 0 0 0 0 1 0 00 0 0 1 0 0 1 0 0 00 0 0 0 1 1 0 0 0 0
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Slika: Arhitektura rasterskog prikaznog sustava.
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Potpuna slika formira se iz rastera.
Definicija
Raster je skup vodoravnih rasterskih linija pri cemu svakaod njih predstavlja red individualnih pixel-a. Raster sesprema kao matrica pixel-a koji predstavljaju cijelo podrucjezaslona.
Slika se iscrtava linijom po liniju, od vrha prema dnu, paponovo od vrha itd.
p p p p p p p p p p pp p p p p p p p p p pp p p p p p p p p p pp p p p p p p p p p pp p p p p p p p p p pp p p p p p p p p p pp p p p p p p p p p p
ppppppppppp
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Kod monokromatskog zaslona vrijednost svakog pixel-aodreduje intenzitet zrake.
Pamti se 1 bit po pixel-u.Kod zaslona u boji svaki pixel ima tri komponenete kojeodreduju intenzitet boja: crvena (R), zelena (G) i plava(B).
Pamti se 8 (256 boja) do 32 (4 milijardi boja) bita popixel-u za kodiranje boja.
Frekvencija obnavljanja je prije bila 30 Hz, a danas 60Hz i više.Obnavlja se cijela slika definirana bitmapom — jeftinijaizvedba.Izraz bitmapa se koristi za monokromatske zaslone: 1bit po pixel-u.Za zaslone u boji koristi se izraz pixmapa.
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Usporedba vektorskog i rasterskog prikaznogsustava
Prednosti rasterskog prikaznog sustava nad vektorskim:jeftina izvedbamogucnost prikaza ploha ispunjenih bojom ili uzorkomobnavljanje je neovisno o kompleksnosti slike (o brojupoligona itd.)
Nedostaci rasterskog prikaznog sustava u odnosu navektorski:
primitive (linije i poligoni) moraju se pretvoriti u diskretnioblik (scan–convert) — skup pixel-a odredene boje kojipredstavljaju tu primitivu u bitmapi ili pixmapinekontinuirane i nazubljene linije — greškediskretizacije (aliasing)
razvijaju se tehnike antialiasing-a koje specificirajuintenzitet boje susjednih pixel-a na rubu primitiva
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Slika: Problem aliasing-a.
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Izlazne graficke naprave
pisacicrtaciCRT zasloniLCD zaslonijedinice za izradu 3D objekata
izrada sloj po sloj (brza izrada prototipa)tokariliceglodalice
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Ulazna graficke naprave
svjetlosna olovkamištablica s pisaljkom (data tablet)ploca osjetljiva na dodirsustavi za 3D uzorkovanje
ultrazvucnolaserskim snopomracunalna tomografija (PET, CT)magnetska rezonancija (MR)
Racunalnagrafika
Nela Bosner
OsnovnipojmoviRazvoj racunalnegrafike
Razvoj hardware-a isoftware-a zaracunalnu grafiku
Vektorski prikaznisustav
Rasterski prikaznisustav
Usporedbavektorskog irasterskogprikaznog sustava
Izlazne grafickenaprave
Ulazna grafickenaprave
Software-skaprenosivost igraficki standardi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Software-ska prenosivost i graficki standardi
Razvija se graficki software koji je neovisan o harware-u —programska prenosivost:
programer se izolira od vecine mašinskih posebnosti, aprogramski jezik ima svojstvo da se možeimplementirati na širokom spektru procesora.
Pojavila se potreba za donošenjem standarda za grafickepakete neovisne o hardware-u:
3D Core Graphics System, 1977. – osnovnespecifikacijeGraphical Kernal System (GKS), 1985. – prva službenostandardizirana graficka specifikacija za 2DGKS-3D, 1988.Programmer’s Hierarchical Interactive Graphics System(PHIGS), 1988. – kompleksniji graficki sustavPHIGS+, 1988. – pseudorealistican prikazVirtual Reality Modelling Language (VRML), 1997.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Osnovni algoritmi rasterske grafike za crtanje2D primitiva
DefinicijaScan convering je aproksimacija ili diskretizacijamatematickih primitiva, definiranih pomocu svojih vrhova ukartezijevim koordinatama, skupom pixel-a odredenogintenziteta sive ili neke druge boje.
Scan converting može biti implementiranhardware-skisoftware-ski unutar grafickog paketa
Algoritmi za scan converting se moraju izvršavati brzo. Onikoriste
inkrementalne metode da bi minimizirali broj operacija(narocito * i /)cjelobrojnu aritmetiku (zbog diskretnosti pixel-a)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Reprezentacija pixel-a
Mi cemo reprezentirati pixel kaokružna tocka centrirana na pixel-ovim (x , y)koordinatama cjelobrojne mreže.
g g g g gg g g g gg g g g gg g g g g
Kod pravih zaslona razmak izmedu susjednih pixel-a moževarirati:
kod nekih sustava susjedni pixel-i se preklapajukod nekih postoji razmak izmedu pixel-aa kod nekih je razmak izmedu pixel-a uži u vodoravnomsmjeru nego u okomitom.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Scan converting za linije
Scan converting algoritam za linije racuna koordinate pixel-akoji leže na ili blizu idealne, infinitezimalno tanke ravne linijesmještene na 2D rasterskoj mreži.
Razmatramo 1 pixel debelu aproksimaciju linije. Svojstva:niz pixel-a koji leže što je bliže moguce linijii koji je što ravnijiza linije sa koeficijentom smjera k ∈ [−1,1], tocno 1pixel u svakom stupcu treba biti osvjetljenza linije sa koeficijentom smjera k /∈ [−1,1], tocno 1pixel u svakom retku treba biti osvjetljensve linije trebaju biti nacrtane sa konstantnom nijansomsive ili bojom,
neovisno o duljini i orijentacijišto je brže moguce
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Dodatna svojstva:mogucnost crtanja linija debljih od 1 pixel-a,razlicitih stilova linije (crtkano, tockasto, . . . )razlicitih oblika krajnjih tocakamogucnost korištenja antialiasing tehnika
Mi cemo razmatrati samo 1 pixel debele linije koje imajutocno jedan monokromatski pixel po stupcu (ili retku).
g g g g gg g g g gg g g g gg g g g g
�����
�����
w w w w w
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Osnovni inkrementalni algoritam
Ulaz: (xl , yl), (xd , yd ) — krajnje tocke linijeDefiniramo: ∆x = xd − xl , ∆y = yd − yl
Izracunamo: k = ∆y/∆xU algoritmu osvijetlit cemo pixel sa koordinatama(xi ,Round(yi)):
xi , i = 0,1,2, . . . — cjelobrojne koordinatayi = kxi + lRound(yi ) = b0.5 + yic— cjelobrojna koordinata
Ovaj algoritam bira pixel-e najbliže liniji, alije neefikasan jer imamo *,+ i b cMnoženje možemo eliminirati ako primijetimo da za∆ix = xi+1 − xi
yi+1 = kxi+1 + l = k(xi + ∆ix) + l = yi + k∆ix .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
S obzirom da mi crtamo pixel po pixel, za |k | ≤ 1uzimamo da je ∆ix = 1, pa slijedi
xi+1 = xi + 1,yi+1 = yi + k .
Time smo definirali inkrementalni algoritam.Inicijalizacija: za (x0, y0) uzmu se cjelobrojnekoordinate jedne od krajnjih tocaka.Za |k | > 1 zamijene se uloge od x i y :
yi+1 = yi + 1,xi+1 = xi + 1/k .
Ovaj algoritam se još naziva i digital differentialanalyzer (DDA).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
k k k kk k k kk k k k
�����
���
���
���
��
{{ {
{
s s(xi ,Round(yi ))
(xi , yi )
(xi + 1,Round(yi + k))
(xi + 1, yi + k)
��*
Hj
����
HHY
Slika: Inkrementalno racunanje za (xi , yi ).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Algoritam (Inkrementalni algoritam za scan converting linije)
void Linija( /* Pretpostavlja se |k| ≤ 1, xl < xd */
int xl, int yl, /* Lijeva krajnja tocka */
int xd, int yd, /* Desna krajnja tocka */
int v) /* Vrijednost smještena u pixel linije */
{int x; /* x ide od xl do xd jedinicnim korakom */
double dy = yd − yl;double dx = xd − xl;double k = dy/dx;double y = yl;for (x = xl ; x <= xd ; x + +){
NacrtajPixel(x,Round(y),v); /* Postavlja pixel na v */
y+ = k;}
}
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
(Bresenhamov) Algoritam srednje tocke zaliniju
Nedostaci osnovnog inkrementalnog algoritma:zaokruživanje Round(y ) zahtijeva odredeno vrijemeza racunanje k potrebno je dijeljenje
Bresenham je razvio algoritam koji koristi samocjelobrojnu aritmetiku i inkrementalan je.Verzija ovog algoritma u aritmetici pomicnog zarezamože se primijeniti kod linija sa krajnjim tockama urealnim koordinatama.Pretpostavlja se da je koeficijent smjera linije k ∈ [0,1〉.Ostali koeficijenti smjera mogu se obraditi pogodnimzrcaljenjem oko glavnih osi.Donju–lijevu krajnju tocku oznacavamo sa (x0, y0), agornju–desnu sa (x1, y1).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
k k kk k kk k k
������
������
{s
P = (xP , yP )
I
SI
M
Q
prijašnjipixel
izbor trenut-nog pixel-a
izbor sljede-ceg pixel-a
Slika: Mreža pixel-a za algoritam srednje tocke, sa oznaženomsrednjom tockom M, i pixel-ima I i SI izmedu kojih se bira sljedeciosvjetljeni pixel.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Pixel izabran u prijašnjem koraku oznacen je saP = (xP , yP).U tekucem koraku biramo izmedu dva pixel-a I i SI.Neka je Q tocka sjecišta linije koju obradujemo i linijemreže x = xp + 1.U Bresenhamovoj formulaciji
racuna se razlika okomitih udaljenosti d(I,Q) i d(SI,Q)predznak razlike se koristi za odredivanje pixel-a bližegtocki Q
U formulaciji srednje tockepromatra se na kojoj strani linije leži srednja tocka Mako M leži iznad linije, bira se pixel Iako M leži ispod linije, bira se pixel SI
Linija može prolaziti izmedu I i SI, ili oba pixel-a moguležati na jednoj strani.U oba slucaja test srednje tocke bira najbliži pixel.Greška je uvijek ≤ 1/2.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Za test srednje tocke reprezentirat cemo linijuimplicitnom funkcijom:
F (x , y) = ax + by + c = 0
Za dy = y1 − y0 i dx = x1 − x0 eksplicitni oblik linije je
y =dydx
x + l ,
odakle je
F (x , y) = dy · x − dx · y + l · dx = 0,
a = dy , b = −dx , c = l · dx .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Za funkciju F (x , y) vrijedi:F (x , y) = 0 na linijiF (x , y) > 0 za tocke ispod linijeF (x , y) < 0 za tocke iznad linije
−20
−10
0
10
20
−20−10
010
20−100
−50
0
50
100
150
xy
z
Slika: Graf funkcije F (x , y).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Za primjenu testa srednje tocketrebamo izracunati F (M) = F (xP + 1, yP + 1
2) i provjeritinjezin predznakdefiniramo test varijablu d = F (xP + 1, yP + 1
2) za kojuje po definiciji
d = a(xP + 1) + b(
yP +12
)+ c
ako je d > 0 biramo pixel SIako je d < 0 biramo pixel Iako je d = 0 svejedno je, pa biramo I
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Promatramo lokaciju tocke M na sljedecoj liniji mreže:ovisi da li smo izabrali I ili SIako je izabran I, M se pomice jedan korak u smjeru x
dnovi = F(
xP + 2, yP +12
)= a(xP + 2) + b
(yP +
12
)+ c
= dstari + a∆I = a = dy
test varijabla se dobiva inkrementiranjem tekucevrijednosti za ∆I bez racunanja F (M).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
ako je izabran SI, M se pomice jedan korak u smjeru xi jedan u smjeru y
dnovi = F(
xP + 2, yP +32
)= a(xP + 2) + b
(yP +
32
)+ c
= dstari + a + b∆SI = a + b = dy − dx
test varijabla se dobiva inkrementiranjem tekucevrijednosti za ∆SI .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Buduci da je prvi pixel linije prva krajnja tocka (x0, y0),prva srednja tocka je u (x0 + 1, y0 + 1
2).Za inicijalnu vrijednost od d vrijedi
F(
x0 + 1, y0 +12
)= a(x0 + 1) + b
(y0 +
12
)+ c
=ax0 + by0 + c + a +b2
=F (x0, y0) + a +b2
Ali, (x0, y0) je tocka na liniji, pa je F (x0, y0) = 0, i
dpocetni = a +b2
= dy − dx2.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Da bi izbjegli dijeljenje u dpocetni redefinirat cemofunkciju F (x , y):
F (x , y) = 2(ax + by + c).
Množenje cijele jednadžbe ne mijenja predznak testvarijable.Za racunanje dnovi potrebno je samo zbrajanje.
Napomena: Ova verzija algoritma vrijedi samo za one linijeciji je koeficijent smjera k ∈ [0,1〉.
ZadatakNapišite algoritam srednje tocke za scan converting linijekoji obraduje linije sa svim mogucim koeficijentima smjera.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Algoritam (Algoritam srednje tocke za scan converting linije)void SredtocLinija( /* Pretpostavlja se k ∈ [0, 1〉, x0 < x1 */
int x0, int y0, int x1, int y0, int v){
int dx = x1− x0;int dy = y1− y0;int d = 2 ∗ dy − dx; /* Inicijalna vrijednost od d */int deltaI = 2 ∗ dy; /* Korak za pomicanje do I */int deltaSI = 2 ∗ (dy − dx); /* Korak za pomicanje do SI */int x = x0;int y = y0;NacrtajPixel(x,y,v); /* Pocetni pixel */while(x < x1){
if(d <= 0){ /* Izaberi I */d+ = deltaI;x + +;
} else{ /* Izaberi SI */d+ = deltaSI;x + +;y + +;
}NacrtajPixel(x,y,v); /* Izabrani pixel najbliži liniji */
}}
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Primjer
Želimo aproksimirati liniju zadanu krajnjim tockama (5,8) i(9,11).
Tok algoritma:
dx = 4, dy = 3, deltaI = 6, deltaSI = −2
1 x = 5, y = 8, d = 2, biram SI2 x = 6, y = 9, d = 0, biram I3 x = 7, y = 9, d = 6, biram SI4 x = 8, y = 10,d = 4, biram SI5 x = 9, y = 11, kraj
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
3 4 5 6 7 8 9 106
7
8
9
10
11
12
w w w w w
��������
Slika: Aproksimacija linije od (5,8) do (9,11) algoritmom srednjetocke.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
NapomenePoredak krajnjih tocaka: Treba se osigurati da selinija od P0 do P1 aproksimira istim skupom pixel-a kaoi linija od P1 do P0.
Jedino mjesto gdje izbor pixel-a ovisi o smjeru linije jekada linija prolazi kroz srednju tocku i d = 0.→ za k ∈ [0,1〉 u toj situaciji birali smo I.← za k ∈ [0,1〉 moramo birati JZ kako bismo dobili istirezultat.Slicne prilagodbe treba napraviti i za ostale koeficijentesmjera.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Kako zapoceti na rubu pravokutnika za obrezivanje:Algoritam bi trebao prihvatiti linije koje su analitickiobrezane (o tome kasnije).
Kada je linija odrezana kod lijevog ruba x = xminpravokutnika za obrezivanje.
Sjecište linije i ruba ima cjelobrojnu x koordinatu i realnuy koordinatu.Kao pocetni pixel uzimamo (xmin,Round(kxmin + l)) (istipixel kao i kod inkrementalnog algoritma).Test varijabla se inicijalizira sa F (M) na srednjoj tockiizmed I i SI u sljedecem stupcu.Ako se prvo odreže linija kod x = xmin, i onda primijenialgoritam srednje tocke od (xmin,Round(kxmin + l)) do(x1, y1) onda necemo dobiti korektan skup pixel-a —odrezana linija ima drugaciji koeficijent smjera.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
{ kk
������
����
����
������
����
s(xmin,Round(kxmin + l))
(xmin, (kxmin + l))
I
SI
M
x = xmin
y = yminpravokutnik za obrezivanje
XXz
-
Slika: Aproksimacija linije od okomitog ruba pravokutnika zaobrezivanje.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Kada je linija odrezana kod donjeg ruba y = yminpravokutnika za obrezivanje.
Za linije sa malim koeficijentom smjera postoji višepixel-a koji leže na pravcu y = ymin.Sve te tocke moraju ostati unutar pravokutnika.Zbog toga se prvo nade sjecište linije i pravcay = ymin − 1
2 , i zaokruži se x vrijednost.Prvi pixel odrezane linije je B = (Round(xymin− 1
2), ymin).
Ako samo nademo sjecište linije i pravca y = ymin, izaokružimo njegovu x koordinatu dobit cemo pixel A ane B.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
��������
������
������
������
�
y y y yi i i i i i i ii i i i i i i i i i i iy y y y y y y ys s
x = xmin
y = yminB
A
y = ymin − 1
y = ymin − 12
Slika: Aproksimacija linije od vodoravnog ruba pravokutnika zaobrezivanje.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Scan converting za kružnice
Implicitna jednadžba kružnice sa središtem u ishodištu
x2 + y2 = R2.
Kružnice koje nemaju središte u ishodištu mogu setranslatirati u ishodište.
Korištenjem eksplicitne jednadžbe kružnice
y = ±√
R2 − x2
možemo nacrtati cetvrtinu kružnice za x ∈ [0,R] iy > 0, i koristiti simetriju. — NEEFIKASNO
koristi se * i √
kružnica ce imati velike razmake izmedu pixel-a za xblizu R, jer se nagib krivulje približava∞
Korištenjem parametarskog oblika (R cos θ,R sin θ) zaθ ∈ [0, π/2] — NEEFIKASNO
koriste se trigonometrijske funkcije
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Osmerostruka simetrija
-
6
������@
@@@@@
&%'$rrrrr r r r
(y, x)
(x, y)(−x, y)
(−y, x)
(−y,−x)
(−x,−y)(x,−y)
(y,−x)
void TockeKruznice(int x,int y,int v){
NacrtajPixel(x,y,v);NacrtajPixel(y,x,v);NacrtajPixel(y,-x,v);NacrtajPixel(x,-y,v);NacrtajPixel(-x,-y,v);NacrtajPixel(-y,-x,v);NacrtajPixel(-y,x,v);NacrtajPixel(-x,y,v);
}
Treba se izracunati aproksimacija samo za odsjecakkružnice od 45◦.Za kružnice sa središtem u ishodištu, osam simetricnihtocaka mogu se prikazati procedurom TockeKruznice().Slucaj x = y se mora posebno riješiti.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
(Bresenhamov) Algoritam srednje tocke zakružnice
Bresenham je 1977 razvio inkrementalni generatorkružnica koji je efikasan.Podrazumijevamo da je središte kružnice u ishodištu.U obzir uzimamo samo 45◦ od kružice, drugi oktant zax ∈ [0,R/
√2〉 i y ∈ 〈R/
√2,R].
Koristimo proceduru TockeKuznice() za prikazivanjetocaka na cijeloj kružici.Strategija algoritma je odabir 1 od 2 pixel-a, i to onogkoji je bliži kružnici.Odabir se vrši izvrednjavanjem funkcije u srednjoj tockiizmedu ta 2 pixel-a.U drugom oktantu,
ako je pixel P = (xP , yP) bio prethodno izabran kaonajbliži kružniciizbor za sljedeci pixel je izmedu I i JI
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
{{{
{{{
kk
kkkP = (xP , yP ) I
JI
M MI
MJI
prijašnjipixel
izbor trenut-nog pixel-a
izbor sljede-ceg pixel-a
Slika: Mreža pixel-a za algoritam srednje tocke, sa oznaženomsrednjom tockom M, i pixel-ima I i JI izmedu kojih se bira sljedeciosvjetljeni pixel.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Definiramo funkciju F (x , y) = x2 + y2 − R2, i za njuvrijedi:
F (x , y) = 0 na kružniciF (x , y) > 0 izvan kružniceF (x , y) < 0 unutar kružnice
Može se pokazati daako je srednja tocka M izvan kružnice, tada je pixel JIbliži kružniciako je srednja tocka M unutar kružnice, tada je pixel Ibliži kružnici
Ponovo definiramo test varijablu d kao vrijednostfunkcije F (x , y) u srednjoj tocki:
dstari = F(
xP + 1, yP −12
)= (xP+1)2+
(yP −
12
)2
−R2.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Ako je dstari < 0, M se pomice jedan korak u smjeru x :
dnovi = F(
xP + 2, yP −12
)= (xP + 2)2 +
(yP −
12
)2
− R2
= dstari + (2xP + 3)
∆I = 2xP + 3
Ako je dstari ≥ 0, M se pomice jedan korak u smjeru x ijedan u smjeru −y :
dnovi = F(
xP + 2, yP −32
)= (xP + 2)2 +
(yP −
32
)2
− R2
= dstari + (2xP − 2yP + 5)
∆JI = 2xP − 2yP + 5
∆I i ∆JI ovise o xP i yP , zato se P zove tockaizvrednjavanja.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Algoritam cemo ograniciti na cjelobrojne radijuse.Za pocetne uvjete znamo da je prvi pixel na kružici u(0,R).Sljedeca srednja tocka leži u (1,R − 1
2), zato je
F(
1,R − 12
)= 1 +
(R2 − R +
14
)− R2 =
54− R.
Dalje implementiramo algoritam slicno algoritmusrednje tocke za linije.U ovom slucaju smo prinudeni koristiti realnu aritmetikuzbog razlomka u inicijalnoj vrijednosti od d .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Algoritam (Algoritam srednje tocke za scan convertingkružnice)void SredtocKruznica(int r , int v) /* Pretpostavlja se da je središte kružnice u ishodištu */
{int x = 0;int y = r ;double d = 5.0/4.0− r ;TockeKruznice(x,y,v);while (y > x){
if (d < 0) /* Izaberi I */
d+ = 2.0 ∗ x + 3.0;else{ /* Izaberi JI */
d+ = 2.0 ∗ (x − y) + 5.0;y −−;
}x + +;TockeKruznice(x,y,v);
}}
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Cjelobrojni algoritam
Kako bismo izbjegli realnu aritmetiku definiramo novutest varijablu
h = d − 14.
Tada inicijalizacija glasi h = 1− R,a test umjesto d < 0 glasi h < 1
4 .
Buduci da hna pocetku ima cjelobrojnu vrijednost,i da se inkremetira cjelobrojnim vrijednostima ∆I i ∆JI
test možemo promijeniti u
h < 0.
Ovime smo dobili cjelobrojni algoritam, u kojem cemo hopet promijeniti u d zbog konzistencije.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Algoritam (Cjelobrojni algoritam srednje tocke za scanconverting kružnice)void SredtocKruznica(int r , int v) /* Pretpostavlja se da je središte kružnice u ishodištu */
/* Samo cjelobrojna aritmetika */
{int x = 0;int y = r ;int d = 1− r ;TockeKruznice(x,y,v);while (y > x){
if (d < 0) /* Izaberi I */
d+ = 2 ∗ x + 3;else{ /* Izaberi JI */
d+ = 2 ∗ (x − y) + 5;y −−;
}x + +;TockeKruznice(x,y,v);
}}
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Diferencije drugog reda
Algoritam ce biti efikasniji ako i korake ∆I i ∆JIracunamo inkrementalno.Ako u tekucem koraku izaberemo I:
odabrana tocka se pomice sa (xP , yP) na (xP + 1, yP)diferencija prvog reda u (xP , yP) je ∆Istari = 2xP + 3,zato je
u (xP + 1, yP) ∆Inovi = 2(xP + 1) + 3
diferencija drugog reda onda iznosi ∆Inovi −∆Istari = 2diferencija prvog reda u (xP , yP) je∆JIstari = 2xP − 2yP + 5, zato je
u (xP + 1, yP) ∆JInovi = 2(xP + 1)− 2yP + 5
diferencija drugog reda onda iznosi ∆JInovi −∆JIstari = 2
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Ako u tekucemo koraku izaberemo JI:odabrana tocka se pomice sa (xP , yP) na(xP + 1, yP − 1)diferencija prvog reda u (xP , yP) je ∆Istari = 2xP + 3,zato je
u (xP + 1, yP − 1) ∆Inovi = 2(xP + 1) + 3
diferencija drugog reda onda iznosi ∆Inovi −∆Istari = 2diferencija prvog reda u (xP , yP) je∆JIstari = 2xP − 2yP + 5, zato je
u (xP + 1, yP − 1) ∆JInovi = 2(xP + 1)− 2(yP − 1) + 5
diferencija drugog reda onda iznosi ∆JInovi −∆JIstari = 4
∆I i ∆JI se inicijaliziraju u pocetnom pixel-u (0,R).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Algoritam (Algoritam srednje tocke za scan convertingkružnice sa diferencijama drugog reda)void SredtocKruznica(int r , int v) /* Pretpostavlja se da je središte kružnice u ishodištu */
/* Koriste se diferencije drugog reda za racunanje inkrementa test varijable */{
int x = 0;int y = r ;int d = 1− r ;int deltaI = 3;int deltaJI = −2 ∗ r + 5;TockeKruznice(x,y,v);while (y > x){
if (d < 0) /* Izaberi I */d+ = deltaI;deltaI+ = 2;deltaJI+ = 2;
else{ /* Izaberi JI */d+ = deltaJI;deltaI+ = 2;deltaJI+ = 4;y −−;
}x + +;TockeKruznice(x,y,v);
}}
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Obrezivanje (clipping)
Korisnik može interaktivno mijenjati položaj i velicinuprozora u kojem se prikazuje grafika.Zbog toga se cesto dogada da se slika u prozoru nemože u potpunosti prikazati, vec se vidi samo jedannjen dio.Zato se vrši obrezivanje (clipping) primitiva kako bi seprikazao samo onaj dio koji stane u prozor, tj. diounutar pravokutnika za obrezivanje.Važno je da se i scan converting i obrezivanje obavljašto je brže moguce.Obrezivanje se može vršiti:
analitickiistovremeno sa scan converting algoritmom
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Analiticko obrezivanje:najprije se izracunaju osnovni parametri obrezaneprimitive (kao npr. krajnje tocke linije), a nakon toga seprimijenjuje scan converting algoritam s novimparametrimaefikasno za realni koordinatni sustav — za cjelobrojnugrafiku treba još izvršiti dodatno rastersko obrezivanjejednostavno za obrezivanje linija i poligona — obratitiposebnu pažnju na inicijalizaciju test varijable
Obrezivanje istovremeno sa scan convertingalgoritmom
svaki pixel primitive se podvrgava testu da li se nalaziunutar pravokutnika za obrezivanjeprakticno za popunjene i debele primitive —provjeravaju se samo rubni pixel-iefikasno za slucajeve kada je prikaz primitive malo veciod pravokutnika za obrezivanje
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Obrezivanje linija
Linije se obrezuju analiticki.Algoritam za obrezivanje linija može se koristiti i zaobrezivanje poligona.Linija koje sijece pravokutnik za obrezivanje se ponovosvodi na jednu liniju:
ako linija leži unutar pravokutnika prikazuje se upotpunostiako sijece barem jedan rub pravokutnika prikazuje seobrezana linijaako linija leži na samoj granici pravokutnika prikazuje seako linija leži izvan pravokutnika ne prikazuje se
Za obrezivanje linije potrebno je provjeriti samo njenekrajnje tocke:
tocka (x , y) leži unutar pravokutnika omedenogkoordinatnim pravcima xmin i xmax , te ymin i ymax ako isamo ako
xmin ≤ x ≤ xmax , i ymin ≤ y ≤ ymax .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
�������
s
s
���ss ����
ss
s�����
ss
ss
������
s
ss sA
B C
D
D′
E
F
G
H
G′
H′
I
J
K L
pravokutnikza obrezivanje
������
(a)
���ss ��ss���s
ss sA
B C
D′
G′
H′
K L
(b)
Slika: Slucajevi obrezivanja linija.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Cohen–Sutherlandov algoritam
Vrši se provjera krajnjih tocaka:1 trivijalno prihvacanje — obje krajnje tocke su unutar
pravokutnika za obrezivanje2 trivijalno odbijanje — obje krajnje tocke nalaze se u
vanjskoj poluravnini definiranoj jednim od rubovapravokutnika za obrezivanje
3 ako niti jedan uvjet nije zadovoljen — sjecište linije ipravca definiranog rubom pravokutnika dijeli liniju nadva segmenta, tako da se barem jedan segment možeodbaciti
segment se iterativno obrezuje, provjerom za trivijalnoprihvacanje ili odbijanjeako niti jedan uvjet nije zadovoljen segment se daljedijeli na podsegmenteto se radi tako dugo dok ono što ostane nije upotpunosti unutar pravokutnika, ili se može trivijalnoodbaciti
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Za provodenje provjere trivijalnog prihvacanja i odbijanjapromatramo pravce koji su definirani rubovimapravokutnika za obrezivanje — oni dijele ravninu u 9podrucjasvakom podrucju je dodijeljen 4-bitni kodkod je odreden položajem podrucja u odnosu navanjske poluravnine definirane rubovima pravokutnikasvaki bit koda postavljen je na 1 (istina) ili 0 (laž)4 bita u kodu zadovoljavaju sljedece uvjete:
1. bit vanjska poluravnina gornjeg ruba, iznad gornjeg ruba y > ymax
2. bit vanjska poluravnina donjeg ruba, ispod donjeg ruba y < ymin
3. bit vanjska poluravnina desnog ruba, desno od desnog ruba x > xmax
4. bit vanjska poluravnina lijevog ruba, lijevo od lijevog ruba x < xmin
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
0101 0100 0110
0001 0000 0010
1001 1000 1010
pravokutnikza obrezivanje
����
�1
Slika: Kodovi podrucja.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Detalji algoritma:Svakoj krajnjoj tocki linije pridružuje se kod podrucja ukojem leži.Ako su oba koda krajnjih tocaka jednaki nuli, tada linijau potpunosti leži unutar pravokutnika za obrezivanje —linija se trivijalno prihvaca.Ako oba koda imaju postavljenu 1 na istom bitu, tadalinija u potpunosti leži u vanjskoj poluravnini rubaodredenog tim bitom — linija se trivijalno odbija.Ako se linija ne može trivijalno prihvatiti niti odbiti,vršimo podjelu na 2 segmenta:
rub kojeg linija sijece dijeli liniju na dva dijeladio koji leži u vanjskoj poluravnini ruba se odbacujeporedak provjere rubova je proizvoljan — mi cemoprovjeravati
gornji donji desni lijevi
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
U slucaju da uvjeti prihvacanja i odbijanja nisu zadovoljeni,tada su osnovna svojstva koda pridruženog krajnjoj tocki:
bitovi koji su postavljeni na 1 odgovaraju rubovima kojelinija sijeceako jedna krajnja tocka leži u vanjskoj poluravnininekog ruba, tada druga krajnja tocka mora ležati uunutarnjoj poluravnini tog rubazbog toga linija mora sijeci taj rubalgoritam uvijek bira krajnju tocku koja leži izvanpravokutnika,
iz koda te krajnje tocke odreduje rub kojeg linija sijecetaj rub je prvi u zadanom poretku ciji je bit postavljen na1to je najljeviji bit u kodu postavljen na 1
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Sažetak algoritma:1 Izracunamo kodove od oba dvije krajnje tocke.2 Provjerimo uvjete za trivijalno prihvacanje i odbijanje.3 Ako obje provjere nisu zadovoljene, tada tražimo tocku
koja leži izvan pravokutnika.4 Provjeravamo kod vanjske tocke kako bi odredili rub
kojeg linija sijece.5 Nalazimo sjecište linije i tog ruba.6 Odrežimo segment od vanjske tocke do sjecišta, time
što cemo vanjsku krajnju tocku zamijeniti sjecištem.7 Izracunamo kod nove krajnje tocke, kako bismo se
pripremili za sljedecu iteraciju.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
HHHH
HHH
HHH
H
ssss
����������
s s ss
sA
B
C
D
E
F
G
H
I
pravokutnikza obrezivanje
������:
Slika: Ilustracija Cohen–Sutherlandovog obrezivanja linija.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Zbog toga što se provjera i obrezivanje vrši u fiksnomporetku, algoritam ce ponekad izvesti nepotrebnaobrezivanja.Nepotrebna obrezivanja se dogadaju kada se sjecištelinije i pravca odredenog rubom nalazi izvan samogpravokutnika za obrezivanje (tocka H u prethodnomprimjeru).Ovaj algoritam nije najefikasniji, ali je jednostavan inajviše se koristi.Lako ga je proširiti na 3D.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Algoritam (Cohen–Sutherlandov algoritam za obrezivanjelinija)typedef unsigned int kodovi;enum { GORNJI = 0x1, DONJI = 0x2, DESNI = 0x4, LIJEVI = 0x8};
void CohenSutherlandAlg( /* Cohen–Sutherlandov algoritam za obrezivanje linije */double x0, double y0, double x1, double y1, /* od P0 = (x0, y0) do P1 = (x1, y1) i za pravokutnik */double xmin, double xmax, double ymin, /* za obrezivanje sa dijagonalom od (xmin, ymin) do */double ymax, int v) /* (xmax, ymax) */
{kodovi kod0, kod1, kodVan; /* Kodovi za P0, P1 i pomocnu vanjsku tocku */boolean prihvati = FALSE, gotovo = FALSE;kod0 = IzracunajKod(x0, y0, xmin, xmax, ymin, ymax);kod1 = IzracunajKod(x1, y1, xmin, xmax, ymin, ymax);do {
if (!(kod0 | kod1)){ /* Trivijalno prihvacanje i izlaz */prihvati = TRUE; gotovo = TRUE;
} else if (kod0 & kod1) /* Trivijalno odbijanje i izlaz */gotovo = TRUE;
else { /* Oba dva uvjeta nisu zadovoljena, izracunaj segment */double x,y; /* linije za odrezati: od vanjske tocke do sjecišta s rubom */kodVan = kod0 ? kod0 : kod1; /* Bar jedna krajnja tocka je izvan pravokutnika; odaberi ju *//* Sada nadi sjecište; koristi formule y = y0 + k ∗ (x − x0), x = x0 + (1/k) ∗ (y − y0). */if (kodVan & GORNJI){ /* Razdijeli liniju kod gornjeg ruba pravokutnika /*
x = x0 + (x1− x0) ∗ (ymax − y0)/(y1− y0);y = ymax;
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Algoritam (Cohen–Sutherlandov algoritam za obrezivanjelinija — nastavak)
} else if (kodVan & DONJI){ /* Razdijeli liniju kod donjeg ruba pravokutnika */x = x0 + (x1− x0) ∗ (ymin − y0)/(y1− y0);y = ymin;
} else if (kodVan & DESNI){ /* Razdijeli liniju kod desnog ruba pravokutnika */y = y0 + (y1− y0) ∗ (xmax − x0)/(x1− x0);x = xmax;
} else { /* Razdijeli liniju kod lijevog ruba pravokutnika */y = y0 + (y1− y0) ∗ (xmin − x0)/(x1− x0);x = xmin;
}/* Sada pomicemo vanjsku tocku do sjecišta i obrezujemo; pripremamo se za sljedecu iteraciju */if (kodVan == kod0){
x0 = x; y0 = y; kod0 = IzracunajKod(x0, y0, xmin, xmax, ymin, ymax);} else {
x1 = x; y1 = y; kod1 = IzracunajKod(x1, y1, xmin, xmax, ymin, ymax);}
}} while (gotovo == FALSE);if (prihvati)
SredtocLinijaReal(x0, y0, x1, y1, v); /* Verzija za double koordinate */}
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Algoritam (Cohen–Sutherlandov algoritam za obrezivanjelinija — nastavak)kodovi IzracunajKod(
double x,double y,double xmin,double xmax,double ymin,double ymax){
kodovi kod = 0;if (y > ymax)
kod | = GORNJI;else if (y < ymin)
kod | = DONJI;if (x > xmax)
kod | = DESNI;else if (x < xmin)
kod | = LIJEVI;return kod;
}
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2DprimitivaReprezentacijapixel-a
Scan converting zalinije
Osnovniinkrementalnialgoritam
Algoritam srednjetocke
Scan converting zakružnice
Osmerostrukasimetrija
Algoritam srednjetocke
Obrezivanje(clipping)
Obrezivanje linija
Geometrijsketransformacije
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Domaca zadacaNapišite program koji ucitava koordinate n tocaka, te xmin,xmax , ymin i ymax koordinate pravokutnika za obrezivanje.Program treba nacrtati poligon zadan tim tockama pomocualgoritma srednje tocke za linije, koji je pravilno obrezanzadanim pravokutnikom za obrezivanje.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Geometrijske transformacije
Mnoge aplikacije koriste geometrijske transformacije za
promjenu položajaorijentacijuvelicinu
objekata na slici.Transformacije se primijenjuju na tocke.Za primijenu transformacije na liniju ili poligon potrebnoje transformirati samo krajnje tocke.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
2D transformacije
Tocke prikazujemo kao stupcane vektore:
P =
[xy
], P ′ =
[x ′
y ′
].
Translacija: za vektor T = [ dx dy ]T[x ′
y ′
]=
[x + dxy + dy
]P ′ = P + T
Skaliranje: za faktor sx duž x osi i za faktor sy duž yosi [
x ′
y ′
]=
[sx · xsy · y
]=
[sx 00 sy
]·[
xy
]P ′ = S · P
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Rotacija: za kut θ oko ishodišta[x ′
y ′
]=
[x · cos θ − y · sin θx · sin θ + y cos θ
][
x ′
y ′
]=
[cos θ − sin θsin θ cos θ
]·[
xy
]P ′ = R · P
Pozitivni kutevi se mjere u smjeru obrnutom od kazaljkena satu.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Homogene koordinate i matricne reprezentacije2D transformacija
Želimo sve transformacije prikazati na konzistentannacin, tako da se lagano kombiniraju.Za tocke izražene u homogenim koordinatam, sve tritransformacije se mogu prikazati kao množenja matricai vektora.Kod homogenih koordinata dodaje se treca koordinata:
(x , y) −→ (x , y ,w)
Dvije trojke homogenih koordinata (x , y ,w) i (x ′, y ′,w ′)reprezentiraju istu tocku ako i samo ako za t 6= 0
(x ′, y ′,w ′) = (t ·x , t ·y , t ·w) ili (x , y ,w) =
(1t·x ′, 1
t·y ′, 1
t·w ′)
Barem jedna od homogenih koordinata mora biti 6= 0;(0,0,0) nije dozvoljena.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Ako je w 6= 0 tada (x , y ,w) reprezentira istu tocku kao i(x/w , y/w ,1):
x/w i y/w nazivamo kartezijevim koordinatamahomogene tocke.
Tocke sa w = 0 se nazivaju se tockama ubeskonacnosti.Sve trojke (tx , ty , tw), t 6= 0 koje reprezentiraju istutocku, cine pravac u 3D prostoru.Ako homogeniziramo trojke u pravcu (podijelimo ih saw koordinatom), dobit cemo tocke oblika (x , y ,1).Homogenizirane tocke oblikuju ravninu s jednadžbomw = 1 u (x , y ,w)-prostoru.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
-
6
��
��
��
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
�������
��
��
�
tt
x
w
y
P
ravnina w = 1
Slika: xyw homogeni koordinatni sustav, sa ravninom w = 1 itockom P(x , y ,w) projektiranom na ravninu.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Translacija u homogenim koordinatama
x ′
y ′
1
=
1 0 dx0 1 dy0 0 1
· x
y1
P ′ = T (dx ,dy ) · P, gdje je T (dx ,dy ) =
1 0 dx0 1 dy0 0 1
Za P ′ = T (dx1,dy1) · P i P ′′ = T (dx2,dy2) · P ′ imamo
P ′′ = T (dx2,dy2) · T (dx1,dy1) · Pvrijedi 1 0 dx2
0 1 dy20 0 1
· 1 0 dx1
0 1 dy10 0 1
=
1 0 dx1 + dx20 1 dy1 + dy20 0 1
T (dx2,dy2) · T (dx1,dy1) = T (dx1 + dx2,dy1 + dy2)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Skaliranje u homogenim koordinatama
x ′
y ′
1
=
sx 0 00 sy 00 0 1
· x
y1
P ′ = S(sx , sy ) · P, gdje je S(sx , sy ) =
sx 0 00 sy 00 0 1
Za P ′ = S(sx1, sy1) · P i P ′′ = S(sx2, sy2) · P ′ imamo
P ′′ = S(sx2, sy2) · S(sx1, sy1) · Pvrijedi sx2 0 0
0 sy2 00 0 1
· sx1 0 0
0 sy1 00 0 1
=
sx1·sx2 0 00 sy1·sy2 00 0 1
S(sx2, sy2) · S(sx1, sy1) = S(sx1 · sx2, sy1 · sy2)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Rotacija u homogenim koordinatama
x ′
y ′
1
=
cos θ − sin θ 0sin θ cos θ 0
0 0 1
· x
y1
P ′ = R(θ) · P, gdje je R(θ) =
cos θ − sin θ 0sin θ cos θ 0
0 0 1
Za P ′ = R(θ1) · P i P ′′ = R(θ2) · P ′ imamo
P ′′ = R(θ2) · R(θ1) · Pvrijedi
cos θ2 − sin θ2 0
sin θ2 cos θ2 0
0 0 1
·
cos θ1 − sin θ1 0
sin θ1 cos θ1 0
0 0 1
=
cos(θ1+θ2) − sin(θ1+θ2) 0
sin(θ1+θ2) cos(θ1+θ2) 0
0 0 1
R(θ2) · R(θ1) = R(θ1 + θ2)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Kompozicija 2D transformacija
Matrica nastala kao produkt proizvoljnog niza matricatranslacije, skaliranja i rotacija je oblika
M =
q11 q12 txq21 q22 ty0 0 1
M je reprezentacija afine transformacije, i ima svojstva
cuva pralelnost pravacane cuva duljine i kuteve
M je reprezentacija transformacije krutog tijela ako je
2× 2 podmatrica[
q11 q12q21 q22
]ortogonalna, i ima
svojstvaM je nastala kao produkt proizvoljnog niza matricatranslacije i rotacijacuva duljine i kuteve
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Kompozicija transformacija translacije, skaliranja irotacija se efikasno implementira množenjemodgovarajucih matrica, odgovarajucim redoslijedom iprimijenom produkta matrica na tocke.Redoslijed množenja je bitan jer množenje matricaopcenito nije komutativno.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Primjer
Rotiranje i skaliranje kucice sa centrom transformacija u P1,i smještajavanje centra u P2.
- - - - -
6 6 6 6 6�� @@t�� @@
tP1
P2
originalnakucica
translacija P1u ishodište
skaliranje rotacija translacijaishodišta u P2
T (x2, y2) · R(θ) · S(sx , sy ) · T (−x1,−y1)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Matricne reprezentacije 3D transformacija
3D transformacije se mogu reprezentirati pomocu 4× 4matrica u homogenim koordinatama:
(x , y , z) −→ (x , y , z,w)
Dvije cetvorke homogenih koordinata (x , y , z,w) i(x ′, y ′, z ′,w ′) reprezentiraju istu tocku ako i samo akoza t 6= 0
(x ′, y ′, z ′,w ′) = (t · x , t · y , t · z, t · w) ili
(x , y , z,w) =
(1t·x ′, 1
t·y ′, 1
t·z ′, 1
t·w ′)
(0,0,0,0) nije dozvoljena.Standardna reprezentacija tocke (x , y , z,w) sa w 6= 0je (x/w , y/w , z/w ,1) — homogenizirane tocke.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Tocke za koje je w = 0 se nazivaju tockama ubeskonacnosti.Svaka tocka u 3D prostoru može se reprezentiratipravcem kroz ishodište 4D prostora.Homogenizirane reprezentacije tocke cine hiperravninudefiniranu jednadžbom w = 1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Mi cemo razmatrati desne 3D koordinatne sustave
-
6
���
�
? �x
y
z
Pozitivne rotacije su u smjeru suprotnom od kazaljke nasatu kada se gleda duž pozitivne koordinatne osiprema ishodištu.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Translacija u homogenim koordinatama
T (dx ,dy ,dz) =
1 0 0 dx0 1 0 dy0 0 1 dz0 0 0 1
T (dx ,dy ,dz) ·
xyz1
=
x + dxy + dyz + dz
1
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Skaliranje u homogenim koordinatama
S(sx , sy , sz) =
sx 0 0 00 sy 0 00 0 sz 00 0 0 1
S(sx , sy , sz) ·
xyz1
=
sx · xsy · ysz · z
1
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Rotacija u homogenim koordinatama
rotacija oko osi z
Rz(θ) =
cos θ − sin θ 0 0sin θ cos θ 0 0
0 0 1 00 0 0 1
rotacija oko osi x
Rx (θ) =
1 0 0 00 cos θ − sin θ 00 sin θ cos θ 00 0 0 1
rotacija oko osi y
Ry (θ) =
cos θ 0 sin θ 0
0 1 0 0− sin θ 0 cos θ 0
0 0 0 1
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Kompozicija 3D transformacija
Matrica nastala kao produkt proizvoljnog niza matricatranslacije, skaliranja i rotacija je oblika
M =
q11 q12 q13 txq21 q22 q23 tyq31 q32 q33 tz0 0 0 1
3× 3 podmatrica Q =
q11 q12 q13q21 q22 q23q31 q32 q33
je rezultat
rotacija i translacija.
T =
txtytz
je rezultat uzastopnih translacija.
Sve tri transformacije imaju inverze:T (dx ,dy ,dz)−1 = T (−dx ,−dy ,−dz)
S(sx , sy , sz)−1 = S(s−1x , s−1
y , s−1z ), za sx 6= 0, sy 6= 0, sz 6= 0
R(θ)−1 = R(θ)T = R(−θ)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
ZadatakIzracunajte 4× 4 matricu transformacije S(su) koja skalirafaktorom su duž pravca zadanim sa u = (ux ,uy ,uz), pricemu je ‖u‖2 = 1 . Koordinate ux , uy , i uz su kosinusikuteva izmedju pravca i koordinatnih osi x, y, i z.
ZadatakIzracunajte 4× 4 matricu transformacije Ru(θ) koja rotira zakut θ oko proizvoljne osi zadane pomocu vektora smjerau = (ux ,uy ,uz), sa ‖u‖2 = 1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
S(su) =
1 + (su − 1)u2
x (su − 1)ux uy (su − 1)uzux 0(su − 1)ux uy 1 + (su − 1)u2
y (su − 1)uy uz 0(su − 1)uzux (su − 1)uy uz 1 + (su − 1)u2
z 00 0 0 1
Ru(θ) =
u2
x + cos θ(1− u2x ) ux uy (1− cos θ)− uz sin θ uz ux (1− cos θ) + uy sin θ 0
ux uy (1− cos θ) + uz sin θ u2y + cos θ(1− u2
y ) uy uz (1− cos θ)− ux sin θ 0uz ux (1− cos θ)− uy sin θ uy uz (1− cos θ) + ux sin θ u2
z + cos θ(1− u2z ) 0
0 0 0 1
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Transformacija kao promjena koordinatnogsustava
Do sada smo promatrali transformacije skupa tocaka udrugi skup tocaka, pri cemu su oba skupa prikazana uistom fiksiranom koordinatnom sustavu.Drugi pristup je promatrati transformaciju kao promjenukoordinatnog sustava.Ovaj pristup je koristan kada kombiniramo punoobjekata zadanih u svojim lokalnim koordinatnimsustavima.
Slika: Stilizirani tricikl sa dva koordinatna sustava.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
DefinicijaDefiniramo Mi←j kao transformaciju koja prevodireprezentaciju tocke u koordinatnom sustavu j u njenureprezentaciju u koordinatnom sustavu i.Definiramo P(i) kao reprezentaciju tocke ukoordinatnom sustavu i.
Tada vrijedi:
P(i) = Mi←j · P(j) i P(j) = Mj←k · P(k)
P(i) = Mi←j · P(j) = Mi←j ·Mj←k · P(k) = Mi←k · P(k)
odakle jeMi←k = Mi←j ·Mj←k
Mi←j = M−1j←i
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Primjer
Tocka P i koordinatni sustavi 1, 2, 3, i 4.
�������
@@
@ tP
1
2
34
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Primjer (nastavak)Transformacije koordinata:
M1←2 = T (4,2)
M2←3 = T (2,3) · S(0.5,0.5)
M3←4 = T (6.6,1.8) · R(45◦)Koordinate tocke P u koordinatnim sustavima 1, 2, 3, i 4:
P(1) = (10,8)
P(2) = (6,6)
P(3) = (8,6)
P(4) = (4,2)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Opce pravilo je da transformacija koja transformiraskup tocaka u fiksiranom koordinatnom sustavu jeinverz odgovarajuce transformacije koordinatnogsustava u kojima su tocke reprezentirane.Ako je Q(j) neka transformacija u koordinatnom sustavuj , tada vrijedi
Q(i) · P(i) = Mi←j ·Q(j) · P(j)
Q(i) ·Mi←j · P(j) = Mi←j ·Q(j) · P(j)
odakle slijedi
Q(i) = Mi←j ·Q(j) ·M−1i←j
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Primjer
- - - - -
6 6 6 6 6��@@t
�� @@
tP1
P2
originalnakucica
translacija P1u ishodište
skaliranje rotacija translacijaishodišta u P2
Transformacija tocaka reprezentiranih u fiksiranomkoordinatnom sustavu:
T (x2, y2) · R(θ) · S(sx , sy ) · T (−x1,−y1)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije2D transformacije
Homogenekoordinate i matricnereprezentacije 2Dtransformacija
Kompozicija 2Dtransformacija
Matricnereprezentacije 3Dtransformacija
Kompozicija 3Dtransformacija
Transformacija kaopromjenakoordinatnog sustava
Stvaranjepogleda u 3D
Prikazivanjekrivulja
Primjer (nastavak)Transformacija koordinatnog sustava:
M5←1 = M5←4M4←3M3←2M2←1
= (T (x2, y2) · R(θ) · S(sx , sy ) · T (−x1,−y1))−1
= T (x1, y1) · S(s−1x , s−1
y ) · R(−θ) · T (−x2,−y2)
tako da jeP(5) = M5←1 · P(1)
- -
6 6 6�
�� @@
x(1) x(1)
y(1) y(1) x(5)
y(5)
(a) (b)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Stvaranje pogleda u 3D
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Transformacija 2D scene u otvor pogleda
Scena koju prikazujemo zadana je unutar pravokutnogpodrucja (prozora) u svom koordinatnom sustavu.(OpenGL: gluOrtho2D())Scena se prikazuje na zaslonu unutar pravokutnogpodrucja kojeg zovemo otvor pogleda (viewport) ukoordinatnom sustavu uredaja. (OpenGL:glViewport())Definira se transformacija koja preslikava prozor sceneu otvor pogleda.Ukoliko ta dva pravokutnika nemaju jednaki odnosizmedu visine i širine, mora se primijeniti neuniformnoskaliranje.
-
���
AAA
%%%
eee
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Transformacija MPOP :
- - - -
6 6 6 6t t t ty y
x x
v v
u u(xmin, ymin)
(xmax , ymax )
(umin, vmin)
(umax , vmax )
(1) (2) (3) (4)
1 Prozor u koordinatnom sustavu scene.2 Prozor se translatira u ishodište.3 Prozor se skalira na dimenzije otvora pogleda.4 Otvor pogleda se translatira na svoj konacan položaj.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
MPOP =T (umin, vmin) · S(
umax−uminxmax−xmin
, vmax−vminymax−ymin
)· T (−xmin,−ymin)
=
umax−uminxmax−xmin
0 −xmin · umax−uminxmax−xmin
+ umin
0 vmax−vminymax−ymin
−ymin · vmax−vminymax−ymin
+ vmin
0 0 1
Mnogi graficki paketi kombiniraju transformaciju sceneu otvor pogleda sa obrezivanjem primitiva.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Pogled u 3D
Stvaranje pogleda u 3D je kompliciranije jerimamo jednu dimenziju višeuredaji za prikazivanje su 2D
Uvode se projekcije na 2D ravnineDefinira se
volumen pogleda koji se koristi za obrezivanjeprojekcija na ravninu projekcijeotvor pogleda
Konceptualni model za stvaranje pogleda u 3D:
Obrezivanje premavolumenu pogleda
Projekcija naravninu
Transformacija uotvor pogleda,
u 2D koordinatamauredaja
- - - -
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Projekcije
U racunalnoj grafici: preslikavanje sa 3D u 2D —planarne projekcije.Projekcija 3D objekta se definira
pomocu pravaca projekcije — projektori,koji proizlaze iz jedne tocke — središte projekcije,prolaze kroz svaku tocku objekta,kod sjecišta sa ravninom projekcije stvaraju slikuprojekcije.
Projekcija linije je linija — moraju se preslikati samokrajnje tocke.
Slika: (a) Linija AB i njena perspektivna projekcija A’B’. (b) Linija AB i njenaparalelna projekcija A’B’.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Projekcije dijelimo u dvije osnovne klase:perspektivne — udaljenost izmedu središta i ravnineprojekcije je konacnaparalelne — udaljenost izmedu središta i ravnineprojekcije je beskonacna
Kod perspektivne projekcije treba eksplicitno definiratisredište projekcije.Kod paralelne projekcije treba definirati smjerprojekcije:
vektor v = P − P ′ = (x − x ′, y − y ′, z − z ′,0)vektor odgovara tocci u beskonacnostiperspektivna projekcije cije središte je u beskonacnostipostaje paralelna projekcija
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Perspektivne projekcije
izgleda realisticnoima efekt perspektivnog skracivanja — velicina slikeprojekcije nekog objekta je obrnuto proporcionalnaudaljenosti objekta od središta projekcijene cuva udaljenostikutevi se cuvaju samo na stranicama objektaparalelnim sa ravninom projekcijene cuva se opcenita paralelnost pravacaslike projekcije paralelnih pravaca koji nisu paralelni saravninom projekcije sijeku se u jednoj tocci zvanojnedogledako su pravci paralelni sa nekom od 3 koordinatnih osi,tada se njihove slike sijeku u osnom nedogleduosnih nedogleda može biti najviše 3, ovisno kolikokoordinatnih osi sijece ravnina projekcije
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Perspektivne projekcije se dijele prema broju osnihnedogleda.
Slika: Perspektivna projekcija kocke sa 1 nedogledom na ravninuokomitu na z os.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Konstrukcija perspektivne projekcije kocke sa 1nedogledom na ravninu okomitu na z os.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Centrirana perspektivna projekcija kuce sa 1 nedogledom.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Perspektivna projekcija kuce sa 1 nedogledom.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Perspektivna projekcija kocke sa 2 nedogleda na ravninukoja sijece x i z osi.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Perspektivna projekcija kuce sa 2 nedogleda.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Paralelne projekcije
izgleda manje realisticnonema opcenitog perspektivnog skracivanjamože biti konstantnog skracivanja duž svake osislika projekcije se može koristiti za mjerenje duljinacuva se paralelnost pravacakutevi se cuvaju samo na stranicama objektaparalelnim sa ravninom projekcije
Paralelne projekcije se dijele u dvije vrste, ovisno oodnosu izmedu smjera projekcije i normale na ravninuprojekcije:
ortografske paralelne projekcije — ta dva smjera suparalelnakose paralelne projekcije — ta dva smjera nisuparalelna, ali je ravnina projekcije okomita na jednu odkoordinatnih osi
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Najcešce vrste ortografskih projekcija su:nacrttlocrtbokocrt
kod njih je ravnina projekcije okomita na jednu odkoordinatnih osi.Aksonometrijske ortografske projekcije imaju ravninuprojekcije koja nije okomita na neku koordinatnu os.
izometrijska projekcija — normala ravnine projekcijezatvara jednake kuteve sa koordinatnim osima(skracivanje u smjeru svih koordinatnih osi je jednako)
Cesto korištene kose projekcije su:cavalier — kut izmedju smjera projekcije i ravnineprojekcije je 45◦ (slika linije okomite na ravninu ima istuduljinu kao i sama linija)cabinet — kut izmedju smjera projekcije i ravnineprojekcije je arctan(2) = 63.4◦ (slika linije okomite naravninu je upola kraca od same linije)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Konstrukcija triju ortografskih projekcija.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Nacrt kuce.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Bokocrt kuce.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Konstrukcija izometrijske projekcije kocke.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Izometrijska projekcija kuce.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Konstrukcija kose projekcije kocke.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Cavalier projekcije kocke na ravninu z = 0. (a) Smjerprojekcije je (
√2/2,
√2/2,−1). (b) Smjer projekcije je
(√
3/2,1/2,−1).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Cabinet projekcije kocke na ravninu z = 0. (a) Smjerprojekcije je (
√2/4,
√2/4,−1). (b) Smjer projekcije je
(√
3/4,1/4,−1).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Definiranje proizvoljnog pogleda u 3D
Moramo još specificirati volumen pogleda.Ravnina projekcije = ravnina pogleda (view plane) sedefinira sa:
referentnom tockom pogleda (VRP)normalom ravnine pogleda (VPN)ona može biti bilo gdje u odnosu na objekte koji seprojiciraju
Na ravnini pogleda definira se prozor — sve što seprojiciralo unutar njega preslikava se u otvor pogleda iprikazuje se na zaslon.Prvo moramo definirati koordinatni sustav koji ukljucujeravninu pogleda — referentni koordinatni sustav 3Dpogleda (VRC).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
VRC definiramo na sljedeci nacin:ishodište je u VRPos n je u smjeru VPN-aos v je odredena slikom projekcije vektora usmjerenogprema gore (VUP); projekcija je na ravninu pogledaparalelna sa VPN-omos u je definirana tako da u, v i n cine desni koordinatnisustav
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Perspektivna projekcija kuce kojoj je VUP u smjeru y osi.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Perspektivna projekcija kuce sa zarotiranim VUP-om.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Sada možemo definirati koordinate prozora: (umin, vmin)i (umax , vmax ).
VRP se ne mora poklapati sa središtem prozora (CW).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Za perspektivnu projekciju se definira:središte projekcije kao referentna tocka projekcije(PRP) u VRC-u
Za paralelnu projekciju se definira:smjer projekcije kao vektor od PRP do središta prozora(DOP=CW-PRP)
volumen pogleda omeduje dio scene koji ce ostatinakon obrezivanja i biti projiciran na ravninu pogleda.
za perspektivnu projekciju — polubeskonacnapiramida sa vrhom u PRP-u i bridovima koji prolazekroz vrhove prozoraza paralelnu projekciju — beskonacni paralelopipedsa stranicama paralelnim smjeru projekcije koje prolazekroz stranice prozora
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Volumen pogleda u obliku polubeskonacne priramide zaperspektivnu projekciju.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Volumen pogleda u obliku beskonacnog paralelopipeda zaortografsku paralelnu projekciju.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Volumen pogleda u obliku beskonacnog paralelopipeda zakosu paralelnu projekciju.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
U racunalnoj grafici koriste se konacni volumenipogleda, jer se žele izbaciti objekti koji su preblizu ilipredaleko.Definiraju se prednja i stražnja ravnina za obrezivanje,paralelne sa ravninom pogleda:
specificiraju se predznacene velicine prednja udaljenostF i stražnja udaljenost B u odnosu na VRP u smjeruVPN-aF je nenegativan, a B je negativan
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Krnji volumen pogleda za perspektivnu projekciju.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Krnji volumen pogleda za ortografsku paralelnu projekciju.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Krnji volumen pogleda za kosu paralelnu projekciju.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Slika: Perspektivna projekcija kuce sa odrezanim stražnjimdijelom.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Implementacija planarnih projekcija i 3Dpogleda
Kada imamo zadanu projekciju i volumen pogleda, processtvaranja pogleda sastoji se od
obrezivanja prema volumenu pogledaprojiciranja na ravninu pogleda
i zbog pojednostavljena racunanja izvodi se na sljedecinacin:
1 racunanje i primjena normalizirajuce transformacijekoje transformira proizvoljan volumen pogleda ukanonski volumen pogleda
2 obrezivanje prema kanonskom volumenu pogleda —jednostavno se primijenjuje kao poopcenje 2D slucaja
3 projekcija na ravninu pogleda — jednostavan oblikmatrica
4 transformacija u otvor pogleda, u 2D koordinatamauredaja
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Kanonicki volumeni pogleda:za paralelnu projekciju omeden je ravninama
x = −1, x = 1, y = −1, y = 1, z = 0, z = −1
transformacija u kanonicki volumen pogleda: Nparza perspektivnu projekciju omeden je ravninama
x = z, x = −z, y = z, y = −z, z = zmin, z = −1
transformacija u kanonicki volumen pogleda: Nper
- -
6 6
���
@@@
��
@@
x ili y x ili y
−z −z
−1 −1
1 1
−1 −1zmin
prednjaravnina
stražnjaravnina
stražnjaravnina
- � �
prednjaravnina��*
paralelna projekcija perspektivna projekcija
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Normalizirajuce transformacije:Paralelna projekcija
Izracunat cemo Npar za najopcenitiji slucaj koseparalelne projekcije.Redoslijed transformacije za dobivanje Npar je sljedeci:
1 Translatiraj VRP u ishodište.2 Zarotiraj VRC tako da n os (VPN) postane z os, u os
postane x os, i v os postane y os.3 Primijeni transformaciju smicanja tako da smjer
projekcije postane paralelan z osi.4 Translatiraj i skaliraj kako bismo dobili kanonski
volumen pogleda za paralelnu projekciju.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
1. korak: Translacija T (−VRP)2. korak: Definiramo rotaciju
R =
r1x r2x r3x 0r1y r2y r3y 0r1z r2z r3z 00 0 0 1
,pri cemu je
R3×3 =
r1x r2x r3xr1y r2y r3yr1z r2z r3z
=
RxRyRz
.Zbog cinjenice da je R3×3 ortogonalna matrica vrijedi
R3×3 rotira RTz u z os, a kako se i VPN rotira u z os
slijedi
Rz =VPNT
‖VPN‖
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
R3×3 rotira RTx u x os, a kako se i u rotira u x os, a
u ⊥ VUP i u ⊥ VPN slijedi
Rx =(VUP × RT
z )T
‖VUP × RTz ‖
.
R3×3 rotira RTy u y os, a kako se i v rotira u y os, a
v ⊥ VPN i v ⊥ u slijedi
Ry = (Rz × Rx )T .
Sada se ravnina projekcije nalazi u xy ravnini (tj.okomita je na z os), a prednja i stražnja ravnina zaobrezivanje su paralelne s njom.3. korak: Definiramo smik duž z osi koji transformiravolumen pogleda tako da sve njegove ravnine buduokomite na jednu od koordinatnih osi.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Smik treba transformirati smjer projekcije (DOP) dabude paralelan z osi.DOP = CW − PRP, a PRP je specificiran u VRCsustavu. Koraci 1 i 2 su pomakli VRC sustav tako da seon sada poklapa s koordinatnim sustavom scene.Imamo
DOP =
dopxdopydopz
0
, CW =
umax +umin
2vmax +vmin
201
, PRP =
prpuprpvprpn
1
,tada je
DOP = CW − PRP =
umax +umin
2 − prpuvmax +vmin
2 − prpv−prpn
0
.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
- -
6 6
������
������
��1
�-
�
y y
−z −z
DOP
VPNDOP′
VPN
(a) (b)
Slika: Smik transformira paralelogram prikazan sa (a) u kvadarprikazan sa (b). VPN je nepromijenjen jer je paralelan z osi.
Matrica smika je oblika
SMpar = SMxy (smx , smy ) =
1 0 smx 00 1 smy 00 0 1 00 0 0 1
,
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
SMxy (smx , smy ) ·
xyz1
=
x + smx · zy + smy · z
z1
.Parametri smx i smy biraju se tako da
DOP ′ = [ 0 0 dopz 0 ]T = SMpar · DOP,
odakle slijedi
smx = −dopx
dopz, smy = −
dopy
dopz.
Za ortografsku projekciju je dopx = dopy = 0 pa seSMpar svodi na identitetu.
Transformirani volumen pogleda je sada omedenravninama:
x = umin, x = umax , y = vmin, y = vmax , z = B, z = F .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
4. korak: Volumen pogleda transformiran smikom sadasvodimo na kanonski volumen pogleda. To postižemona sljedeci nacin.
Translatiramo središte prednje strane u ishodište:
Tpar = T(−umax + umin
2,−vmax + vmin
2,−F
)Skaliramo na dimenzije 2× 2× 1 kanonskog volumenapogleda:
Spar = S(
2umax − umin
,2
vmax − vmin,
1F − B
)Konacno dobivamo
Npar = Spar · Tpar · SMpar · R · T (−VRP).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Normalizirajuce transformacije:Perspektivna projekcija
Izracunat cemo Nper za perspektivnu projekciju.Redoslijed transformacije za dobivanje Nper je sljedeci:
1 Translatiraj VRP u ishodište.2 Zarotiraj VRC tako da n os (VPN) postane z os, u os
postane x os, i v os postane y os.3 Translatiraj središte projekcije, dano sa PRP, u
ishodište.4 Primijeni transformaciju smicanja tako da se središnja
linija volumena pogleda poklopi sa z osi.5 Skaliraj kako bismo dobili kanonski volumen pogleda za
perspektivnu projekciju.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
1. korak: Translacija T (−VRP)
2. korak: Rotacija R kao i kod paralelne projekcije.3. korak: Translacija T (−PRP), buduci da su koraci 1 i2 pomakli VRC sustav tako da se on sada poklapa skoordinatnim sustavom scene.4. korak: Definiramo smik duž z osi koji transformiravolumen pogleda na slici, tako da postane simetrican.
-
6 ���
XXX�
rrry
−z
z = vrp′z
središteprozora središnja linija
volumena pogleda
VRPVRP
ZZ~
ZZ}
Središnja linija volumena pogleda prolazi kroz PRP, kojije sada u ishodištu, i središte prozora.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Trebamo definirati smik koji ce vektor CW − PRPtransformirati tako da se poklapa sa z osi.Takav smik je SMpar kao i kod paralelne projekcije.Nakon primjene transformacije smika prozor i volumenpogleda su centrirani u odnosu na z os.Prozor na ravnini projekcije je omeden pravcima
x = − umax−umin2 , x = umax−umin
2 , y = − vmax−vmin2 , y = vmax−vmin
2
VRP je nakon 3. koraka iz ishodišta translatiran za−PRP, a nakon 4. koraka je oblika
VRP ′ = SMpar · T (−PRP) ·
0001
.Buduci da SMpar ne dira z koordinatu:
vrp′z = −prpz .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
5. korak: Skaliranje na dimenzije kanonskog volumenapogleda.
- -
6 6
����
XXXX
r rrrrr
�
��
@@
r rry y
−z −zvrp′z + F vrp′z vrp′z + B
VRPVPN
y =vmax−vmin
2
y = − vmax−vmin2
@R
��−1
1
−1zmin zproj
stražnjaravnina zaobrezivanje
�prednja
ravnina zaobrezivanje
HHj
ravninapogledaXXy
y = −z
y = z
?
6
prije skaliranja nakon skaliranja
Skaliranje se izvodi u dva podkoraka.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
1 Neuniformno skaliranje koje ravnine bocnih stranicavolumena pogleda preslikava u ravnine x = ±z iy = ±z:
S(− 2 · vrp′z
umax − umin,− 2 · vrp′z
vmax − vmin,1),
prozor na ravnini pogleda se skalira tako da su mupolovica visine i polovica širine jednake −vrp′z .
2 Uniformno skaliranje (kako bi se sacuvale orijentacijeravnina) koje preslikava stražnju ravninu za obrezivanjez = vrp′z + B u z = −1:
S(− 1
vrp′z + B,− 1
vrp′z + B,− 1
vrp′z + B
).
Konacno skaliranje je oblika
Sper = S(
2vrp′z(umax−umin)(vrp′z +B) ,
2vrp′z(vmax−vmin)(vrp′z +B) ,−
1vrp′z +B
).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Ravnina projekcije, prednja i stražnja ravnina zaobrezivanje se sada nalaze na pozicijama:
zproj = − vrp′zvrp′z +B , zmin = −vrp′z +F
vrp′z +B , zmax = −vrp′z +Bvrp′z +B = −1.
Konacno dobivamo
Nper = Sper · SMper · T (−PRP) · R · T (−VRP).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Obrezivanje
Obrezivanje se može vršiti:prema kanonskom volumenu pogleda u 3D — kadaje w > 0 za sve tocke
U tom slucaju se lagano prebacimo iz homogenihkoordinata (u kojima su definirane transformacije)natrag u 3D.To se dogada kada se rotacije, translacije, skaliranja ismikovi primijenjuju na tocke, linije i ravnine, štovišeostaje w = 1.Nper i Npar ne mijenjaju w , pa dijeljenje s w nije nužno.
u homogenim koordinatama — kada se pojavljujew < 0
Za tocke sa w < 0 i z < 0 je z/w > 0, i one bi mogle bitiprikazane iako ne bi trebale.To se dogada ako primitive za crtanje ukljucuju krivulje iplohe koje su reprezentirane funkcijama u homogenimkoordinatama, i prikazuju se kao povezani nizpravcastih segmenata.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Obrezivanje u 3D
2D Cohen–Sutherlandov algoritam za obrezivanje linija sejednostavno proširuje na 3D — koristi se 6-bitni kod zadefiniranje vanjskih podrucja.
za kanonski volumen paralelne projekcije bit sepostavlja na 1 ako:
1. bit tocka je iznad volumena pogleda y > 12. bit tocka je ispod volumena pogleda y < −13. bit tocka je desno od volumena pogleda x > 14. bit tocka je lijevo od volumena pogleda x < −15. bit tocka je iza volumena pogleda z < −16. bit tocka je ispred volumena pogleda z > 0
Ukoliko se linija ne može trivijalno niti prihvatiti nitiodbiti, moraju se izracunati najviše 6 sjecišta linije saravninama stranica volumena pogleda.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Za racunanje sjecišta se koristi parametrizirani obliksegmenta pravca od P0(x0, y0, z0) do P1(x1, y1, z1):
x =x0 + t(x1 − x0),
y =y0 + t(y1 − y0),
z =z0 + t(z1 − z0), t ∈ [0,1].
Npr. za racunanje sjecišta linije sa ravninom y = 1, izdruge jednadžbe jednostavno dobivamo
t =1− y0
y1 − y0,
odakle koordinate sijecišta glase
x = x0 + (1−y0)(x1−x0)y1−y0
, y = −1, z = z0 + (1−y0)(z1−z0)y1−y0
.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
za kanonski volumen perspektivne projekcije bit sepostavlja na 1 ako:
1. bit tocka je iznad volumena pogleda y > −z2. bit tocka je ispod volumena pogleda y < z3. bit tocka je desno od volumena pogleda x > −z4. bit tocka je lijevo od volumena pogleda x < z5. bit tocka je iza volumena pogleda z < −16. bit tocka je ispred volumena pogleda z > zmin
Npr. za racunanje sjecišta linije sa ravninom y = z,izjednacavanjem druge i trece jednadžbe dobivamo
t =z0 − y0
(y1 − y0)− (z1 − z0),
odakle koordinate sijecišta glase
x = x0 + (x1−x0)(z0−y0)(y1−y0)−(z1−z0) , z = y = y0 + (y1−y0)(z0−y0)
(y1−y0)−(z1−z0)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Obrezivanje u homogenim koordinatama
Razlozi za obrezivanje u homogenim koordinatama:Tocke dobivene korištenjem neuobicajenihtransformacija ili racionalnih parametrickih splajnovamogu imati w < 0.
Takve tocke mogu se pravilno obrezati samo uhomogenim koordinatama, a ne u 3D.
Kanonicki volumen pogleda perspektivne projekcijemože se transformirati u kanonicki volumen pogledaparalelne projekcije.
Može se koristiti samo jedna procedura za obrezivanje,optimizirana za kanonicki volumen pogleda paralelneprojekcije.Bolja efikasnost.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Transformacija kanonickog volumena pogledaperspektivne projekcije u kanonicki volumen pogledaparalelne projekcije:
M =
1 0 0 00 1 0 00 0 1
1+zmin
−zmin1+zmin
0 0 −1 0
, zmin 6= 1
M ·
xyz1
=
xy
z−zmin1+zmin
−z
(x , y , z) 7−→
(−x
z,−y
z,
zminz − 1
1 + zmin
)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
- -
6 6
��
@@
r rr rr r
rr rr
r
r
ry y
−z −zzmin −1
A
B
D
C
ravninapogleda
XXy
središteprojekcije
-0 −1
A′
B′
D′
C′
ravninapogleda
�
središteprojekcije u∞
�
-M
y zA −zmin zminB zmin zminC −1 −1D 1 −1
y zA′ 1 0B′ −1 0C′ −1 −1D′ 1 −1
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Normalizirajuca transformacija za volumen pogledaperspektivne projekcije sada glasi
N ′per = M · Nper = M · Sper · SMper · T (−PRP) · R · T (−VRP).
Sada koristimo Npar i N ′per , i u oba slucaja obrezujemoprema kanonskom volumenu pogleda paralelneprojekcije.U 3D definiran je sa:
−1 ≤ xw≤ 1, −1 ≤ y
w≤ 1, −1 ≤ z
w≤ 0.
Izraženo u homogenim koordinatama:(a) za w > 0
−w ≤ x ≤ w , −w ≤ y ≤ w , −w ≤ z ≤ 0
(b) za w < 0
−w ≥ x ≥ w , −w ≥ y ≥ w , −w ≥ z ≥ 0
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Postoji nekoliko nacina obrezivanja u homogenimkoordinatama
Sve tocke obrezati 2 puta: jednom po (a) i jednom po(b) — neefikasnoPrvo promijeniti predznake koordinata za tocke saw < 0, i obrezati po (a).
efikasno za linije cije obje krajnje tocke imaju w istogpredznaka
Prvo obrezati po (a), onda promijeniti predznakekoordinata svih tocaka i opet obrezati po (a) — obrezati2 puta
obavezno za linije cije krajnje tocke imaju w razlicitihpredznaka
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Matricni oblik projekcija
Specijalni slucajevi projekcija:Pretpostavke za perspektivnu projekciju
središte projekcije je u ishodišturavnina projekcije z = d
Pretpostavke za paralelnu projekcijuprojekcija je ortografskaravnina projekcije je z = 0
Perspektivna projekcija sa ravninom projekcije z = d isredištem u (0,0,0)
- -
6 6
�
������
rrr
����
��
rrrx
y x
z z
P(x, y, z)
Pp(xp, yp, zp)
d d- -� �
ravninaprojekcije
xp
P(x, y, z)
ravninaprojekcije
pogledduž y osi
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Tocku P(x , y , z) projiciramo na ravninu z = d sasredištem projekcije u ishodištu, slika projekcije jePp(xp, yp, zp).Zbog slicnosti trokuta iz prethodne slike dobivamo
xp
d=
xz,
yp
d=
yz
pa jexp =
xzd, yp =
yzd, z 6= 0
Iz gornjih jednadžbi vidi se da je slika daljih objekatamanja od slike bližih.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Matricni prikaz takve projekcije je
Mper =
1 0 0 00 1 0 00 0 1 00 0 1
d 0
x ′
y ′
z ′
w ′
= Mper ·P =
1 0 0 00 1 0 00 0 1 00 0 1
d 0
·
xyz1
=
xyzzd
Odavde slijedi
(xp, yp, zp) =
(x ′
w ′,
y ′
w ′,
z ′
w ′
)=
(x
z/d,
yz/d
,d).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Perspektivna projekcija sa ravninom projekcije z = 0 isredištem u (0,0,−d)
-
6
�����
�
rrr
-�
x
z
xp
P(x, y, z)
ravninaprojekcijed
Zbog slicnosti trokuta iz prethodne slike dobivamoxp
d=
xz + d
,yp
d=
yz + d
pa jexp =
xzd + 1
, yp =y
zd + 1
, z 6= 0
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Matricni prikaz takve projekcije je
M ′per =
1 0 0 00 1 0 00 0 0 00 0 1
d 1
Ovakav prikaz dozvoljava da udaljenost središta odravnine projekcije teži u∞— paralelna projekcija
Ortografska paralelna projekcija sa ravninom projekcijez = 0
Kod ortografske projekcije je svejedno gdje se nalaziravnina pogleda, zato se zbog jednostavnosti uzima uz = 0.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Tocka P(x , y , z) preslikat ce se u
xp = x , yp = y , zp = 0.
Matricni prikaz takve projekcije je
Mort =
1 0 0 00 1 0 00 0 0 00 0 0 1
Primjena projekcije nakon 3D obrezivanja premakanonskom volumenu pogleda
Zbog specificnog izgleda kanonskih volumena pogleda,projekcije na ravninu pogleda provodi setransformacijama
Mort u slucaju paralelne projekcijeMper sa d = zproj u slucaju perspektivne projekcije
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Preslikavanje u otvor pogleda
Kanonski volumen pogleda paralelne projekcije jekvadar
−1 ≤ x ≤ 1, −1 ≤ y ≤ 1, −1 ≤ z ≤ 0,
a kanonski volumen pogleda perspektivne projekcijemožemo preslikati u taj kvadar pomocu M.Specificirat cemo 3D otvor pogleda u koji se preslikavasadržaj kanonskog volumena pogleda.3D otvor pogleda je smješten u jedinicnu kocku
0 ≤ x ≤ 1, 0 ≤ y ≤ 1, 0 ≤ z ≤ 1.
Prednja stranica kocke z = 1 preslikat ce se u najvecikvadrat koji stane na zaslon.Pretpostavljamo da se donji lijevi ugao kvadrata nalazina (0,0).Tocke unutar jedinicne kocke se tada prikazuju nazaslon tako da se odbace njihove z koordinate.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Primjer
Na zaslonu rezolucije 1024× 800, najveci kvadrat jezadan sa
0 ≤ x ≤ 799, 0 ≤ y ≤ 799.
Tocka jedinicne kocke (0.5,0.75,0.46) ce se preslikatina koordinate (400,599) zaslona.
3D otvor pogleda unutar jedinicne kocke se zadaje kao
xopmin ≤ x ≤ xopmax , yopmin ≤ y ≤ yopmax , zopmin ≤ z ≤ zopmax .
Preslikavanje kvadra−1 ≤ x ≤ 1, −1 ≤ y ≤ 1, −1 ≤ z ≤ 0 u 3D otvorpogleda izvodi se u 3 koraka.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
1 (−1,−1,−1) ugao kvadra se translatira u ishodište
T (1,1,1)
2 Translatirani kvadar se skalira na dimenzije 3D otvorapogleda
S(
xopmax − xopmin
2,yopmax − yopmin
2,zopmax − zopmin
1
)3 Skalirani kvadar se translatira do donjeg lijevog ugla 3D
otvora pogleda
T (xopmin, yopmin, zopmin)
Konacno dobivamo
MVP3DOP =T (xopmin,yopmin,zopmin)·S( xopmax−xopmin
2 ,yopmax−yopmin
2 ,zopmax−zopmin
1
)·T (1,1,1).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Konacna implementacija 3D pogleda
Postoje dvije implementacije cjelokupne transformacijepogleda.
Implementacija za slucaj kad su geometrijske primitivedefinirane u 3D i transformacije primijenjene naprimitive nikada ne daju w < 0.
Algoritam (3D implementacija)1 Proširi 3D koordinate na homogene koordinate.2 Primijeni normalizirajuce transformacije Npar ili Nper .3 Podijeli koordinate sa w kako bismo ponovo dobili 3D
koordinate (za w = 1 dijeljenje nije potrebno).4 Obreži u 3D prema kanonskom volumenu pogleda
paralelne ili perspektivne projekcije.5 Proširi 3D koordinate na homogene koordinate.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Algoritam (3D implementacija — nastavak)6 Primijeni paralelnu projekciju Mort ili perspektivnu
projekciju Mper sa d = zproj .7 Translatiraj i skaliraj u otvor pogleda zadan
koordinatnim sustavom zaslona, koristeci MVP3DOP iliMVP3DOP ·M.
8 Podijeli koordinate sa w i zanemari z koordinate kakobismo dobili 2D koordinate.
Koraci 6 i 7 izvode se jednim matricnim množenjem.
Implementacija za slucaj kadageometrijske primitive su definirane u homogenimkoordinatama i mogu imati w < 0transformacije primijenjene na primitive mogu datiw < 0implementiran je samo jedan algoritam za obrezivanje
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3DTransformacija 2Dscene u otvorpogleda
Pogled u 3D
Projekcije
Perspektivneprojekcije
Paralelne projekcije
Definiranjeproizvoljnog pogledau 3D
Implementacijaplanarnih projekcija i3D pogleda
Normalizirajucetransformacije
Paralelna projekcija
Perspektivnaprojekcija
Obrezivanje
Obrezivanje u 3D
Obrezivanje uhomogenimkoordinatama
Matricni oblikprojekcija
Preslikavanje uotvor pogleda
Konacnaimplementacija 3Dpogleda
Prikazivanjekrivulja
Algoritam (Implementacija u homogenim koordinatama)1 Proširi 3D koordinate na homogene koordinate.2 Primijeni normalizirajuce transformacije Npar ili N ′per .3 Ako je w > 0 za sve tocke tada obreži u homogenim
koordinatama prema volumenu pogleda definiranim sa(a).Ako se pojavljuju i tocke sa w < 0 tada obreži premaoba dva volumena pogleda definiranih sa (a) i (b).
(a) za w > 0−w ≤ x ≤ w , −w ≤ y ≤ w , −w ≤ z ≤ 0
(b) za w < 0−w ≥ x ≥ w , −w ≥ y ≥ w , −w ≥ z ≥ 0
4 Translatiraj i skaliraj u otvor pogleda zadankoordinatnim sustavom zaslona, koristeci MVP3DOP .
5 Podijeli koordinate sa w i zanemari z koordinate kakobismo dobili 2D koordinate.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Prikazivanje krivulja
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Konike — konicni presjeci
Presjeci konusa sa ravninom
Slika: Dvije razlicite elipse dobivene kao presjeci konusa sadvijema razlicitim ravninama.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) Kružnica; (b) Tocka.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) Pravac; (b) Parabola.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) Ukriženi pravci; (b) Hiperbola.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) Ukošeni ukriženi pravci; (b) Ukošena hiperbola.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Konike se vec dugo vrijeme koriste u dizajnu.Nedegerativni oblici konika:
kružnicaelipsaparabolahiperbola
Postoje mnoge reprezentacije konika, a tocke na krivuljimogu se lako izracunati brzim i tocnim metodama.Konike imaju mnoga geometrijska svojstva koja supoželjna u dizajnu.
Npr. one nemaju tocke infleksije,one su ravninske krivulje.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicije:Kružnica
Definicija
Neka je dana tocka C u ravnini i broj R ≥ 0, tada sekružnica sa središtem u C i radijusom R definira kao
skup svih tocaka ravnine koje se nalaze na udaljenostiR od tocke C.U skupovnoj notaciji:
{P = (x , y) : ‖P − C‖ = R}.
Za C = (xc , yc) i euklidsku normu: (x , y) je tocka nakružnici ako i samo ako
(x − xc)2 + (y − yc)2 = R2.
Za R = 0 kružnica se degenerira u tocku C.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Elipsa
Definicija
Neka su zadane dvije tocke, F1 i F2 koje zovemo fokusima ibroj K ≥ ‖F2 − F1‖, tada se elipsa definira kao
skup svih tocaka ravnine cija je suma udaljenosti odfokusa jednaka K .U skupovnoj notaciji:
{P = (x , y) : ‖P − F1‖+ ‖P − F2‖ = K}.
Kružnica je vrsta elipse za F1 = F2 = C i K = 2R.Segment pravca koji povezuje F1 i F2 je elipsa, buducida za
P = (1− t)F1 + tF2, 0 ≤ t ≤ 1
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
imamo
‖P − F1‖ =t‖F2 − F1‖‖P − F2‖ =(1− t)‖F2 − F1‖
odakle slijedi
‖P − F1‖+ ‖P − F2‖ =t‖F2 − F1‖+ (1− t)‖F2 − F1‖=‖F2 − F1‖=K
degenerirani oblik
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Zbog jednostavnosti uzet cemo
F1 = (−c,0), F2 = (c,0), za c > 0.
Prema definiciji je√(x + c)2 + y2 +
√(x − c)2 + y2 = K .
Uzastopnim kvadriranjem dva puta dobivamo
4(K 2 − 4c2)x2 + 4K 2y2 = K 2(K 2 − 4c2). (1)
Ovdje se pojavljuju tri slucaja u ovisnosti o K 2 − 4c2.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
1 slucaj: K2 − 4c2 < 0tada je 2c > Kbuduci da za svaku tocku P na elipsi vrijedi
2c =‖F1 − F2‖ = ‖F1 − P + P − F2‖≤‖F1 − P‖+ ‖F2 − P‖ = K
rezultat je prazan skup2 slucaj: K2 − 4c2 = 0
tada je 2c = Kbuduci da je ‖F2 − F1‖ = 2c = Krezultat je segment pravca koji povezuje F1 i F2
3 slucaj: K2 − 4c2 > 0Jednadžbu (1) sada dijelimo sa K 2(K 2 − 4c2)
4x2
K 2 +4y2
K 2 − 4c2 = 1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ako definiramo
a =K2, b2 = a2 − c2
tada prethodnu jednadžbu možemo svesti na poznatioblik
x2
a2 +y2
b2 = 1.
Svojstva elipse:tocke (−a,0) i (a,0) su na elipsi, i ne postoje tocke naelipsi sa |x | > aelipsa je simetricna u odnosu na x ostocke (0,−b) i (0,b) su na elipsi, i ne postoje tocke naelipsi sa |y | > belipsa je simetricna u odnosu na y os
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
da su fokusi F1 i F2 smješteni na y os, tada bismo dobiliistu jednadžbu sa b > aopcenitiji oblik elipse možemo dobiti
translacijom ishodišta u C = (F1 + F2)/2 = (cx , cy )dobivamo jednadžbu
(x − cx )2
a2 +(y − cy )2
b2 = 1
rotacijom ako fokusi ne leže na pravcu paralelnom sajednom od koordinatnih osi
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) Kružnica sa središtem u C; (b) Elipsa sa središtem uishodištu.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Hiperbola
Definicija
Neka su zadane dvije tocke, F1 i F2 koje zovemo fokusima ibroj K 6= 0, tada se hiperbola definira kao
skup svih tocaka ravnine cija je razlika udaljenosti odfokusa jednaka K .U skupovnoj notaciji:
{P = (x , y) : ‖P − F1‖ − ‖P − F2‖ = ±K}.
Ako je K = 0, tada se hiperbola svodi na pravac koji jejednako udaljen od F1 i F2.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Zbog jednostavnosti uzet cemo
F1 = (−c,0), F2 = (c,0), za c > 0.
Prema definiciji je√(x + c)2 + y2 −
√(x − c)2 + y2 = ±K .
Uzastopnim kvadriranjem dva puta dobivamo
4(K 2 − 4c2)x2 + 4K 2y2 = K 2(K 2 − 4c2). (2)
Ovdje se pojavljuju tri slucaja u ovisnosti od K 2 − 4c2.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
1 slucaj: K2 > 4c2
buduci da za svaku tocku P na hiperboli vrijedi
2c =‖F1 − F2‖ = ‖F1 − P + P − F2‖≥max{‖F1 − P‖ − ‖F2 − P‖, ‖F2 − P‖ − ‖F1 − P‖} = |K |
rezultat je prazan skup2 slucaj: K = ±2c
jednadžba se svodi na y2 = 0, tj. radi se o pravcu
y = 0.
preciznije: tocke (x ,0) sa −c < x < c nisu ukljucene jer
|‖(x ,0)− (−c,0)‖ − ‖(x ,0)− (c,0)‖| =|(x + c)− (c − x)|=2|x | < 2c = ±K
rezultat je degenerirani oblik
{(x ,0) : x ≤ −c & x ≥ c}
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
3 slucaj: K2 < 4c2
Jednadžbu (2) sada dijelimo sa K 2(K 2 − 4c2)
4x2
K 2 −4y2
4c2 − K 2 = 1.
Ako definiramo
a =K2, b2 = c2 − a2
tada prethodnu jednadžbu možemo svesti na poznatioblik
x2
a2 −y2
b2 = 1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Svojstva hiperbole:a2 + b2 = c2, gdje je c udaljenost fokusa od središtatocke (−a,0) i (a,0) su na hiperbolihiperbola je simetricna u odnosu na x oshiperbola je simetricna u odnosu na y osda su fokusi F1 i F2 smješteni na y os, tada bismo dobiliistu jednadžbu kod koje x i y imaju zamijenjene ulogeopcenitiji oblik hiperbole možemo dobiti
translacijom ishodišta u C = (F1 + F2)/2 = (cx , cy )dobivamo jednadžbe
(x − cx )2
a2 −(y − cy )2
b2 = 1 ili(y − cy )2
a2 − (x − cx )2
b2 = 1
rotacijom ako fokusi ne leže na pravcu paralelnom sajednom od koordinatnih osi
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Parabola
Definicija
Neka je zadana tocka F koju zovemo fokus i pravac d kojegzovemo direktrisa, tada se parabola definira kao
skup svih tocaka ravnine koje su jednako udaljene od Fi d.U skupovnoj notaciji:
{P = (x , y) : ‖P − F‖ = d(P,d)}.
Zbog jednostavnosti uzet cemo
F = (c,0), x = −c je direktrisa.
Prema definiciji je‖P − F‖ =d(P,d)√
(x − c)2 + y2 =x + c
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Kvadriranjem dobivamo
y2 = 4cx .
Svojstva parabole:parabola je simetricna u odnosu na x osda se fokus smjesti na y os i da je direktrisa vodoravanpravac, tada bi dobili istu jednadžbu kod koje x i yimaju zamijenjene ulogeopcenitiji oblik parabole možemo dobiti translacijomishodišta u C = (cx , cy ), cime dobivamo jednadžbe
(y − cy )2 = 4c(x − cx ) ili (x − cx )2 = 4c(y − cy )
gdje je 2c udaljenost od fokusa do direktriserotacijom ako direktrisa nije paralelna sa jednom odkoordinatnih osi
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) Hiperbola; (b) Parabola.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
NapomenaSvaki nedegenerirani oblik konike može se dobiti iz bilokojeg drugog nedegeneriranog oblika konike pomocuperspektivne projekcije.Npr. kružnica se može projicirati na ravninu iz razlicitihtocaka gledišta, pri cemu se može dobiti elipsa,parabola, ili hiperbola.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Krivulje drugog reda kao konike
Sve konike cije su glavne osi paralelne x i y osimamogu se napisati kao implicitne funkcije drugog reda —krivulje drugog reda.Može se pokazati i obrat: sve krivulje drugog reda suzarotirane konike.Opcenita krivulja drugog reda je oblika
Ax2 + Bxy + Cy2 + Dx + Ey + F = 0
Sve konike cije su glavne osi paralelne x i y osima suoblika
A′x ′2 + C′y ′2 + D′x ′ + E ′y ′ + F ′ = 0
Da li postoji transformacija koordinata iz (x , y) u (x ′, y ′),tako da je za svaku krivulju drugog reda B′ = 0?
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Koordinatni sustav x ′-y ′ možemo prikazati kaozarotirani sustav x-y :
x =x ′cosθ − y ′ sin θy =x ′ sin θ + y ′ cos θ
i ovako izražene koordinate ubaciti u originalnujedadžbu krivulje drugog reda.Koeficijent uz x ′y ′ oznacen sa B′ trebamo izjednaciti sa0, kako bismo dobili jednadžbu za kut rotacije θ.
B′ = 0 = B cos 2θ − (A− C) sin 2θ
za B = 0 : θ = 0za B 6= 0
za A = C : cos 2θ = 0⇒ θ = π4
za A 6= C :
θ =12
tan−1(
BA− C
)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Originalni i zarotirani koordinatni sustavi.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Oblik krivulje se ne mijenja rotiranjem koordinatnogsustava.Jednadžbu
A′x ′2 + C′y ′2 + D′x ′ + E ′y ′ + F ′ = 0
dalje možemo pregrupirati u oblik
A′(
x ′ + D′2A′
)2+ C′
(y ′ + E ′
2C′
)2= −4A′C′F ′−C′D′2−A′E ′2
4A′C′
Ova jednadžba predstavlja koniku, ciji oblik odredujepredznak od A′C′.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
A′C′ A′ C′ −4A′C′F ′−C′D′2−A′E ′24A′C′ krivulja> 0 elipsa
> 0 > 0 = 0 tocka> 0 < 0 prazan skup
> 0 prazan skup< 0 < 0 = 0 tocka
< 0 elipsa= 0 = 0 ∗ pravac
= 0 = 0 6= 0 ∗ parabola6= 0 = 0 ∗ parabola
< 0 ∗ ∗ 6= 0 hiperbola= 0 ukriženi pravci
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
DefinicijaZa jednadžbu drugog reda
Ax2 + Bxy + Cy2 + Dx + Ey + F = 0
velicinaB2 − 4AC
zove se diskriminanta.
TeoremDiskriminanta je invarijantna na rotacije.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremSvaka krivulja drugog reda je konika i
ako je B2 − 4AC
< 0, krivulja je elipsa,= 0, krivulja je parabola,> 0, krivulja je hiperbola.
TeoremImplicitna funkcija f (x , y) = 0 je konika ako i samo ako jepolinom drugog stupnja po x i y.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Lukovi konika kao racionalne funkcije
Zapocet cemo sa implicitnim oblikom krivulje drugogreda
Ax2 + Bxy + Cy2 + Dx + Ey + F = 0
Krivulja drugog reda ima 5 stupnjeva slobode.Želimo naci parametre A, B, C, D, E , i F krivuljedrugog reda koja prolazi kroz pet tocaka Pi = (xi , yi).Promatramo cetiri pravca na slici.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
L1 prolazi kroz P1 i P2L2 prolazi kroz P3 i P4L3 prolazi kroz P2 i P3L4 prolazi kroz P4 i P1
Svaka tocka osim P5 leži na dva pravca.Koristit cemo notaciju
Li(x , y) = aix + biy + ci , i Li(Pj) = Li(xj , yj).
Tocka (x , y) je na pravcu ako i samo ako je Li(x , y) = 0.Tada imamo
L1(Pj) =0 za j = 1,2,L2(Pj) =0 za j = 3,4,L3(Pj) =0 za j = 2,3,L4(Pj) =0 za j = 4,1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Uvodimo notaciju
(LiLj)(x , y) =Li(x , y) · Lj(x , y)
=(aix + biy + ci)(ajx + bjy + cj)
i ona predstavlja jednadžbu drugog reda po x i y .Vrijedi
L1L2(Pj) = L3L4(Pj) = 0, za j = 1,2,3,4.
Obje jednadžbe
(L1L2)(x , y) = 0 i (L3L4)(x , y) = 0
mogu biti jednadžbe krivulja drugog reda koje prolazekroz P1, P2, P3, i P4.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Grafovi krivulja (a) L1L2 = 0; (b) L3L4 = 0.
Ako P5 leži na jednom od tih pravaca, tada je jedna odtih krivulja tražena interpolacijska krivulja drugog reda.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ako P5 ne leži niti na jednom pravcu Li , i = 1,2,3,4,tada promatramo plohu
z = f (x , y) = L1L2(x , y) + cL3L4(x , y).
To je ploha drugog reda po x i y , a rješenja jednadžbef (x , y) = 0 predstavljaju krivulju koja ukljucuje tocke Pi ,i = 1,2,3,4.Parametar c je preostali stupanj slobode kojeg cemoiskoristiti za dobivanje jedinstvene krivulje.Kolekciju svih mogucih krivulja kroz te cetriri tocke sjednim stupnjem slobode nazivamo pramenom konikakroz Pi , i = 1,2,3,4.Jedinstvenu krivulju iz pramena možemo odreditipomocu tocke P5: f (P5) = 0.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
f (P5) = L1L2(P5) + cL3L4(P5) = 0
odakle dobivamo
c = −L1L2(P5)
L3L4(P5).
Ako P5 leži na L1 ili L2, tada je c = 0 i f = L1L2.Ako P5 leži na L3 ili L4, tada je c =∞ i treba bitif = L3L4.Zato je bolje definirati pramen konika za c = λ/(1− λ)kao
f (x , y) = (1− λ)L1L2(x , y) + λL3L4(x , y) = 0.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Sada cemo razmatrati situaciju sa tangentama.
Slika: Rotiranje L3: (a) P2 teži ka P1; (b) P3 teži ka P4.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Pretpostavimo da tocku P2 pomicemo duž L1 prema P1.Time se mijenja krivulja, i kad P2 → P1, L1 postajetangenta na krivulju u tocki P1.Isto tako, pretpostavimo da tocku P3 pomicemo duž L2prema P4.Kad P3 → P4, L2 postaje tangenta na krivulju u tocki P4.Na taj nacin smo definirali pramen konika kroz dvijetocke P1 i P4, sa tangentama L1 u P1 i L2 u P4.U limesu L3 teži ka L4, i jednadžba za f (x , y) sadaizgleda
f (x , y) = L1L2(x , y) + cL23(x , y).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Konacna konfiguracija.
Ako se P5 nalazi unutar trokuta omedenog pravcima L1,L2 i L3, dobivena konika je uvijek neprekidna krivuljakroz tocke P1 i P4, i sa tangentama L1 i L2.Ako se P5 nalazi izvan tog trokuta, dobivena krivulja jehiperbola.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Preformuliramo problem: interpolacija tocaka P1 i P2, ipoklapanje tangenata u njima sa L1 i L2.Neka je T tocka sjecišta pravaca L1 i L2 (L1 6= L2).Vektori (P1 − T ) i (P2 − T ) razapinju R2, jer P1, T i P2ne mogu biti kolinearni.Uvodimo novi parametarski koordinatni sustav u R2:
(u, v) = T + u(P1 − T ) + v(P2 − T ).
Konverzija u x-y koordinatni sustav svodi se na(x , y) = (Tx+u(P1,x−Tx)+v(P2,x−Tx),Ty+u(P1,y−Ty )+v(P2,y−Ty )).
U u-v koordinatnom sustavu su P1 = (1,0) iP2 = (0,1), i vrijedi
L1(u, v) = v {(u, v) : v = 0} je pravac L1
L2(u, v) = u {(u, v) : u = 0} je pravac L2
L3(u, v) = u + v − 1 {(u, v) : v = 1− u} je pravac L3
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Parametarski oblici pravaca su
L1 : T + u(P1 − T ) = (1− u)T + uP1
L2 : T + v(P2 − T ) = (1− v)T + vP2
L3 : T + u(P1 − T ) + (1− u)(P2 − T ) = uP1 + (1− u)P2
Za proizvoljnu tocku Pc razmotrimo njenu tangentu, ioznacimo njena sjecišta sa L1 i L2 kao A1 i A2.
Slika: Koordinatni sustav u-v .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Razmotrimo implicitnu jednadžbu
L1(u, v)L2(u, v) + cL23(u, v) = 0
uv + c(u + v − 1)2 = 0
za jednoparametarsku familiju konika koje interpolirajutocke P1 i P2, i u njima imaju tangente L1 i L2.Želimo naci racionalnu parametarsku jednadžbu za diokrivulje koji leži unutar trokuta omedenog pravcima L1,L2 i L3.Buduci da se taj dio mora nalaziti u 1. kvadrantu u-vkoordinatnog sustava, parametar c mora zadovoljavatisljedece uvjete:
u ≥ 0 i v ≥ 0⇒ uv ≥ 0(u + v − 1)2 ≥ 0mora biti c ≤ 0
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Za 0 ≤ λ ≤ 1 definiramo
c = − λ
1− λ≤ 0,
i imamo
C(u, v) = (1− λ)uv − λ(u + v − 1)2 = 0.
Za 0 ≤ λ ≤ 1 i u ≥ 0, v ≥ 0, u + v ≤ 1 tocke (u, v) nakrivulji ce se nalaziti unutar trokuta omedenog pravcimaL1, L2 i L3.Jednadžba tangente na C(u, v) u tocci Pc je
∂C∂u
(uc , vc)(u − uc) +∂C∂v
(uc , vc)(v − vc) = 0.
pri cemu su∂C∂u (uc , vc) =(1− λ)vc − 2λ(uc + vc − 1)
∂C∂v (uc , vc) =(1− λ)uc − 2λ(uc + vc − 1)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dakle, jednadžba tangente je[(1−λ)vc−2λ(uc +vc−1)](u−uc)+[(1−λ)uc−2λ(uc +vc−1)](v−vc) = 0.
Sada racunamo sjecište A1 tangente i pravca L1, takoda u jednadžbu tangente stavimo v = 0.
u1 = [(1−λ)vc−2λ(uc+vc−1)]uc+[(1−λ)uc−2λ(uc+vc−1)]vc(1−λ)vc−2λ(uc+vc−1)
=−2λ(uc + vc − 1)
(1− λ)vc − 2λ(uc + vc − 1)
iA1 =
(−2λ(uc + vc − 1)
(1− λ)vc − 2λ(uc + vc − 1),0).
Buduci da za (uc , vc) mora vrijediti uc ≥ 0, vc ≥ 0, iuc + vc ≤ 1 jer zadovoljavaju jednadžbu C(u, v) = 0,vrijedi
0 ≤ u1 ≤ 1,
pa A1 leži izmedu T i P1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Analogno, racunamo sjecište A2 tangente i pravca L2,tako da u jednadžbu tangente stavimo u = 0.Dobivamo
A2 =
(0,
−2λ(uc + vc − 1)
(1− λ)uc − 2λ(uc + vc − 1)
),
i vrijedi0 ≤ v2 ≤ 1,
pa A2 leži izmedu T i P2.Sada razmatramo r1 = ‖A1 − T‖/‖P1 − A1‖, i imamo
r1 =u1
1− u1
=−2λ(uc + vc − 1)
(1− λ)vc
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
a za r2 = ‖A2 − T‖/‖P2 − A2‖, i imamo
r2 =v2
1− v2
=−2λ(uc + vc − 1)
(1− λ)uc
Buduci da jeC(uc , vc) = (1− λ)ucvc − λ(uc + vc − 1)2 = 0, daljeprimijecujemo da je
r1r2 =4λ2(uc + vc − 1)2
(1− λ)2ucvc
=4λ
1− λ
Dokazali smo sljedeci teorem.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremAko su P1, T , P2, A1 i A2 definirani na prethodno opisaninacin, tada je produkt omjera
‖A1 − T‖‖P1 − A1‖
‖A2 − T‖‖P2 − A2‖
konstantan za cijelu koniku.
Sada cemo ici u obrnutom smjeru: neka su nam zadaniomjeri r1 i r2, trebamo odrediti tocke (uc , vc) na konici.Iz jednadžbi za r1 i r2 imamo
r1(1− λ)vc =− 2λ(uc + vc − 1)
r2(1− λ)uc =− 2λ(uc + vc − 1)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Sredivanjem, dobivamo sustav linearnih jednadžbi pouc i vc
2λ =2λuc + [r1(1− λ) + 2λ]vc
2λ =[r2(1− λ) + 2λ]uc + 2λvc
cija rješenja glase
uc =r1
r1 + r2 + 2, vc =
r2
r1 + r2 + 2
Ako se vratimo na x-y koordinatni sustav, tada sesvaka tocka Pc na konici γ može napisati kao
Pc =T + uc(P1 − T ) + vc(P2 − T )
=r1P1 + 2T + r2P2
r1 + r2 + 2
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Sada želimo napisati r1 i r2 kao razlicite parametarskefunkcije jedne varijable t , na intervalu 〈a,b〉:
r1 = f1(t), r2 = f2(t), za t ∈ 〈a,b〉.
O svojstvima funkcija f1 i f2 možemo zakljuciti sljedece:one preslikavaju 〈a,b〉 na 〈0,∞〉f1(t)f2(t) = 4λ
1−λ za svaki tone bi trebale biti bijekcijeznaci da bi trebale biti monitone funkcije: jedna raste adruga pada
Prema gornjim svojstvima zakljucujemo da su najboljikandidati funkcije oblika
f1(t) =w1(b − t)w(t − a)
, f2(t) =w2(t − a)
w(b − t)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Tada je
K = 4λ1−λ = f1(t)f2(t)
=w1(b − t)w(t − a)
w2(t − a)
w(b − t)
=w1w2
w2
Konacno možemo napisati jedadžbu za krivulju γ u ovojnotaciji kao
γ(t) =
w1(b−t)w(t−a) P1 + 2T + w2(t−a)
w(b−t) P2
w1(b−t)w(t−a) + w2(t−a)
w(b−t) + 2
=w1(b − t)2P1 + 2w(t − a)(b − t)T + w2(t − a)2P2
w1(b − t)2 + 2w(t − a)(b − t) + w2(t − a)2
Odavde vidimo da se svaka konika može napisati kaokvadratna racionalna parametarska funkcija.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Neka su dane tocke P1, T i P2, i neka je zadana konstantaK > 0. Želimo naci racionalni parametarski oblik γ(t) za lukkonike definiran na [0,1], gdje su
γ(0) = P1, γ(1) = P2
smjer od γ′(0) je jednak smjeru (T − P1)
smjer od γ′(1) je jednak smjeru (P2 − T )
K = 4λ1−λ
Uobicajeno rješenje za ovaj problem jew1 = w2 = 1w = (
√K )−1
odakle slijedi
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
γ(t) =(1− t)2P1 + 2(
√K )−1t(1− t)T + t2P2
(1− t)2 + 2(√
K )−1t(1− t) + t2
Ovaj oblik rješenja može biti numericki nestabilan zavrlo male i vrlo velike konstante K .Buduci da je λ ∈ 〈0,1〉 omjer w1w2/w2 mora bitipozitivan.Ako je w < 0 omjer se ne mijenja, ali γ(t) dajejednadžbu djela konike izvan trokuta 4P1TP2.Isto se dogada ako su w1 < 0 i w2 < 0.Može se pokazati da je krivulja za K > 1 jednaka elipsi,za K = 1 jednaka paraboli, a za K < 1 jednakahiperboli.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) Racionalni luk unutar trokuta; (b) Racionalni luk izvantrokuta.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Reprezentacija konika u homogenimkoordinatama
Ako definiramo
θ1(t) = (b−t)2, θ(t) = 2(t−a)(b−t), θ2(t) = (t−a)2
tada racionalni parametarski oblik konike možemonapisati kao
γ(t) =w1P1θ1(t) + wTθ(t) + w2P2θ2(t)
w1θ1(t) + wθ(t) + w2θ2(t)
što u homogenim koordinatama ima oblik
γ(t) = (w1P1,w1)θ1(t) + (wT ,w)θ(t) + (w2P2,w2)θ2(t)
Buduci da je za K > 0, K = w1w2/w2 funkcije
γ1(t) =(P1, 1)θ1(t) +((√
K )−1T , (√
K )−1)θ(t) + (P2, 1)θ2(t)
γ2(t) =(KP1,K )θ1(t) + (T , 1)θ(t) + (P2, 1)θ2(t)
γ3(t) =(2P1, 2)θ1(t) + (2T , 2)θ(t) + (2KP2, 2K )θ2(t)
predstavljaju istu krivulju.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Za dobivanje konstruktivnog algoritma za racunanjetocaka na konikama potrebne su nam homogenekoordinate.Pretpostavimo da nam je zadana uredena trojka tocaka{P0, P1, P2}, i odgovarajucih koeficijentata {w0, w1, w2}.Tada je luk konike γ(t), koji je definiran na [a,b] pricemu su
γ(a) = P0, γ(b) = P2smjer od γ′(a) je jednak smjeru (P1 − P0)smjer od γ′(b) je jednak smjeru (P2 − P1)K = 4λ
1−λ
zadan kao γ(t) = B(t)/N(t), gdje su
B(t) =(b − t)2w0P0 + 2(t − a)(b − t)w1P1 + (t − a)2w2P2
N(t) =(b − t)2w0 + 2(t − a)(b − t)w1 + (t − a)2w2
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definiramo nove velicine kao
Qi = wiPi .
Tada je
B(t) =(b − t)[(b − t)Q0 + (t − a)Q1]+
+ (t − a)[(b − t)Q1 + (t − a)Q2]
=(b − t)Q[1]1 (t) + (t − a)Q[1]
2 (t)
gdje su
Q[1]1 (t) =(b − t)Q0 + (t − a)Q1
Q[1]2 (t) =(b − t)Q1 + (t − a)Q2
i
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
N(t) =(b − t)[(b − t)w0 + (t − a)w1]+
+ (t − a)[(b − t)w1 + (t − a)w2]
=(b − t)w [1]1 (t) + (t − a)w [1]
2 (t)
gdje su
w [1]1 (t) =(b − t)w0 + (t − a)w1
w [1]2 (t) =(b − t)w1 + (t − a)w2
Prethodne dvije jednadžbe mogu se sabiti u jednupomocu homgenih koordinata
Hi = (Qi ,wi), i = 0,1,2.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Tada je za i = 1,2
H [1]i (t) =(b − t)Hi−1 + (t − a)Hi
=((b − t)Qi−1, (b − t)wi−1) + ((t − a)Qi , (t − a)wi)
=(
Q[1]i (t),w [1]
i (t))
i
(B(t),N(t)) =(
(b − t)Q[1]i (t), (b − t)w [1]
i (t))
+
+(
(t − a)Q[1]2 (t), (t − a)w [1]
2 (t))
=(b − t)H [1]1 (t) + (t − a)H [1]
2 (t)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (Algoritam za izvrednjavanje tocaka na lukukonike)
Neka je zadano sljedecetocke { P0, P1, P2},odgovarajuce težine { w0, w1, w2},takve da je w0w2/w2
1 = K ,tada se
konika kroz tocku P0 s tangentom P1 − P0, ikroz tocku P2 s tangentom P2 − P1
takva da je K = 4λ/(1− λ)
može izvredniti za t ∈ [a,b] na sljedeci nacin:
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (nastavak)1 Hi = (wiPi ,wi), za i = 0,1,2.2 H [1]
i (t) = (b − t)Hi−1 + (t − a)Hi , za i = 1,2.
3 (B(t),N(t)) = (b − t)H [1]1 (t) + (t − a)H [1]
2 (t).4 γ(t) = B(t)/N(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Po dijelovima konike
Proširit cemo formulaciju konika kao racionalnihfunkcija na po dijelovima konike.Pretpostavimo
da krivulja treba interpolirati tocke Pi , za i = 0,1, . . . ,m,da su sjecišta tangenata u Pi−1 i u Pi dana sa Ti , zai = 1, . . . ,m,da su zadane konstante Ki , za i = 1, . . . ,m.
Tada krivulju koja je po dijelovima konika možemodefinirati sa:
γ1(t) =(1− t)2P0 + 2(
√K1)−1t(1− t)T1 + t2P1
(1− t)2 + 2(√
K1)−1t(1− t) + t2za t ∈ [0, 1]
γ2(t) =(2− t)2P1 + 2(
√K2)−1(t − 1)(2− t)T2 + (t − 1)2P2
(2− t)2 + 2(√
K2)−1(t − 1)(2− t) + (t − 1)2za t ∈ [1, 2]
.
.
.
γm(t) =(m − t)2Pm−1 + 2(
√Km)−1(t − m + 1)(m − t)Tm + (t − m + 1)2Pm
(m − t)2 + 2(√
Km)−1(t − m + 1)(m − t) + (t − m + 1)2za t ∈ [m − 1,m]
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ako su Ti , Pi i Ti+1 kolinearni, tada se na spoju dvajukonika tangente poklapaju i na dva susjedna segmentaimamo neprekidnu derivaciju.Opcenito po dijelovima konika može imati skok uderivaciji na spoju segmenata.Za parametarski oblik jednadžbe konike potrebno je dasu Pi−1, Ti i Pi komplanarni, što je automatskiispunjeno.Medutim po dijelovima konika ne mora biti ravninskakrivulja — svaki segment može biti u drugoj ravnini.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Bézierove krivulje
Konike su bile odredene pomocu tri tocke P0, P1 i P2,odnosno poligonom koje te tri tocke definiraju (trokut).Razmotrimo prvo korisna svojstva geometrijskogpristupa konikama:
1 krivulja interpolira prvu i zadnju tocku2 krivulja je tangentna na dvije strane poligona3 racionalni parametarski oblik jednadžbe konike koristi te
tri tocke kao koeficijente — lako za racunati
Prisjetit cemo se sada kako izgleda algoritam zaizvrednjavanje tocaka na luku konike u racionalnomparametarskom obliku kada je K = 1 (parabola).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Za slucaj kada je K = 1, uzet cemo da je t ∈ [0,1] iω0 = ω1 = ω2 = 1.Tada su
r1 =1− t
t, r2 =
t1− t
.
Racionalni parametarski oblik jednadžbe konike tadaglasi
γ(t) =(1− t)2P0 + 2t(1− t)P1 + t2P2
(1− t)2 + 2t(1− t) + t2
=(1− t)2P0 + 2t(1− t)P1 + t2P2
=(1− t)[(1− t)P0 + tP1] + t [(1− t)P1 + tP2]
Sada više nisu potrebne homogene koordinate zadobivanje jednostavnog algoritma.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (Algoritam za izvrednjavanje tocaka na lukuparabole)Neka su zadane
tocke { P0, P1, P2},tada se
parabola kroz tocku P0 s tangentom P1 − P0, ikroz tocku P2 s tangentom P2 − P1
može izvredniti za t ∈ [0,1] na sljedeci nacin:1 P [1]
i (t) = (1− t)Pi−1 + tPi , za i = 1,2.
2 γ(t) = (1− t)P [1]1 (t) + tP [1]
2 (t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ovaj algoritam želimo poopciti na krivulje koje suodredene pomocu n + 1 tocaka za proizvoljni n.Razmotrit cemo koja se od gornja tri svojstvageometrijskog pristupa konikama mogu zadržati i kodkrivulja dobivenih poopcenim algoritmom.Koja se još ostala svojstva oblika takvih krivulja moguodrediti.To nas vodi do formulacije Bézierove krivulje.Najprije cemo definirati konstruktivni algoritam za takvekrivulje, a zatim cemo provjeriti njihova svojstva.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Zadan je skup od n + 1 tocaka u R3 {Pi}ni=0 kojiodreduje krivulju.Bez smanjenja opcenitosti definirat cemo parametarskioblik jednadžbe krivulje na segmentu [0,1].Po dijelovima linearna krivulja dobivena ljepljenjemsegmenata pravaca izmedju tocaka Pi i Pi+1 zai = 0,1, . . . ,n − 1 zove se kontrolni poligon krivulje.Sada možemo poopciti konstruktivni algoritam nakontrolne poligone sa proizvoljnim brojem vrhova.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (Poopceni konstruktivni algoritam)Neka su zadane
tocke {Pi}ni=0,tada se krivulja γ(t) može izvredniti za t ∈ [0,1] na sljedecinacin:
1 P [0]i (t) = Pi za i = 0, . . . ,n.
2 Za j = 1, . . .n rekurzivno definiramo
P [j]i (t) = (1− t)P [j−1]
i−1 (t) + tP [j−1]i (t), za i = j , . . . ,n.
3 γ(t) = P [n]n (t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Originalne tocke {Pi}ni=0 cine kontrolni poligon na 0-tojrazini.Za proizvoljni t i za svaku razinu j = 1, . . .n algoritamdefinira novi kontrolni poligon sa jednim vrhom manje uodnosu na prethodnu razinu.Kontrolni poligon na n-toj razini se sastoji od samojedne tocke, i to je upravo tocka γ(t) na krivulji.Tocka na krivulji se jednostavno izracuna kao linearnakombinacija vrhova poligona koji imaju u svakomkoraku jednu stranicu manje.Slijedi primjer za n = 4, i za dvije razlicite vrijednosti t .Trebamo primijetiti da se nizovi kontrolnih poligonarazlikuju za razlicite t-ovi na svim razinama osim 0-te.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Originalni kontrolni poligon na razini j = 0 (#vrhova= 5),krivulja, i tocka na krivulji za (a) t = 0.25; (b) t = 0.625.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Kontrolni poligon na razini j = 1 (#vrhova= 4) za(a) t = 0.25; (b) t = 0.625.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Kontrolni poligon na razini j = 2 (#vrhova= 3) za(a) t = 0.25; (b) t = 0.625.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Kontrolni poligon na razini j = 3 (#vrhova= 2) za(a) t = 0.25; (b) t = 0.625.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Kontrolni poligon na razini j = 4 (#vrhova= 1) za(a) t = 0.25; (b) t = 0.625.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Svojstva krivulje γ(t):Za svaki t , na svakoj razini kontrolne tocke (vrhovipoligona) su konveksne kombinacije vrhova kontrolnihtocaka iz prethodne razine; zbog toga je izracunatatocka na krivulji konveksna kombinacija originalnihkontrolnih tocaka.Za t = 0 i t = 1 algoritam se svodi na γ(0) = P0 iγ(1) = Pn, tako da krivulja γ interpolira prvu i zadnjutocku.Krivulja “izgleda” da je tangentna na stranicu poligonaP1 − P0 za t = 0, i na stranicu Pn − Pn−1 za t = 1 —moramo dokazati!Krivulja ima svojstvo smanjene varijacije (variationdeminishing property), što znaci da krivulja ne variraviše nego njen originalni kontrolni poligon — iskazatiteorem!
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Izgleda da krivulja u glavnom prati oblik originalnogkontrolnog poligona.Ponašanje krivulje se lako kontrolira: ako se pomaknetocka Pk modificirana krivulja se lako izracuna.
Razmotrit cemo još i derivaciju krivulje.Za j = 1, . . . ,n − 1 i i = j , . . . ,n imamo
ddt
P [j]i (t) =
ddt
((1− t)P [j−1]
i−1 (t) + tP [j−1]i (t)
)=P [j−1]
i (t)− P [j−1]i−1 (t) + (1− t)
ddt
P [j−1]i−1 (t)+
+ tddt
P [j−1]i (t)
pa se i derivacija može rekurzivno izracunati.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
LemaDerivacija krivulje γ konstruirane poopcenim konstruktivnimalgoritmom je dana sa
γ′(t) = n(
P [n−1]n (t)− P [n−1]
n−1 (t)).
Dokaz.Koristit cemo matematicku indukciju kako bismodokazali da je
ddt
P [j]i (t) = j
(P [j−1]
i (t)− P [j−1]i−1 (t)
), i = j , . . . ,n.
Buduci da je P [0]i (t) = Pi , vrijedi
ddt
P [0]i (t) = 0
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
ddt
P [1]i (t) = Pi − Pi−1
cime je dokazana baza indukcije.Pretpostavimo da je tvrdnja leme istinita za
ddt
P [j−1]i (t) = (j − 1)
(P [j−2]
i (t)− P [j−2]i−1 (t)
), i=j−1,...,n
Tada imamo
ddt
P [j]i (t) =P [j−1]
i (t)− P [j−1]i−1 (t)+
+ (1− t)(j − 1)(
P [j−2]i−1 (t)− P [j−2]
i−2 (t))
+ t(j − 1)(
P [j−2]i (t)− P [j−2]
i−1 (t))
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
ddt
P [j]i (t) =P [j−1]
i (t)− P [j−1]i−1 (t)+
+ (j − 1)(
P [j−1]i (t)− P [j−1]
i−1 (t))
=j(
P [j−1]i (t)− P [j−1]
i−1 (t))
Tvrdnja je dokazana ako uzmemo j = n.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Svojstva Bézierovih krivulja
Želimo krivulju konstruiranu poopcenim konstruktivnimalgoritmom napisati u obliku
γ(t) =n∑
i=0
Piθi,n(t),
pri cemu funkcije miješanja (blending functions) θi,n(t)ne ovise o tockama Pi .Prvo cemo razmotriti graf (stablo) izvrednjavanja tockena krivulji.Sve originalne tocke kontrolnog poligona su prikazanekao listovi na dnu stabla.Strelice pokazuju koje se tocke iz prethodne razinekoriste za racunanje tekuce tocke, zajedno sa svojimmultiplikatorima.Proces se nastavlja dok ne dodemo do korijena kojipredstavlja tocku na krivulji.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Stablo konstruktivnog izvrednjavanja krivulje.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Iz grafa možemo zakljuciti sljedece:Potraga za funkcijama θi,n(t) je ekvivalentna potrazi zasvim mogucim putevima od Pi do korijena, i množenjuodgovarajucih multiplikatora.Od P0 do korijena vodi samo jedan put P [i−1]
i−1 → P [i]i ,
i = 1, . . . ,n gdje svaki korak ima multiplikator (1− t),zato
uz P0 stoji samo jedan izraz: (1− t)n.Razmotrimo jedan put od P1 do korijena zak ∈ {1,2, . . . ,n}:
P [i−1]i → P [i]
i+1, i = 1, . . . , k s multiplikatorima (1− t) usvakom korakuP [k ]
k+1 → P [k+1]k+1 s multiplikatorom t
P [i−1]i−1 → P [i]
i , i = k + 2, . . . ,n s multiplikatorima (1− t) usvakom koraku
Taj put daje doprinos od (1− t)n−1t u θ1,n(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Postoji n razlicitih puteva (n mjesta na kojem put možeskrenuti u lijevo: P [k ]
k+1 → P [k+1]k+1 ).
Zato kad iskombiniramo sve moguce puteve od P1
uz P1 stoji izraz: n(1− t)n−1t .Konstruktivni postupak možemo nastaviti dalje za Pi ,i = 2, . . . ,n.Za i = 0, . . . ,n, definirat cemo sada
θi,n(t) =
(ni
)(1− t)n−i t i , gdje je
(ni
)=
n!
i!(n − i)!,
a zatim cemo pokazati da su to zaista funkcijemiješanja koje definiraju konstruiranu krivulju.Prije toga cemo pokazati neka svojstva funkcijamiješanja.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Teorem
θk ,n(t) =
1, za n = 0(1− t)θ0,n−1(t), za k = 0, n > 0tθk−1,n−1(t) + (1− t)θk ,n−1(t), za 0 < k < ntθn−1,n−1(t), za k = n > 0
Dokaz.n = 0Jer je 0! = 1, i buduci da može biti samo k = 0, imamo
θ0,0(t) =
(00
)(1− t)0t0 = 1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).k = 0, n > 0Buduci da je
(n0
)= 1, imamo
θ0,n(t) =
(n0
)(1− t)n−0t0 = (1− t)n = (1− t) · (1− t)n−1
=(1− t)θ0,n−1.
0 < k < nIz definicije
(nk
)imamo(
nk
)=
nk
(n − 1)!
(k − 1)! ((n − 1)− (k − 1))!
=n
n − k(n − 1)!
k ! ((n − 1)− k)!
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).Odavde za dalje slijedi
θk ,n(t) =
(nk
)tk (1− t)n−k
=nk
(n − 1)!
(k − 1)! ((n − 1)− (k − 1))!tk (1− t)n−k
=nk
t(n − 1)!
(k − 1)! ((n − 1)− (k − 1))!tk−1(1− t)(n−1)−(k−1)
=nk
tθk−1,n−1(t)
odakle jeknθk ,n(t) = tθk−1,n−1(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
Slicno
θk ,n(t) =
(nk
)tk (1− t)n−k
=n
n − k(n − 1)!
k ! ((n − 1)!− k)!tk (1− t)n−k
=n
n − k(1− t)
(n − 1)!
k ! ((n − 1)!− k)!tk (1− t)((n−1)−k)
=n
n − k(1− t)θk ,n−1(t)
odakle je
n − kn
θk ,n(t) = (1− t)θk ,n−1(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).Kada zbrojimo dva zadnja rezultata dobijemo
θk ,n =knθk ,n(t) +
n − kn
θk ,n(t)
=tθk−1,n−1(t) + (1− t)θk ,n−1(t).
k = n > 0Buduci da je
(nn
)= 1, imamo
θn,n(t) =
(nn
)(1− t)n−ntn = tn = t · tn−1
=tθn−1,n−1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremAko je sa {Pi}ni=0 zadan kontrolni polinom, tada je
γ(t) =n∑
i=0
Pi
(ni
)(1− t)n−i t i ,
gdje γ(t) oznacava tocku na krivulji koja je konstruiranapoopcenim konstruktivnim algoritmom za parametarskuvrijednost t.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz.Desnu stranu jednadžbe u teoremu oznacimo sa α(t):
α(t) =n∑
i=0
Piθi,n(t).
Koristeci prethodni teorem dobivamo
α(t) =P0θ0,n(t) +n−1∑i=1
Piθi,n(t) + Pnθn,n(t)
=P0(1− t)θ0,n−1(t)+
+n−1∑i=1
Pi(tθi−1,n−1(t) + (1− t)θi,n−1(t))+
+ Pntθn−1,n−1(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
Sada cemo grupirati izraze sa t i sa (1− t), i iskoristitikonstruktivni algoritam:
α(t) =(1− t)n−1∑i=0
Piθi,n−1(t) + tn∑
i=1
Piθi−1,n−1(t)
=(1− t)n−1∑i=0
Piθi,n−1(t) + tn−1∑i=0
Pi+1θi,n−1(t)
=n−1∑i=0
[(1− t)Pi + tPi+1]θi,n−1(t)
=n−1∑i=0
P [1]i+1θi,n−1(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).Ponavljanjem istog procesa dobivamo
α(t) =
n−j∑i=0
P [j]i+jθi,n−j(t).
Nakon n primjena gornjeg procesa, rezultat je
α(t) = P [n]n θ0,0(t) = P [n]
n = γ(t).
Dobili smo traženi oblik jednadžbe krivulje.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija
Krivulja konstruirana poopcenim konstruktivnimalgoritmom, ciji je parametarski oblik jedadžbe oblika
γ(t) =n∑
i=0
Pi
(ni
)(1− t)n−i t i ,
zove se Bézierova krivulja.Poopceni konstruktivni algoritam zove se Bézierovkonstruktivni algoritam ili de Casteljauov algoritam.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
DefinicijaFunkcije
θi,n(t) =
(ni
)(1− t)n−i t i ,
za i = 0, . . . ,n, i za nenegativni cijeli broj n zovu seBernsteinove bazne funkcije ili Bernsteinove funkcijemiješanja.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija
Za t ∈ [a,b], funkcije
θi,n(a,b; t) =θi,n
(t − ab − a
)=
(ni
)(b − t)n−i(t − a)i
(b − a)n ,
za i = 0, . . . ,n, i za nenegativni cijeli broj n zovu seBernsteinove generalizirane bazne funkcije ili Bernsteinovegeneralizirane funkcije miješanja.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Vidimo da se Bernsteinove generalizirane baznefunkcije mogu dobiti iz Bernsteinovih baznih funkcijaafinom transformacijom segmenta [a,b] u segment[0,1].Lako se vidi da je
θ′i,n(a,b; t) =1
b − aθ′i,n
(t − ab − a
).
Preostaje nam još pokazati da Bernsteinove funkcijemiješanja zaista tvore bazu prostora polinoma stupnjan.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Svojstva Bernsteinovih funkcija miješanja
Teoremθi,n(t) > 0 za t ∈ 〈0,1〉, za sve n ≥ 0 i i = 0, . . . ,n.
Dokaz.Za t ∈ 〈0,1〉, je t > 0 i (1− t) > 0.θi,n(t) je produkt n pozitivnih faktora, pa mora bitipozitivan.
Teorem∑ni=0 θi,n(t) ≡ 1 za t ∈ [0,1].
Dokaz.Tvrdnja slijedi iz binomnog teorema:
n∑i=0
θi,n(t) =n∑
i=0
(ni
)(1− t)n−i t i = ((1− t) + t)n = 1n = 1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremBernsteinove funkcije miješanja su unimodalne.θi,n(t) poprima svoj maksimum u t = i/n.
Dokaz.Buduci da je θi,n(t) polinom za sve i i n, ima neprekidnuderivaciju.θ0,n = (1− t)n je padajuca funkcija na [0,1], papoprima maksimum u t = 0.θn,n = tn je rastuca funkcija na [0,1], pa poprimamaksimum u t = 1.Za i = 1, . . . ,n − 1, θi,n(t) ima neprekidnu derivaciju pamože poprimati svoj ekstrem u t = 0, t = 1 i u nultockiod θ′i,n(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
Tražimo nultocke od θ′i,n(t) na 〈0,1〉:
θ′i,n(t) =
(ni
)[it i−1(1− t)n−i − (n − i)t i(1− t)n−i−1]
=
(ni
)t i−1(1− t)n−i−1[i(1− t)− (n − i)t ]
=
(ni
)t i−1(1− t)n−i−1[i − nt ].
Rješavanjem θ′i,n(t) = 0 dobivamo
te = 0 ili te = 1 ili te =in.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
Buduci da je θi,n(0) = θi,n(1) = 0 za i = 1, . . . ,n − 1, iθi,n(t) > 0 za t ∈ 〈0,1〉, tada postoji samo jedanmaksimum i to u te = i/n.
Primjer
Pogledat cemo vrijednosti kubicnih Bernsteinovih funkcijamiješanja u razlictim tockama maksimuma.
Za t = 0: θ0,3(0) = 1 i θi,3(0) = 0 i = 1,2,3.Za t = 1: θ3,3(1) = 1 i θi,3(1) = 0 i = 0,1,2.Za t = 1/3:
θ0,3(1/3) =8/27θ1,3(1/3) =4/9
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
θ2,3(1/3) =2/9θ3,3(1/3) =1/27
Za t = 2/3:
θ0,3(2/3) =1/27θ1,3(2/3) =2/9θ2,3(2/3) =4/9θ3,3(2/3) =8/27
P1 imat ce najveci utjecaj na γ(t) za t = 1/3.P2 imat ce najveci utjecaj na γ(t) za t = 2/3.U oba slucaja ostale tocke kontrolnog polinomapridonose 5/9 težine uz P1 odnosno P2.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremBernsteinove funkcije miješanja stupnja n cine bazu zapolinome stupnja n (Pn).
Dokaz.Pretpostavimo da su {θi,n(t)}ni=0 linearno zavisni. Tada
0 ≡n∑
i=0
ciθi,n(t)
≡n∑
i=0
cin!
i!(n − i)!t i(1− t)n−i
≡n∑
i=0
cin!
i!(n − i)!t i
n−i∑j=0
(n − i)!
j!(n − i − j)!(−t)n−i−j
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
0 ≡n∑
i=0
cin!
i!(n − i)!
n−i∑j=0
(−1)n−i−j (n − i)!
j!(n − i − j)!tn−j
≡n∑
j=0
tn−jn−j∑i=0
(−1)n−i−j n!
i!(n − i)!
(n − i)!
j!(n − i − j)!ci
≡n∑
j=0
tn−jn−j∑i=0
aijci
gdje su aij netrivijalni koeficijenti koji ovise o i i j .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
Buduci da je gornji polinom identicki jednak 0, svakikoeficijent uz svaku potenciju od t mora biti jednak 0:
0 =
n−j∑i=0
aijci , za j = n,n − 1, . . . ,0.
Za j = n, u sumi se nalazi samo jedan izraz a0,nc0,odakle mora biti c0 = 0.Za j = n − 1, u sumi se nalaze dva izrazaa0,n−1c0 + a1,n−1c1. Kako je c0 = mora biti i c1 = 0.Nastavljamo tako i dalje, koristeci povratne supstitucijeza proizvoljni j mora biti cn−j = 0.Za j = 0 mora biti cn = 0.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
Dakle, postoji samo jedan nacin da napišemo 0 kaolinearnu kombinaciju Bernstenovih funkcija miješanja, ito sa koeficijentima jednakim 0.Slijedi, Bernsteinove funkcije miješanja su linearnozavisne.Buduci da ima n + 1 linearno nezavisnih Bernstenovihfunkcija miješanja, one cine bazu za Pn.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Geometrijska svojstva Bézierovih krivulja
KorolarBézierova krivulja leži u konveksnoj ljusci tocaka {Pi}ni=0.
Dokaz.Tvrdnja slijedi iz prethodnih teorema:
γ(t) =∑n
i=0 Piθi,n(t).θi,n(t) > 0 za t ∈ 〈0,1〉, za sve n ≥ 0 i i = 0, . . . ,n.∑n
i=0 θi,n(t) ≡ 1 za t ∈ [0,1].
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremAko promatramo Bézierovu krivulju kao aproksimacijunjenog kontrolnog poligona, tada ona ima svojstvosmanjene varijacije.To znaci da proizvoljni pravac sijece Bézierovu krivuljuna manje ili jednako mjesta kao i njegov kontrolnipoligon.
Napomena
Iz prethodnih teorema možemo zakljuciti da Bézierovakrivulja ima sljedeca geometrijska svojstva:
Bézierova krivulja nema više zavoja od kontrolnogpoligona, a zavoji koji postoje na krivulji pojavljuju se ublizini zavoja kontrolnog poligona.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Napomena (nastavak)Svojstvo da se Bézierova krivulja nalazi unutarkonveksne ljuske kontrolnih tocaka može se koristitikod obrezivanja:
jednostavno se provijeri položaj ljuske u odnosu napravokutnik za obrezivanje,ako je ona u potpunosti unutar ili izvan pravokutnika zaobrezivanje, tada to isto vrijedi i za krivulju,tek ako ona sijece pravokutnik za obrezivanje, tadatreba tražiti sjecište krivulje i pravokutnika.
Gornja dva svojstva daju nam dobar osjecaj o izgledukrivulje na temelju njenog kontrolnog poligona.Buduci da je više od jedne Bernsteinove bazne funkcijenetrivijalno na 〈0,1〉, kontrolne tocke se ne moguinterpolirati osim P0 i Pn.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Napomena (nastavak)Za interpolaciju je potrebno da je samo jedankoeficijent uz Pi jednak 1, a svi ostali su 0. U tomslucaju krivulja interpolira tocku Pi .Kod Bézierovih krivulja najveci koeficijent može biti imanji od 0.5 (vidi primjer).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Izvrednjavanje derivacija
Razmatramo derivacije Bézierove krivulje svih redova, iželimo ih prikazati kao nove Bézierove krivulje.
Za θi,n(t) =(n
i
)t i(1− t)n−i imali smo
θ′i,n(t) =
(ni
)[it i−1(1− t)n−i − (n − i)t i(1− t)n−i−1].
Dalje,(ni
)i =
n!ii!(n − i)!
= n(n − 1)!
(i − 1)!(n − i)!= n
(n − 1i − 1
),
i(ni
)(n − i) =
n!(n − i)i!(n − i)!
= n(n − 1)!
i!(n − 1− i)!= n
(n − 1
i
).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Odavde slijedi
θ′i,n(t) =n(
n − 1i − 1
)t i−1(1− t)n−i − n
(n − 1
i
)t i(1− t)n−i−1
=n[θi−1,n−1(t)− θi,n−1(t)].
Za i = 0 je
θ′0,n(t) = (−1)n(1− t)n−1 = −nθ0,n−1(t).
Za i = n je
θ′n,n(t) = ntn−1 = nθn−1,n−1(t).
Ovime smo dokazali sljedeci teorem.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremZa i-tu Bernsteinovu funkciju miješanja n-tog stupnja θi,n(t)vrijedi
θ′i,n(t) = n[θi−1,n−1(t)− θi,n−1(t)], i = 0, . . . ,n,
gdje je θ−1,n−1(t) ≡ 0 i θn,n−1(t) ≡ 0.
Korolar
Za γ(t) =∑n
i=0 Piθi,n(t) vrijedi
γ′(t) =n−1∑i=0
Qiθi,n−1(t),
gdje su Qi = n(Pi+1 − Pi).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz.Imamo
γ′(t) =n∑
i=0
Piθ′i,n(t)
=n∑
i=0
Pin(θi−1,n−1(t)− θi,n−1(t))
=n−1∑i=0
n(Pi+1 − Pi)θi,n−1(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Korolar
Za γ(t) =∑n
i=0 Piθi,n(t) vrijedi
γ(j)(t) =
n−j∑i=0
Qj,iθi,n−j(t),
gdje su
Qj+1,i =
{Pi , j = −1(n − j)(Qj,i+1 −Qj,i), j = 0, . . . ,n − 1
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Možemo pokazati ekvivalentnost gornjeg korolara za γ′(t) ileme s pocetka ovog odjeljka. Zbog Bézierovogkonstruktivnog algoritma vrijedi:
γ′(t) =n−1∑i=0
n(Pi+1 − Pi)θi,n−1(t)
=n
(n−1∑i=0
Pi+1θi,n−1(t)−n−1∑i=0
Piθi,n−1(t)
)=n(
P [n−1]n (t)− P [n−1]
n−1 (t)).
Ovime možemo napisati algoritam koji istovremenoizvrednjuje krivulju i njenu derivaciju.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (Bézierov konstruktivni algoritam)Neka su zadane
tocke {Pi}ni=0,tada se krivulja γ(t) i njena derivacija γ′(t) mogu izvrednitiza t ∈ [0,1] na sljedeci nacin:
1 P [0]i (t) = Pi za i = 0, . . . ,n.
2 Za j = 1, . . .n rekurzivno definiramo
P [j]i (t) = (1− t)P [j−1]
i−1 (t) + tP [j−1]i (t), za i = j , . . . ,n.
3 γ(t) = P [n]n (t),
4 γ′(t) = n(
P [n−1]n (t)− P [n−1]
n−1 (t))
.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dijeljenje Bézierove krivulje
Ponekad se dogada da je jedan dio krivulje upravoonakav kakav treba biti, dok se drugi dio trebapromijeniti.Buduci da je Bézierova krivulja globalna, pomicanjembilo koje kontrolne tocke promijenit ce se citava krivulja.Riješenje ovog problema je podijela krivulje na višedijelova koji su ponovo Bézierove krivulje.Dijeljenje krivulje prikazat cemo za slucaj podijelekubicne Bézierove krivulje na dva dijela s intervalima[0,1/2] i [1/2,1].Neka je γ(t) =
∑3i=0 Piθi,3(t) Bézierova krivulja, i neka
je
α(t) =3∑
i=0
Qiθi,3(2t)
Bézierova reprezentacija iste krivulje za t ∈ [0,1/2].
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Želimo koeficijente Qi napisati kao izraze od Pi :1 Raspišemo svaki θi,3(t) i θi,3(2t) za i = 0,1,2,3.2 Uvrstimo ih u jednakost γ(t) = α(t) za t ∈ [0,1/2].3 Izjednacimo koeficijente uz 1, t , t2 i t3, cime dobivamo
P0 =Q0 uz 1−3P0 + 3P1 =− 6Q0 + 6Q1 uz t
3P0 − 6P1 + 3P2 =12Q0 − 24Q1 + 12Q2 uz t2
−P0 + 3P1 − 3P2 + P3 =− 8Q0 + 24Q1 − 24Q2 + 8Q3 uz t3
4 Supstitucijama unaprijed za t = 1/2 dobivamo
Q0 =P0
Q1 =12
(P0 + P1) = P [1]1 (1/2)
Q2 =14
(P0 + 2P1 + P2) = P [2]2 (1/2)
Q3 =18
(P0 + 3P1 + 3P2 + P3) = P [3]3 (1/2)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primijetimo da je prva kontrolna tocka krivulje α(t)jednaka prvoj kontrolnoj tocki od γ(t), dok je zadnjakontrolna tocka krivulje α(t) jednakaP [3]
3 (1/2) = γ(1/2).Isti postupak napravit cemo i za drugi dio krivulje: nekaje
β(t) =3∑
i=0
Riθi,3(2t − 1)
Bézierova reprezentacija iste krivulje za t ∈ [1/2,1].U jednkosti γ(t) = β(t) za t ∈ [1/2,2], izjednacavanjemkoeficijenata uz 1, t , t2 i t3 dobivamo sljedece.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
P0 =8R0 − 12R1 + 6R2 − R3 uz 1−3P0 + 3P1 =− 24R0 + 48R1 − 30R2 + 6R3 uz t
3P0 − 6P1 + 3P2 =24R0 − 60R1 + 48R2 − 12R3 uz t2
−P0 + 3P1 − 3P2 + P3 =− 8R0 + 24R1 − 24R2 + 8R3 uz t3
Riješavanjem ovog sustava za t = 1/2 dobivamo
R0 =18
(P0 + 3P1 + 3P2 + P3) = P [3]3 (1/2)
R1 =14
(P1 + 2P2 + P3) = P [2]3 (1/2)
R2 =12
(P2 + P3) = P [1]3 (1/2)
R3 =P3
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Opet možemo primijetiti da je prva kontrolna tockakrivulje β(t) jednaka P [3]
3 (1/2) = γ(1/2), dok je zadnjakontrolna tocka krivulje β(t) jednaka zadnjoj kontrolnojtocki od γ(t).
0 0.5 1 1.5 2 2.5 30
0.5
1
1.5
2
2.5
3
x
y
Slika: Kubicna Bézierova krivulja γ(t) sa originalnim kontrolnimpoligonom, i poligonima dijelova krivulje α(t) i β(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Kubicne Bézierove krivulje se najcešce koriste, zatosmo ih uzeli za primjer podjele krivulje.Možemo primijetiti da su kontrolne tocke Qi i Ri ,i = 0,1,2,3 konveksne kombinacije originalnihkontrolnih tocaka Pi .Zbog toga se nove kontrolne tocke nalaze unutarkonveksne ljuske originalnih kontrolnih tocaka, i zbogtoga su bliže krivulji γ(t) od originalnih tocaka.Ovo je isto manifestacija svojstva smanjene varijacije.Podijela kubicne Bézierove krivulje može sejednostavno napisati i u matricnom obliku
Q0
Q1
Q2
Q3
=18
8 0 0 04 4 0 02 4 2 01 3 3 1
P0
P1
P2
P3
,
R0
R1
R2
R3
=18
1 3 3 10 2 4 20 0 4 40 0 0 8
P0
P1
P2
P3
.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Racunanje novih kontrolnih poligona je vrlo jeftino.Za dobivanje Qi i Ri moramo izracunati sljedece:
P [1]1 (1/2) =
P0 + P1
2, P [1]
2 (1/2) =P1 + P2
2, P [1]
3 (1/2) =P2 + P3
2,
P [2]2 (1/2) =
P [1]1 (1/2) + P [1]
2 (1/2)2
, P [2]3 (1/2) =
P [1]2 (1/2) + P [1]
3 (1/2)2
,
P [3]3 (1/2) =
P [2]2 (1/2) + P [2]
3 (1/2)2
.
To je ukupno 6 zbrajanja i 6 dijeljenja sa 2.Zato osim inkrementalnog algoritma crtanje kubicneBézierove krivulje možemo bazirati na njenojuzastopnoj podijeli.Algoritam se zaustavlja kada se segment krivulje možesmatrati dovoljno ravnim da bi se aproksimirao ravnomlinijom.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Provjera kriterija zaustavljanja je za kubicnu Bézierovukrivulju takodjer vrlo jednostavna, zbog cinjenice da ležiunutar konveksne ljuske kontrolnih tocaka.
Ukoliko je max{d2,d3} manja od neke tolerancije ε,tada se krivulja aproksimira ravnom linijom izmedu prvei zadnje kontrolne tocke.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (Algoritam za crtanje Bézierove krivulje pomocuuzastopne podijele)
void CrtajBezierKriv(krivulja, ε){
if (Ravna(krivulja, ε))NacrtajLiniju(krivulja);
else{PodijeliKrivulju(krivulja, lijevaKrivulja,desnaKrivulja);CrtajBezierKriv(lijevaKrivulja, ε);CrtajBezierKriv(desnaKrivulja, ε);
}}
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Podijelu Bézierove krivulje, sa tockom podijele ut = 1/2, može se analogno napraviti za bilo koji drugi n:
α(t) =∑n
i=0 Qiθi,n(2t), i γ(t) = α(t) za t ∈ [0,1/2], pricemu su
Q0 =P0
Q1 =P [1]1 (1/2)
...
Qn =P [n]n (1/2)
β(t) =∑n
i=0 Riθi,n(2t − 1), i γ(t) = β(t) za t ∈ [1/2,1],pri cemu su
R0 =P [n]n (1/2)
R1 =P [n−1]n (1/2)
...Rn =Pn
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Može se definirati podijela Bézierove krivulje s tockompodijele za bilo koji t unutar domene krivulje.
DefinicijaSa
θ[P0, . . . ,Pn; a,b](t) =t∑
i=0
θi,n(a,b; t),
oznacavamo Bézierovu krivulju sa kontrolnim tockama {Pi},defininiranu na intervalu [a,b].
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Teorem (Teorem o podijeli Bézierove krivulje)
Za θ[P0, . . . ,Pn; a,b] vrijedi
θ[P0, . . . ,Pn; a,b](t) =
θ[P [0]
0 ,P [1]1 , . . . ,P [n]
n ; a, c]
(t)
θ[P [n]
n ,P [n−1]n , . . . ,P [0]
n ; c,b]
(t)
gdje je
P [k ]i =
{ [(b−c)P[k−1]
i−1 +(c−a)P[k−1]i
]b−a k > 0, i = k , . . . ,n
Pi k = 0.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Bernsteinove aproksimacije
Slika: Bernsteinove bazne funkcije (a) n = 3; (b) n = 4.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Razmotrit cemo sada teoretsku pozadinu Bézierovihkrivulja.
Definicija
Za funkciju f ∈ C(m)[0,1] definirat cemo n-tu Bernsteinovupolinomijalnu aproksimaciju kao
Bn(f ; x) =n∑
k=0
f(
kn
)θk ,n(x).
Ako kontrolni poligon Bézierove krivulje definiramo kaopo dijelovima linearnu parametarsku funkciju f , saf (i/n) = Pi ,tada je sama Bézierova krivulja parametarskaBernsteinova aproksimacija stupnja n od f .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Jednostavno se vidi da je
Bn(f ; 0) = P0 i Bn(f ; 1) = Pn,
tako da je postignuta interpolacija u krajnjim tockama.
Definicija
Za niz funkcija {sj(x)}j kažemo da konvergira uniformno kafunkciji s(x) na intervalu I, ako za svaki ε > 0 postojiprirodan broj N takav da za sve j > N vrijedi
|sj(x)− s(x)| < ε za sve x ∈ I.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremAko je f (x) ogranicena na [0,1], tada
limn→∞
Bn(f ; x) = f (x)
za svaku tocku x u kojoj je f neprekidna.Ako je f ∈ C(0)[0,1] tada je konvergencija uniformna na[0,1].Ako je f ∈ C(m)[0,1] tada i
limn→∞
B(m)n (f ; x) = f (m)(x)
konvergira uniformno na [0,1].
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ovo svojstvo konvergencije Bernsteinovihaproksimacija i njenih derivacija garantira da one jakodobro reprezentiraju funkciju f za dovoljno veliki stupanjn.One dobro aproksimiraju samu krivulju, ali i njenetangente, zakrivljenost i ostala geometrijska svojstva.Problem je što Bernsteinove aproksimacije konvergirajuvrlo sporo.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Neka je f (x) = 1. Buduci da je f (k/n) = 1 za sve n i k,vrijedi
Bn(1; x) =n∑
k=0
(nk
)xk (1− x)n−k
=(x + (1− x))n
=1
Dakle, Bernsteinova aproksimacija reprezentira konstantnufunkciju egzaktno.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Neka je f (x) = x. Buduci da je f (k/n) = k/n za sve n i k,vrijedi
Bn(x ; x) =n∑
k=0
kn
(nk
)xk (1− x)n−k
=n∑
k=1
kn
(nk
)xk (1− x)n−k
=n∑
k=1
(n − 1k − 1
)xk (1− x)n−k
=xn∑
k=1
(n − 1k − 1
)xk−1(1− x)(n−1)−(k−1)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Bn(x ; x) =xn−1∑k=0
(n − 1
k
)xk (1− x)(n−1)−k
=x
Dakle, Bernsteinova aproksimacija reprezentira i linearnufunkciju egzaktno.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
PrimjerMože se pokazati da Bernsteinova aproksimacija nereprezentira egzaktno kvadratnu funkciju f (x) = x2, i davrijedi
|Bn(x2; x)− x2| ≤ 1n,
pa za n→∞, greška se smanjuje uniformno.
Pomocu Bernsteinovih aproksimacija dokazuje se svojstvosmanjene varijacije.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Interpolacija pomocu Bernsteinovih baznihfunkcija
Problem je interpolirati n + 1 tocku Vi , i = 0, . . . ,nparametarskim polinomom stupnja n.Jedinstveni interpolant treba biti reprezentiran pomocuBernsteinovih baznih funkcija.Prvo moramo svakoj interpolacijskoj tocci dodijelitinjenu parametarsku vrijednost: tražimo γ(t) takav da je
γ(i/n) = Vi , za i = 0, . . . ,n.
Izbor parametara je takav da θi,n(t) ima najveci utjecajna Vi , jer θi,n(t) u ti = i/n poprima svoj maksimum.Dakle, želimo naci kontrolne tocke Pj , j = 0, . . . ,n takveda je
γ(i/n) =n∑
j=0
Pjθj,n(i/n) = Vi , i = 0, . . . ,n.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Kao rezultat dobivamo sustave od n + 1 jednadžbi sn + 1 nepoznanica za svaku komponentu.Kompaktni matricni oblik jednadžbi je sljedeciθ0,n(0/n) θ1,n(0/n) · · · θn,n(0/n)θ0,n(1/n) θ1,n(1/n) · · · θn,n(1/n)
......
...θ0,n(n/n) θ1,n(n/n) · · · θn,n(n/n)
P0P1...
Pn
=
V0V1...
Vn
Može se pokazati da jedinstveni interpolacijski polinompostoji ako su sve vrijednosti x koordinata tocaka Vimedusobno razlicite.Buduci da Bernsteinove funkcije miješanja cine bazuod Pn, gornji sustav ima jedinstveno rješenje.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Želimo interpolirati tocke
V0 = (0,2), V1 = (3,2), V2 = (5,4), V3 = (1,0).
Za Pi = (xi , yi), i = 0,1,2,3 dobivamo sustav1 0 0 0827
49
29
127
127
29
49
827
0 0 0 1
x0 y0x1 y1x2 y2x3 y3
=
0 23 25 41 0
.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Rješenje ovog sustava je
0 2116 −5
3293
293
1 0
,što znaci da su
P0 = (0,2), P1 =
(116,−5
3
),
P2 =
(293,293
), P3 = (1,0).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
0 2 4 6 8 10−2
0
2
4
6
8
10
x
y
Slika: Izracunata Bézierova krivulja iz prethodnog primjera, sakontrolnim poligonom i interpolacijskim tockama.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Usporedivanje Bézierovih krivulja sinterpolacijom
Slika: (a) Originalne tocke; (b) kontrolni poligon.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) Polinomijalni interpolant; (b) Bézierova krivulja.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Po dijelovima kubicna Bézierova krivulja; neke unutarnjekontrolne tocke su interpolirane.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Usporedivanje Bernsteinove aproksimacije sinterpolacijom
Primijetimo razliku u brzini i svojstvima konvergencije.
Slika: Originalna krivulja.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Kvadraticne aproksimacije: (a) Bernsteinova aproksimacija;(b) interpolacija.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Kvinticne aproksimacije: (a) Bernsteinova aproksimacija;(b) interpolacija.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Seksticne aproksimacije: (a) Bernsteinova aproksimacija;(b) interpolacija.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Lijepljenje Bézierovih krivulja
Nedostaci Bézierovih krivulja su:cinjenica da porastom kontrolnih tocaka raste stupanjparametarskih polinoma,one su globalne aproksimacije — Bernsteinove baznefunkcije su netrivijalne svugdje u domeni.
Ponekad glatkoca višeg reda se može žrtvovati u imemanjeg broja racunskih operacija.
To možemo postici lijepljenjem više Bézierovih krivuljau jednu krivulju, uz uvjete neprekidnosti nekihderivacija.
Prvo navedimo nekoliko definicija i svojstava krivulja izdiferencijalne geometrije.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
DefinicijaNeka su I1 i I2 intervali na R. Ako
γ(t) : I1 → R3,p : I2 → I1,
tada možemo definirati kompoziciju funkcija γ i p, a
γ(p(u)) : I2 → R3
je reparametrizacija od γ. To se još zove i promjenaparametra iz t u u.
Obje funkcije γ(t) i γ(p(u)) imaju isti graf, pa onepredstavljaju razlicite reprezentacije iste krivulje.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija
γ(t) : I → R3 je regularna parametarska reprezentacija akoza sve t ∈ I vrijedi
1 γ(t) ∈ C(1),2 γ′(t) 6= 0.
Definicija
t = p(u) zove se dopustiva promjena parametra ako za sveu ∈ I2,
1 p(u) ∈ C(1),2 p′(u) 6= 0.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
LemaRezultat reperametrizacije regularne parametarskereprezentacije pomocu dopustive promjene parametra jeponovo regularna parametarska reprezentacija iste krivuljeili jednog njenog djela.
Definicija
Regularna reprezentacija γ(t), t ∈ I1, je srodna drugojregularnoj reprezentaciji φ(u), u ∈ I2 ako postoji dopustivapromjena parametra t = p(u) takva da je
1 p(I1) = I2,2 γ(p(u)) = φ(u).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
LemaPrethodno definirana srodnost je relacija ekvivalencije naskupu svih regularnih parametarskih reprezentacija.
DefinicijaSvaka klasa ekvivalencije relacije “dopustiva promjenaparametra” zove se regularna krivulja.
Neka je γ(t) : I → R3 regularna krivulja, tada se njenaduljina izmedu vrijednosti parametra ta i tb može izracunatikao
s =
∫ tb
ta‖γ′(τ)‖dτ.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Duljinu krivulje možemo smatrati funkcijom od t , odneke fiksne vrijednosti parametra t0 do t :
s(t) =
∫ t
t0‖γ′(τ)‖dτ.
Lako se može provjeriti da je
dsdt
=ddt
∫ t
t0‖γ′(τ)‖dτ = ‖γ′(t)‖ > 0.
Buduci da je γ′(t) vektor brzine krivulje γ u t , ‖γ′(t)‖ jeiznos same brzine.Vidimo da je s(t) strogo rastuca funkcija, pa je prematome i invertibilna.Dakle, postoji neka funkcija q takva da je t = q(s), onaje derivabilna sa dt
ds > 0.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
NapomenaZa svaku regularnu reprezentaciju, reparametrizacijaparametrom duljine luka je dopustiva promjena parametra.
Pretpostavimo da je γ(s) parametrizirana duljinom luka.Tada je
1 =dsds
= ‖γ′(s)‖.
Ekvivalentno možemo pretpostaviti da je γ(t) krivulja skonstantnim iznosom brzine, tj. da je ‖γ′(t)‖ = 1, zasve t . Tada je
s =
∫ t
t=0‖γ′(τ)‖dτ = t .
Pokazali smo da γ ima parametrizaciju duljinom lukaako i samo ako je ‖γ′‖ = 1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Za sljedece definicije imamo ove pretpostavkes je parametar duljine luka,γ : I → R3,γ je parametriziran duljinom luka γ(s) i vrijedi‖γ′(s)‖ = 1.
Definicija
T = T (s) = γ′(s) zove se jedinicna tangenta na krivulju γ,jer je ‖T (s)‖ = 1 za sve s.
Definicija
T ′ = T ′(s) = γ′′(s) zove se vektor zakrivljenosti.
Teorem
〈T ,N〉 = 0, za sve s.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija
κ = κ(s) = ‖T ′(s)‖ zove se zakrivljenost od γ u tocci γ(s).Vrijedi κ ≥ 0. Za κ > 0 definiramo N = N(s) = T ′/κ, kojegnazivamo vektorom normale ili jedinicnom normalom.
Ako je κ(s) = 0 na nekom intervalu, tada je γ segmentpravca na tom intervalu.
Definicija
Skalarna vrijednost 1/κ zove se radijus zakrivljenosti.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Parametrizaciju duljinom luka je cesto neprakticnoracunati.Za proizvoljnu regularnu parametrizaciju γ(t) može sepokazati da vrijedi:
T (t) =γ′(t)‖γ′(t)‖
N(t) =‖γ′(t)‖γ′′(t)‖γ′(t)× γ′′(t)‖
− 〈γ′(t), γ′′(t)〉γ′(t)‖γ′(t)‖ ‖γ′(t)× γ′′(t)‖
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Cesto kod dizajna krivulja trebamo znati da li su kodlijepljenja dviju krivulja tangenta i zakrivljenost neprekidni, ilida li je krivulja dovoljno glatka.
Ako su γ1 i γ2 dvije regularne parametarske krivuljedefinirane za t ∈ [0,1], tada definiramo
γ(t) =
{γ1(t), t ∈ [0,1〉γ2(t − 1), t ∈ [1,2].
Definicija
Ako je krivulja klase C(n) kada je reprezentiranaparametrizacijom duljinom luka, tada kažemo da je onageometrijski klase C(n).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ako je krivulja geometrijski klase C(1) to znaci da jejedinicna tangenta neprekidna.Ako je krivulja geometrijski klase C(2) to znaci da sujedinicna tangenta, jedinicna normala i zakrivljenostneprekidni.Inace, krivulja je klase C(n) ako je njena parametarskareprezentacija klase C(n).
Provjerimo sada koja svojstva mora zadovoljiti krivulja da bibila geometrijski klase C(0), C(1) ili C(2).
Ako je γ geometrijski klase C(0), tada γ mora bitineprekidna u t = 1, i mora biti
γ1(1) = γ2(0).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ako je γ geometrijski klase C(1), tada mora biti
γ′1(1) = k1γ′2(0), za konstantu k1 =
‖γ′1(1)‖‖γ′2(0)‖
.
Ako je k1 = 1 tada je krivulja γ klase C(1) u t = 1.
Ako je γ geometrijski klase C(2), tada mora biti
γ′1(1) =k1γ′2(0), za konstantu k1 =
‖γ′1(1)‖‖γ′2(0)‖
γ′′1 (1) =k2γ′2(0) + k2
1γ′′2 (0), za neku konstantu k2
Ako su k1 = 1 i k2 = 0 tada je krivulja γ klase C(2) ut = 1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Pretpostavimo sada da želimo spojiti dvije Bézierovekrivulje istog stupnja u svojim krajnjim tockama, saodredenim stupnjem neprekidnosti.Pogledat cemo koje uvjete u tom slucaju morajuzadovoljavati njihove kontrolne tocke.Neka su
γ1 =n∑
i=0
Piθi,n(t),
γ2 =n∑
i=0
Qiθi,n(t),
i sa γ(t) oznacimo krivulju dobivenu lijepljenjem gornjihdviju Bézierovih krivulja:
γ(t) =
{γ1(t), t ∈ [0,1〉γ2(t − 1), t ∈ [1,2].
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Buduci da γ1 i γ2 interpoliraju svoje krajnje kontrolnetocke, γ(t) ce biti neprekidna u t = 1 ako je
Pn = Q0.
Da bi γ bila geometrijski klase C(1), mora postajatik1 > 0 takav da je
γ′1(1) = k1γ′2(0).
Primijenjujuci ovaj uvijet na Bézierove krivulje,dobivamo
γ′1(1) = n(Pn − Pn−1), i γ′2(0) = n(Q1 −Q0);
Pn − Pn−1 = k1(Q1 −Q0).
Dakle, tocke Pn−1, Pn = Q0 i Q1 moraju ležati na istompravcu, pri cemu Pn = Q0 mora biti izmedu druge dvijetocke.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ako želimo da krivulja bude klase C(1), tadaγ′1(1) = γ′2(0) i Pn = Q0 mora biti tocno na polovinisegmenta pravca izmedu Pn−1 i Q1.
Da bi γ bila geometrijski klase C(2), mora postajati k2takav da je
γ′′1 (1) = k2γ′2(0) + k2
1γ′′2 (0).
Primijenjujuci ovaj uvijet na Bézierove krivulje,dobivamo
γ′′1 (1) =n(n − 1)(Pn − 2Pn−1 + Pn−2)
γ′′2 (0) =n(n − 1)(Q0 − 2Q1 + Q2).
Ubacujuci gornji rezultat u uvjet za geometrijski C(2),imamo
n(n − 1)(Pn − 2Pn−1 + Pn−2) =k2n(Q1 −Q0) + k21 n(n − 1)(Q0 − 2Q1 + Q2)
Pn − 2Pn−1 + Pn−2 =k21 (Q0 − 2Q1 + Q2) +
k2
n − 1(Q1 −Q0).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Buduci da je
Pn = Q0 i Pn − Pn−1 = k1(Q1 −Q0),
iz gornje jednakosti slijedi
Pn−2−Pn−1 =
(k1 −
k2
n − 1+ k2
1
)(Q0−Q1)+k2
1 (Q2−Q1).
S druge strane možemo napisati
Pn−1 = Q1 + (1 + k1)(Q0 −Q1)
odakle možemo zakljuciti da je
Pn−2 = Q1+a(Q0−Q1)+b(Q2−Q1), za neke konstante a,b.
Slijedi da Pn−1 i Pn−2 leže na ravnini razapetoj sa Q0,Q1 i Q2.Dakle, tocke Pn−2, Pn−1, Pn = Q0, Q1 i Q2 moraju ležatina istoj ravnini, od cega srednje tri moraju ležati naistom pravcu.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ako želimo da krivulja bude klase C(2), tada su k1 = 1 ik2 = 0, pa
Pn − Pn−1 =Q1 −Q0
Q2 − Pn−2 =4(Q1 −Q0).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Povecavanje stupnja
Ako želimo napraviti neke fine promjene na Bézierovojkrivulji moramo povecati stupnjeve slobode.Jedan nacin da to ucinimo je dijeljenje krivulje na dva iliviše dijelova.Drugi nacin je reprezentacija krivulje polinomom višegstupnja.Postavlja se pitanje: kako možemo Bézierovu krivulju
γn(t) =n∑
i=0
Piθi,n(t)
napisati kao
γn+1(t) =n+1∑i=0
Qiθi,n+1(t).
Sljedece što moramo naci je odnos izmedu kontrolnihtocaka {Pi} i {Qi}.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Iz dokaza teorema o rekurzivnom svojstvuBernsteinovih funkcija miješanja slijedi
k + 1n + 1
θk+1,n+1(t) = tθk,n(t) in + 1− k
n + 1θk,n+1(t) = (1− t)θk,n(t).
Zbrajanjem tih dviju jednakosti dobivamo
θk ,n(t) =k + 1n + 1
θk+1,n+1(t) +n + 1− k
n + 1θk ,n+1(t).
Uvrštavanjem u jednadžbu krivulje imamo
γn(t) =n∑
i=0
Piθi,n(t)
=n∑
i=0
Pi
(i + 1n + 1
θi+1,n+1(t) +n + 1− i
n + 1θi,n+1(t)
)
=n+1∑i=0
(iPi−1 + (n + 1− i)Pi
n + 1
)θi,n+1(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Teorem
Bézierova krivulja γ(t) =∑n
i=0 Piθi,n(t) može sereprezentirati kao
γ(t) =n+1∑i=0
Qiθi,n+1(t),
gdje su
Qi =iPi−1 + (n + 1− i)Pi
n + 1.
Primijetimo da je ovako dobivena Bézierova krivuljavišeg stupnja identicna polaznoj krivulji, jedino štokontrolni poligon ima sada više vrhova.Ako želimo mijenjati krivulju, to možemo sada ucinitipomicanjem novih kontrolnih tocaka.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) Povecanje stupnja za 1; (b) višestruko povecanjestupnja.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Domaca zadacaNapišite program koji ce nacrtati zadano slovo ili brojku:
α β γ δ ε ζ ϑ ξ ϕ ω
b e m s y 2 3 6 8
na dva nacina:1 pomocu po dijelovima konike s pogodnim konstantama
K ,2 pomocu po dijelovima Bézierove krivulje, pri cemu se
Bézierove krivulje crtaju algoritmom koji implementirauzatopnu podijelu krivulje.
Pazite na geometrijsku glatkocu krivulja, tako da ona štovjernije prikazuje zadano slovo ili brojku.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
B-splajnovi
Pozitivna svojstva Bézierovih krivulja su:1 svojstvo smanjene varijacije2 svojstvo da se krivulja nalazi unutar konveksne ljuske
kontrolnog poligona3 jednostavan konstruktivni algoritam
Negativna svojstva Bézierovih krivulja su:1 povecavanjem broja kontrolnih tocaka povecava se
stupanj krivulje2 globalni efekt Bernsteinove baze; zbog toga što je
svaka bazna funkcija razlicita od nule na cijeloj domeniosim konacno mnogo tocaka, pomicanje bilo kojekontrolne tocke mijenja cijelu krivulju
Sljedeci korak bi bio kreiranje krivulje koja ima svapozitivna svojstva Bézierove krivulje ali bez negativnih.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Svojstva koja želimo posticiKrivulja je izgladena verzija kontrolnog poligona.Reprezentacija krivulje je po dijelovima polinom kojidozvoljava odredivanje stupnja glatkoce kod spojevapolinomijalnih dijelova.Gornja dva svojstva automatski odreduju konstruktivnialgoritam slican Bézierovom (bez korištenja teorijediferencijalne geometrije).Prikaz krivulje kao
γ(t) =∑
i
Pibi ,
pri cemu suPi vrhovi kontrolnog poligonabi funkcije miješanja koje ne ovise o kontrolnompoligonu, ali ovise o stupnju polinoma i uvjetimaglatkoce kod spojeva.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Konstruktivne po dijelovima polinomijalnekrivuljePrimjer
Želimo generalizirati linearnu Bézierovu krivulju:segment pravca definiran kontrolnim poligonom s 2tocke.
To možemo napraviti na mnogo nacina:Za kontrolni poligon s 3 tocke jedina mogucageneralizacija je C(0) po dijelovima linearna krivulja.Za kontrolni poligon s 4 tocke postoje višegeneralizacija:
Jedna C(0) po dijelovima linearna krivulja (ekvivalentnakontrolnom poligonu). — (a)Prekidna C(−1) krivulja koja se sastoji od dvanepovezana segmenta pravca. — (b)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Želimo generalizirati kvadratnu Bézierovu krivulju:segment parabole definiran kontrolnim poligonom s 3tocke.
Povecavamo broj kontrolnih tocaka.Za kontrolni poligon s 4 tocke metoda lijepljenja konikanije primijenjiva.
Za to je potrebno 5 kontrolnih tocaka.Imamo garanciju da je dobivena krivulja C(0), a može seeksplicitno uciniti C(1) ako tri srednje tocke leže napravcu.Glatkoca derivacije u potpunosti ovisi o geometriji, i nepredstavlja poseban stupanj slobode.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Pretpostavimo da cemo koristiti proizvoljni kontrolnipoligon s cetiri tocke P0, P1, P2 i P3 za generiranje podijelovima kvadratne krivulje, ciji dijelovi se spajaju saC(1) glatkocom kod spojeva.Definiramo tocku
R = (1− λ)P1 + λP2, 0 < λ < 1
na segmentu pravca izmedu P1 i P2.
Slika: (a) Kontrolni poligon sa tockom R; (b) željena krivulja.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Ovim postupkom dobit cemo dva kvadratna segmenta:1 γ1(t) s kontrolnim poligonom P0, P1 i R2 γ2(t) s kontrolnim poligonom R, P2, i P3
Buduci da tocke P1, R i P2 leže na pravcu, dobivenakrivulja γ(t) izgleda C(1).Ona ce zaista biti klase C(1) ako su duljine tangenatajednake u toci R.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Koristit cemo Bernsteinove generalizirane baznefunkcije za reprezentaciju Bézierove krivulje skontrolnim poligonom P0, P1, R na segmentu [a,b]
θi,2(a,b; t) =
(2i
)(b − t)2−i(t − a)i
(b − a)2 , i = 0,1,2.
Vrijedi
γ1(t) =P0θ0,2(a,b; t) + P1θ1,2(a,b; t) + Rθ2,2(a,b; t)
γ′1(t) =2
(b − a)2 [(P1 − P0)(b − t) + (R − P1)(t − a)]
γ′1(b) =2(R − P1)
b − a
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Koristit cemo Bernsteinove generalizirane baznefunkcije za reprezentaciju Bézierove krivulje skontrolnim poligonom R, P2, P3 na segmentu [b, c]
θi,2(b, c; t) =
(2i
)(c − t)2−i(t − b)i
(c − b)2 , i = 0,1,2.
Vrijedi
γ2(t) =Rθ0,2(b, c; t) + P2θ1,2(b, c; t) + P3θ2,2(b, c; t)
γ′2(t) =2
(c − b)2 [(P2 − R)(c − t) + (P3 − P2)(t − b)]
γ′2(b) =2(P2 − R)
c − b
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Da bi po dijelovima kvadratna krivulja bila klase C(1),mora biti
R − P1
b − a=
P2 − Rc − b
.
Buduci da je R = (1− λ)P1 + λP2, imamo
R − P1 =[(1− λ)P1 + λP2]− P1
=λ(P2 − P1)
P2 − R =P2 − [(1− λ)P1 + λP2]
=(1− λ)(P2 − P1)
Zbog toga je
λ(P2 − P1)
b − a=
(1− λ)(P2 − P1)
c − b
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)odakle slijedi
λ(c − b) = (1− λ)(b − a)
Dakle, korisnik može odrediti 3 od 4 realne vrijednostia, b, c, λ.Razumni default može biti
a = 0, b = 1, c = 2, λ =12.
Primijetimo da prethodna konstrukcija ne ovisi o P0 i P3.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Na ovaj nacin korisnik može konstruirati po dijelovimakvadratnu krivulju klase C(1) iz kontrolnog poligona san + 1 vrhova, za bilo koji n.Za proizvoljni poligon {Pi}ni=0 definiramo u = {ui}ni=1,ui < ui+1.Domena po dijelovima kvadratne krivulje je segment[u1,un], pri cemu je podsegment [ui ,ui+1] domena i-togkvadratnog dijela, kojih ukupno ima n − 1.λi izmedu i-tog i (i + 1)-og segmenta, i = 1, . . . ,n − 2dobiva se rješavanjem jednadžbe
λi(ui+2 − ui+1) = (1− λi)(ui+1 − ui)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Sada još moramo definirati novi konstruktivni algoritam.Vratimo se ponovo na slucaj sa dva kvadratnasegmenta.Ako su a, b i c zadani, tada je
λ =b − ac − a
.
Definirajmo sada
Q0 = P0, Q1 = P1, Q2 = R, Q3 = R, Q4 = P2, Q5 = P3.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Konstruktivni algoritam za krivulju sa Bernsteinovimgeneraliziranim baznim funkcijama za t ∈ [a,b] glasi
P [1]1 =
b − tb − a
Q0 +t − ab − a
Q1
P [1]2 =
b − tb − a
Q1 +t − ab − a
Q2
P [2]2 =
b − tb − a
P [1]1 +
t − ab − a
P [1]2
odakle je γ(t) = P [2]2 (t).
Prema definiciji od R je
Q2 =c − bc − a
Q1 +b − ac − a
Q4.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Tako je
P [1]2 =
b − tb − a
Q1 +t − ab − a
Q2
=b − tb − a
Q1 +t − ab − a
(c − bc − a
Q1 +b − ac − a
Q4
)=
(b − tb − a
+t − ab − a
c − bc − a
)Q1 +
t − ac − a
Q4
=c − tc − a
Q1 +t − ac − a
Q4
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Analogno, za t ∈ [b, c]
P [1]2 =
c − tc − b
Q3 +t − bc − b
Q4
P [1]3 =
c − tc − b
Q4 +t − bc − b
Q5
P [2]3 =
c − tc − b
P [1]2 +
t − bc − b
P [1]3
odakle je γ(t) = P [2]3 (t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Ponovo zbog definicije od R je
P [1]2 =
c − tc − b
Q3 +t − bc − b
Q4
=c − tc − b
(c − bc − a
Q1 +b − ac − a
Q4
)+
t − bc − b
Q4
=c − tc − a
Q1 +
(c − tc − b
b − ac − a
+t − bc − b
)Q4
=c − tc − a
Q1 +t − ac − a
Q4
Primijetimo da je konacna jednadžba za racunanje P [1]2
uvijek ista, bez obzira u kojem segmentu se nalazi t .Ovime smo izveli novi algoritam.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
AlgoritamNeka su zadani
kontrolni poligon {Pi}3i=0,realne vrijednosti a < b < c.
Tada se krivulja γ(t) može izvredniti na sljedeci nacin:1 P [0]
i (t) = Pi za i = 0, . . . ,3.2 Za t ∈ [a,b] izracunaj
P [1]1 =
b − tb − a
P [0]0 +
t − ab − a
P [0]1
P [1]2 =
c − tc − a
P [0]1 +
t − ac − a
P [0]2
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (nastavak)
Za t ∈ [b, c] izracunaj
P [1]2 =
c − tc − a
P [0]1 +
t − ac − a
P [0]2
P [1]3 =
c − tc − b
P [0]2 +
t − bc − b
P [0]3
3 Za t ∈ [a,b] izracunaj
P [2]2 =
b − tb − a
P [1]1 +
t − ab − a
P [1]2
Za t ∈ [b, c] izracunaj
P [2]3 =
c − tc − b
P [1]2 +
t − bc − b
P [1]3
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (nastavak)4 Vrijednost krivulje je tada
γ(t) =
{P [2]
2 t ∈ [a,b]
P [2]3 t ∈ [b, c]
Našli smo konstruktivni algoritam za po dijelovimakvadratne krivulje, koji koristi samo originalne kontrolnetocke.Preostalo nam je još naci izraz za krivulju koji jupredstavlja kao linearnu kombinaciju odredenih funkcijamiješanja, ciji su koeficijenti originalne kontrolne tocke.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Neka su
Q[0]i = Qi ,
tada definirajmo
ζ[0]i (t) =
θi,2(a,b; t) t ∈ [a,b], i = 0,1,20 t ∈ [b, c], i = 0,1,20 t ∈ [a,b], i = 3,4,5θi−3,2(b, c; t) t ∈ [b, c], i = 3,4,5
Krivulja se tada može zapisati kao
γ(t) =5∑
i=0
Q[0]i ζ
[0]i (t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Originalne funkcije miješanja.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Medutim u ovom obliku jednadžbe R se pojavljuje dvaputa.Odstranit cemo to ponavljanje tako da definiramo
Q[1]i =
{Q[0]
i , i = 0,1,2Q[0]
i+1, i = 3,4
i
ζ[1]i (t) =
ζ
[0]i (t), i = 0,1ζ
[0]2 (t) + ζ
[0]3 (t), i = 2
ζ[0]i+1(t), i = 3,4
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Funkcije miješanja nakon prve redukcije.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Buduci da je
Q[1]2 = (1− λ)Q[1]
1 + λQ[1]3 , i λ =
b − ac − a
,
vrijedi sljedece
γ(t) =4∑
i=0
Q[1]i ζ
[1]i (t)
=Q[1]0 ζ
[1]0 (t) + Q[1]
1 ζ[1]1 (t) + ((1− λ)Q[1]
1 + λQ[1]3 )ζ
[1]2 (t)+
+ Q[1]3 ζ
[1]3 (t) + Q[1]
4 ζ[1]4 (t)
=Q[1]0 ζ
[1]0 (t) + Q[1]
1 ζ[1]1 (t) + (Q[1]
1 (1− λ)ζ [1]2 (t) + Q[1]
3 λζ[1]2 (t))+
+ Q[1]3 ζ
[1]3 (t) + Q[1]
4 ζ[1]4 (t)
=Q[1]0 ζ
[1]0 (t) + Q[1]
1 (ζ[1]1 (t) + (1− λ)ζ [1]
2 (t))+
+ Q[1]3 (λζ
[1]2 (t) + ζ
[1]3 (t)) + Q[1]
4 ζ[1]4 (t)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Korištenjem prethodnih rezultata definiramo
Q[2]i =
{Q[1]
i , i = 0,1Q[1]
i+1, i = 2,3
i
ζ[2]i (t) =
ζ
[1]0 (t), i = 0ζ
[1]1 (t) + (1− λ)ζ
[1]2 (t), i = 1
λζ[1]2 (t) + ζ
[1]3 (t), i = 2
ζ[1]4 (t), i = 3
Funkcije ζ [2]i (t), i = 0,1,2,3 su klase C(1) na domeni
krivulje [a, c], i ne ovise o kontrolnim tockama.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Konacne funkcije miješanja za λ = 0.4.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Kvadratne funkcije miješanja sa 6 podsegmenata.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Prema tome, moguce je konstruirati po dijelovimakvadratnu krivulju klase C(1).Dobivanje pogodne generalizacije postaje punokompliciranije kada
uvjeti glatkoce nisu jednaki u svakom spojukada je stupanj polinoma veci od 2
Za to je potrebno uvesti formalizam, u kojem se mogureprezentirati konstruktivni algoritmi i jednadžbe krivuljapreko funkcija miješanja u kompaktnom obliku.Taj formalizam se zove reprezentacija B-splajnovima
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija
Niz u = {ui}si=0 razlicitih realnih vrijednosti zove se nizprijelomnih tocaka.Pridruženi niz m = {mi}si=0 pozitivnih cijelih brojeva, odkojih je mi pridružen ui , zove se vektor multipliciteta.Nepadajuci niz realnih brojeva t = {tj} takvih da jemi = card{j : tj = ui} zove se vektor cvorova.
Definicija
Broj elemenata u vektoru cvorova t zove se duljina, ioznacava se sa card(t).
Neka je N + 1 =∑s
i=0 mi duljina od t.Tada interval [ui ,ui+1〉 definira domenu jednogpolinomijalnog dijela.mi se odnosi na glatkocu spoja dvaju dijelova.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (de Boorov rekurzivni algoritam za B-splajnove)
Za definiranje po dijelovima polinomijalne krivulje γ(t)stupnja k, potrebno je da je domena krivulje jednaka[tk , tN−k 〉.
1 P [0]i = Pi .
2 Za dani t ≥ tk , nadi j takav da je t ∈ [tj , tj+1〉.3 Za ` = 1, . . . , k
za i = j − k + `, . . . , j
P [`]i =
t − titi+k+1−` − ti
P [`−1]i +
ti+k+1−` − tti+k+1−` − ti
P [`−1]i−1 .
4 γ(t) = P [k ]j .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Vidimo da ovaj algoritam izgleda slicno Bézierovomkonstruktivnom algoritmu.P [`]
i je uvijek konveksna kombinacija od P [`−1]i−1 i P [`−1]
i ,koja ovisi o t-u.Ta konveksna kombinacija je razlicita za razlicitevrijednosti od i , ` i k .Nakon što je odreden indeks j , za racunanje P [1]
ipotrebne su tocke Pj−k , . . . ,Pj .
Dakle, na nultoj razini potrebno nam je k + 1 tocka.Na prvoj razini racuna se k tocaka.Na drugoj razini racuna se k − 1 tocaka.itd.Na k -toj razini racuna se samo jedna tocka.
Broj tocaka na svakoj razini odgovara broju tocakaukljucenih u svaku razinu Bézierovog algoritma, bezobzira na ukupan broj kontrolnih tocaka u poligonu.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Za kontrolni poligon sa n + 1 tocaka, ako želimodefinirati po dijelovima polinomijalnu krivulju stupnja ktada moramo definirati vektor t sa tocnoN + 1 = n + k + 2 elementa.
Ako pogledamo u algoritam, tada j može poprimitivrijednosti k , . . . ,N − k − 1.To znaci da su na nultoj razini potrebne tocke Pi zai = 0, . . . ,N − k − 1, odnosno ukupno N − k kontrolnihtocaka.Odatle slijedi:
n + 1 =N − kN + 1 =n + k + 2
cinjenica da je za bilo koji interval [tj , tj+1〉 potrebnosamo k + 1 kontrolnih tocaka kako bi se izracunalavrijednost krivulje stupnja k γ(t), cini ovu krivuljulokalnom.Za svaki t ∈ [tj , tj+1〉 radi se o istom polinomu.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Sljedeci interval ce koristiti druge kontrolne tocke zadefiniciju polinoma, iako neke od njih mogu biti iste kaou prethodnom intervalu.Multiplicitet nam govori koliko je kontrolnih tocakazajednickih u dva susjedna intervala, tj. u njihovimreprezentacijama.Može se pokazati da ako je k − p + 1 tocaka zajednickou reprezentacijama dva susjedna polinomijalna dijela,tada se ta dva dijela spajaju sa glatkocom C(k−p).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
PrimjerNeka su zadani:
k = 3t = {0,0,0,0,1,4,5,5,5,5}t = 2, odakle slijedi da je j = 4 (t4 = 1 ≤ 2 < t5 = 4)
Za ` = 1,2,3 vrijedi
P [`]i =
t − titi+4−` − ti
P [`−1]i +
ti+4−` − tti+4−` − ti
P [`−1]i−1 , i = 1 + `, . . . ,4.
Za ` = 1,P [1]
2 =t − t2t5 − t2
P [0]2 +
t5 − tt5 − t2
P [0]1
=2− 04− 0
P [0]2 +
4− 24− 0
P [0]1
=12
P [0]2 +
12
P [0]1
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
P [1]3 =
t − t3t6 − t3
P [0]3 +
t6 − tt6 − t3
P [0]2
=2− 05− 0
P [0]3 +
5− 25− 0
P [0]2
=25
P [0]3 +
35
P [0]2
P [1]4 =
t − t4t7 − t4
P [0]4 +
t7 − tt7 − t4
P [0]3
=2− 15− 1
P [0]4 +
5− 25− 1
P [0]3
=14
P [0]4 +
34
P [0]3
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Za ` = 2
P [2]3 =
t − t3t5 − t3
P [1]3 +
t5 − tt5 − t3
P [1]2
=2− 04− 0
P [1]3 +
4− 24− 0
P [1]2
=12
P [1]3 +
12
P [1]2
P [2]4 =
t − t4t6 − t4
P [1]4 +
t6 − tt6 − t4
P [1]3
=2− 15− 1
P [1]4 +
5− 25− 1
P [1]3
=14
P [1]4 +
34
P [1]3
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Za ` = 3
P [3]4 =
t − t4t5 − t4
P [2]4 +
t5 − tt5 − t4
P [2]3
=2− 14− 1
P [2]4 +
4− 24− 1
P [2]3
=13
P [2]4 +
23
P [2]3
Konacno, γ(2) = P [3]4 .
Primijetimo da su rekurzivno definirani kontrolnipoligoni na svakoj razini u potpunosti ovisni o t.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) P [1]i i P [2]
i ; (b) P [2]i i P [3]
i .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Svi uzastopni poligoni prikazani zajedno.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Kao i kod Bézierovih krivulja, ovaj novi oblik krivuljenece opcenito interpolirati kontrolne tocke.Iz de Boorovog algoritma vidimo da ce krivulja imatioblik
γ(t) =n∑
i=0
PiBi,k (t),
gdje je svaki Bi,k (t) po dijelovima polinom stupnja k .Tocno k + 1 od njih su netrivijalni na svakom intervaluizmedu cvorova.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
B-splajn funkcije miješanja
Želimo naci kolekciju funkcija {Bi,k (t)}ni=0 sarekurzivnim oblikom, tako da predstavljajugeneralizaciju Bernsteinovih funkcija miješanja.Buduci da je k stupanj po dijelovima polinoma, želimoda de Boorov algoritam rezultira reprezentacijom
γ(t) =∑
i
PiBi,k (t)
=∑
i
P [`]i Bi,k−`(t), ` = 0, . . . , k
Za danu vrijednost t ∈ [tj , tj+1〉, potrebne su samo k + 1vrijednosti P [0]
i , i = j − k , . . . , j , što znaci
γ(t) =
j∑i=j−k+`
P [`]i Bi,k−`(t), ` = 0, . . . , k
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
γ(t) =∑
i
(t − ti
ti+k+1−` − tiP [`−1]
i +ti+k+1−` − tti+k+1−` − ti
P [`−1]i−1
)Bi,k−`(t)
=∑
i
P [`−1]i
(t − ti
ti+k+1−` − tiBi,k−`(t)+
+ti+k+2−` − t
ti+k+2−` − ti+1Bi+1,k−`(t)
)Buduci da želimo da je
γ(t) =∑
i
P [`−1]i Bi,k−`+1(t),
zato funkcije Bi,k−`+1 moraju zadovoljavati rekurziju
Bi,k−`+1(t) =t − ti
ti+k+1−` − tiBi,k−`(t)+
ti+k+2−` − tti+k+2−` − ti+1
Bi+1,k−`(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija (de Boor – Coxova rekurzija)Neka je t0 ≤ t1 ≤ · · · ≤ tN niz realnih brojeva.Za k = 0, . . . ,N − 1 i i = 0, . . . ,N − k − 1
definiramo i-ti (normalizirani) B-splajn stupnja k kao
Bi,0(t) =
{1, za t ∈ [ti , ti+1〉0, inace
a za k > 0
Bi,k (t) =
{t−ti
ti+k−tiBi,k−1(t) +
ti+k+1−tti+k+1−ti+1
Bi+1,k−1(t), za ti<ti+k+1
0, inace
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Napomena
Za slucaj kada je k = 0 i ti = ti+1 tada ne postoji nitijedna vrijednost unutar poluintervala [ti , ti+1〉, i tadapostavljamo da je Bi,0(t) ≡ 0.Za slucaj kada je k > 0 i ti = · · · = ti+k < ti+k+1 djelitelju prvom izrazu rekurzije je 0?!
U tom slucaju je Bi,k−1(t) ≡ 0 prema definiciji.Tada bi bilo
Bi,k (t) =ti+k+1 − t
ti+k+1 − ti+1Bi+1,k−1(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Želimo pronaci oblik funkcije Bi,1(t).Primijetimo da Bi,1(t) ovisi samo o Bi,0(t) i Bi+1,0(t).Pretpostavimo da je ti < ti+1 < ti+2.Tada Bi,0(t) 6= 0 za t ∈ [ti , ti+1〉, i Bi+1,0(t) 6= 0 zat ∈ [ti+1, ti+2〉.Tada slijedi da je Bi,1(t) razlicit od 0 za t ∈ [ti , ti+2〉.Sada je
Bi,1(t) =t − ti
ti+1 − tiBi,0(t) +
ti+2 − tti+2 − ti+1
Bi+1,0(t)
=
{ t−titi+1−ti
, za t ∈ [ti , ti+1〉ti+2−t
ti+2−ti+1, za t ∈ [ti+1, ti+2〉
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Bi,1(ti+1) = 1, i Bi,1(t) je po dijelovima linearna funkcijakoja je razlicita od nule na dva susjedna intervalacvorova.Indukcijom možemo zakljuciti da je Bi,k (t) po dijelovimapolinom stupnja k .
Slika: (a) B-splajn stupnja 0; (b) B-splajn stupnja 1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
LemaAko je t < ti ili t ≥ ti+k+1, tada je Bi,k (t) = 0, tj. Bi,k (t) možebiti razlicit od 0 samo na intervalu [ti , ti+k+1〉.
Dokaz.Dokaz se provodi indukcijom.
Prema definiciji, tvrdnja je istinita za k = 0.Pretpostavimo da je tvrdnja istinita za B-splajnovestupnja k − 1.Dakle, Bi,k−1(t) = 0 za t < ti i t ≥ ti+k , aBi+1,k−1(t) = 0 za t < ti+1 i t ≥ ti+k+1.Ubacujuci te tvrdnje u de Boor – Coxovu rekurziju,dobivamo da prvi izraz može biti razlicit od 0 zat ∈ [ti , ti+k 〉, a drugi izraz može biti razlicit od 0 zat ∈ [ti+1, ti+k+1〉.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
Prema tome, Bi,k (t) može biti razlicit od 0 na uniji tihdvaju intervala, tj. za t ∈ [ti , ti+k+1〉.
Lema
Bi,k (t) > 0 za t ∈ 〈ti , ti+k+1〉.
Konkretinije, Bi,k (ti+k+1) = 0, a Bi,k (ti) može biti jednak ilirazlicit 0, ovisno o cvorovima.
Dokaz.Prema definiciji, Bi,0 > 0 za t ∈ 〈ti , ti+1〉 pa je prvatvrdnja istinita za k = 0.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).Pretpostavimo da je prva tvrdnja istinita za B-splajnovestupnja k − 1.Dakle, Bi,k−1(t) > 0 za t ∈ 〈ti , ti+k 〉 i Bi+1,k−1(t) > 0 zat ∈ 〈ti+1, ti+k+1〉.Ubacujuci te tvrdnje u de Boor – Coxovu rekurziju,dobivamo da je prvi izraz pozitivan za t > ti , a drugiizraz je pozitivan za t < ti+k+1.Prema tome, Bi,k (t) je pozitivan na presijeku tih dvajuintervala, tj. Bi,k (t) > 0 za t ∈ 〈ti , ti+k+1〉.Buduci da je Bj,0(tj+1) = 0 za sve j , druga tvrdnja vrijediza k = 0.Pretpostavimo da je Bj,k−1(tj+k ) = 0 za sve j .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).Tada je
Bi,k (ti+k+1) =ti+k+1 − titi+k − ti
Bi,k−1(ti+k+1)+
+ti+k+1 − ti+k+1
ti+k+1 − ti+1Bi+1,k−1(ti+k+1)
=ti+k+1 − titi+k − ti
· 0 + 0 · 0 = 0
zbog prethodne leme za ti+k < ti+k+1zbog pretpostavke indukcije za ti+k = ti+k+1zbog pretpostavke indukcije
Za slucaj kada je ti = ti+1, vrijedi Bi,1(ti) = Bi,1(ti+1) =1, ali ako je ti < ti+1 tada je Bi,1(ti) = 0.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
DefinitionFunkcija koja je razlicita od 0 samo na konacnom intervalurealnog pravca zove se lokalna funkcija.
B-splajnovi su lokalne funkcije za sve i i k .
KorolarAko je t ∈ 〈tj , tj+1〉, za tj < tj+1, i i ∈ {j − k , j − k + 1, . . . , j}tada je Bi,k (t) > 0 za njih ukupno k + 1
Dokaz.Iz prethodne leme znamo da je nosac od Bi,k (t)sadržan u [ti , ti+k+1〉.Ako je tj ∈ {ti , ti+1, . . . , ti+k}, tada je Bi,k (t) > 0 zat ∈ 〈tj , tj+1〉.Dakle, i = j , j − 1, . . . , j − k .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremAko je γ(t) krivulja definirana de Boorovim algoritmom iα(t) =
∑ni=0 PiBi,k (t), gdje su Bi,k (t) definirane de Boor –
Coxovom rekurzijom, tada je γ(t) = α(t).
Dokaz.Za t ∈ [tj , tj+1〉 je
α(t) =n∑
i=0
PiBi,k (t)
=
j∑i=j−k
PiBi,k (t)
buduci da su to jedini B-splajnovi koji su razliciti od 0 u t .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).Iz rekurzije slijedi
α(t) =
j∑i=j−k
Pi
(t − ti
ti+k − tiBi,k−1(t) +
ti+k+1 − tti+k+1 − ti+1
Bi+1,k−1(t))
=
j∑i=j−k
Piti+k+1 − t
ti+k+1 − ti+1Bi+1,k−1(t) +
j∑i=j−k
Pit − ti
ti+k − tiBi,k−1(t)
=
j+1∑i=j−k+1
Pi−1ti+k − tti+k − ti
Bi,k−1(t) +
j∑i=j−k
Pit − ti
ti+k − tiBi,k−1(t)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
Nosac od Bj+1,k−1(t) se nalazi unutar [tj+1, tj+k+1〉, paje Bj+1,k−1(t) = 0 za t ∈ [tj , tj+1〉.Nosac od Bj−k ,k−1(t) se nalazi unutar [tj−k , tj〉, pa jeBj−k ,k−1(t) = 0 za t ∈ [tj , tj+1〉.Zbog toga nam ostaje
α(t) =
j∑i=j−k+1
(Pi−1
ti+k − tti+k − ti
Bi,k−1(t) + Pit − ti
ti+k − tiBi,k−1(t)
)
=
j∑i=j−k+1
(Pi−1
ti+k − tti+k − ti
+ Pit − ti
ti+k − ti
)Bi,k−1(t)
=
j∑i=j−k+1
P [1]i Bi,k−1(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).Indukcijom se dalje pokazuje da je
α(t) =
j∑i=j
P [k ]i Bi,0(t)
=P [k ]j
=γ(t)
KorolarZa t ∈ [ti , ti+1〉, krivulja B-splajnova je konveksnakombinacija od Pi−k , . . . ,Pi . To se zove svojstvo konveksneljuske.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Krivulja i njen kontrolni podpoligon za unutarnji interval.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Svojstva B-spajnova
Definicija
Pretpostavimo da je t vektor cvorova sa N + 1 elemenata.Tada postoji tocnon N − k B-splajnova stupnja k koji sudefinirani na vektoru t.Definiramo notaciju
Sk ,t =
{N−k−1∑
i=0
PiBi,k (t) : Pi ∈ R
}.
Sk ,t se zove prostor B-splajnova stupnja k na vektorucvorova t.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Lema
Za vektor cvorova t = {ti}Ni=0 i za t ∈ [tk , tN−k 〉 vrijedi
N−k−1∑i=0
Bi,k (t) = 1, za sve k ≥ 0.
Dalje, za t < tk ili t > tN−k je
N−k−1∑i=0
Bi,k (t) < 1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremAko je Bi,k (t) B-splajn stupnja k definiran na vektorucvorova t, tamo gdje derivacija postoji (izmedu cvorova iponekad u samim cvorovima) ona se može izracunatipomocu izraza
B′i,k (t) = k(
Bi,k−1(t)ti+k − ti
−Bi+1,k−1(t)
ti+k+1 − ti+1
).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremZa krivulju B-splajnova
γ(t) =N−k−1∑
i=0
PiBi,k (t),
j -ta derivacija je dana sa
d j
dt j γ(t) =
N−(k−j)−1∑i=0
Qj,iBi,k−j(t),
gdje su
Qj,i =
{Pi , za j = 0(k − j + 1)
Qj−1,i−Qj−1,i−1ti+k−j+1−ti
, za j > 0,
a Qj−1,−1 = Qj−1,N−(k−j)−1 = Θ.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
KorolarPretpostavimo da vrijede uvjeti prethodnog teorema. Tadaza t ∈ [tj , tj+1〉, i = j − (k − 1) + `, . . . , j , i ` = 1, . . . , k − 1vrijedi
Q[`]1,i = k
P [`]i − P [`]
i−1
ti+k−` − ti.
KorolarMoguce je izvrijedniti i tocku na krivulji i derivaciju u njoj sajednom primijenom de Boorovog algoritma, jer je
Q[k−1]1,j = k
P [k−1]j − P [k−1]
j−1
tj+1 − tj.
Ovi korolari slijede iz primjene de Boorovog algoritma naγ′(t) =
∑N−ki=0 Q1,iBi,k−1(t) i iz prethodnog teorema.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
DefinicijaDefiniramo
PPk ,u,m ={f (t) : f (t)|〈ui ,ui+1〉 polinom stupnja manje od ili
jednak k, i f ∈ C(k−mi ) u ui}.
Ako je prostor po dijelovima polinoma definiran na [a,b],tada oznacavamo
PPk ,u,m[a,b].
Lako se može pokazati da je PPk ,u,m vektorski prostor.
TeoremAko je t vektor cvorova dobiven iz u i m, tada je
Bi,k ∈ PPk ,u,m[tk , tN−k ].
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
KorolarAko je zadan vektor cvorova {ti , ti+1, . . . , ti+k+1} koji imarazlicite rastuce vrijednosti {ui1 , . . . ,uis}, pri cemu se svakaod njih ponavlja sa multiplicitetima {mi1 , . . . ,mis}, tada jeBi,k ∈ C(k−mij
) u uij .
TeoremBi,k je unimodalan, tj. postoji tocno jedam ekstrem na〈ti , ti+k+1〉.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Neprekidnost u krajevima krivulje
Pretpostavimo da imamo definiranu krivuljuγ(t)
∑N−k−1i=0 PiBi,k (t) sa pripadajucim vektorom
cvorova {t0, . . . , tN}.Njezina domena je [tk , tN−k 〉.
Pocetna krajnja tocka
Vrijedi tk = ujk .Ako je tk = tk+1, tada je B0,k ≡ 0 i nece imati nikakavdoprinos u γ.Zato pretpostavljamo da je tk < tk+1.Neka je tk+1−mjk
= · · · = tk , i mora biti mjk ≤ k + 1.
Za mjk < k + 1 B0,k je klase C(k−mjk ) u tk .Za mjk = k + 1 je t0 = t1 = · · · = tk < tk+1 i B0,k imaprekid u tk .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Zbog definicije B-splajnova oni su neprekidni zdesna:
B0,k (tk ) = limt→t+
k
B0,k (t)
= limt→t+
k
tk+1 − ttk+1 − t1
B1,k−1(t)
= limt→t+
k
tk+1 − ttk+1 − t1
tk+1 − ttk+1 − t2
B2,k−2(t)
=...
= limt→t+
k
(tk+1 − ttk+1 − tk
)k
Bk,0
=1
To znaci da su Bi,k (t) i = 0, . . . neprekidni sa unutarnjestrane lijevog ruba domene.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Završna krajnja tocka
Pretpostavljamo da je tN−k−1 < tN−k kako ne bi bioBN−k−1,k ≡ 0.Ako je tN−k = · · · = tN , i multiplicitet tocke tN−k je k + 1,BN−k−1,k ima prekid u tN−k .Isto kao i kod pocetne krajnje tocke
limt→t−N−k
BN−k−1,k (t) = limt→t−N−k
(t − tN−k−1
tN−k − tN−k−1
)k
BN−k−1,0(t)
=1
Medutim iz de Boor – Coxove rekurzije slijedi da je
BN−k−1,k (tN−k ) = 0.
Zbog toga BN−k−1,k (t) nije neprekidna sa unutarnjestrane desnog ruba domene.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ako želimo neprekidnost i na tom rubu domenemoramo modificirati de Boor – Coxovu rekurziju.
Definicija
Neka je zadan vektor cvorova {ti}Ni=0, i pretpostavimo da jej = max{i : ti < ti+1, i ∈ {0, . . . ,N − 1}}. Definiramo
Bi,0(t) =
1, za t ∈ [ti , ti+1〉, i < j1, za t ∈ [tj , tj+1], i = j0, inace
Ova modifikacija utjece samo na zadnji netrivijalni B-splajnsvih stupnjeva, koji time postaje neprekidan u desnom rubudomene. BN−k−1,k (tN−k ) = 1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Bernsteinove funkcije kao B-splajnovi
TeoremNeka su
u = {a,b} i m = {k + 1, k + 1},a t = {t0 = t1 = · · · = tk < tk+1 = · · · = t2k+1} je vektorcvorova, gdje su t0 = a i tk+1 = b.
Tada za t ∈ [a,b], ` = 0, . . . , k i i = 0, . . . , ` vrijedi
Bi+k−`,`(t) = θi,`
(t − ab − a
).
Dakle, za ovaj poseban izbor vektora cvorova B-splajnovisvode se na Bernsteinove funkcije miješanja.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
KorolarZa t = {t0 = t1 = · · · = tk < tk+1 = · · · = t2k+1} je
Sk ,t = Pk [tk , tk+1],
i za ovaj poseban izbor vektora cvorova krivulja B-splajnovasvodi se na Bézierovu krivulju.
TeoremAko je t = {t0 = t1 = · · · = tk < tk+1 = · · · = t2k+1}, tada suB-splajnovi linearno nezavisni i cine bazu prostora Sk ,t.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Uniformni B-splajnovi
Razmatramo slucaj kada su udaljenosti izmedususjednih cvorova jednake, tj.
ti = t0 + ih, h ∈ R+.
Lako se može pokazati da ako vektor cvorovatransformiramo tako da je h = 1 i t0 = 0, B-splajnovi senece promijeniti.Ovime se i racunanje B-splajnova i krivulja B-splajnovaznatno pojednostavljuje.Dakle, ti = i i domena krivulja B-splajnova je [k ,n + 1].Tada je za sve i-ove
Bi+1,0(t) =
{1, t ∈ [i + 1, i + 2〉0, t /∈ [i + 1, i + 2〉
=Bi,0(t − 1)
Prema tome, Bi+1,0(t) je translatirana verzija od Bi,0(t).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Indukcijom cemo pokazati da to vrijedi i za B-splajnovevišeg stupnja.Pretpostavimo da vrijedi
Bj+1,k−1(t) = Bj,k−1(t − 1), za svet i j .
Tada je
Bi+1,k (t) =t − (i + 1)
((i + 1) + k)− (i + 1)Bi+1,k−1(t)+
+((i + 1) + k + 1)− t
((i + 1) + k + 1)− ((i + 1) + 1)B(i+1)+1,k−1(t)
=(t − 1)− i(i + k)− i
Bi+1,k−1(t) +(i + k + 1)− (t − 1)(i + k + 1)− (i + 1)
B(i+1)+1,k−1(t)
=(t − 1)− i(i + k)− i
Bi,k−1(t − 1) +(i + k + 1)− (t − 1)(i + k + 1)− (i + 1)
Bi+1,k−1(t − 1)
odakle jeBi+1,k (t) = Bi,k (t − 1).
Ovime smo dokazali sljedeci teorem.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremZa vektor cvorova t definiran tako da je ti = i , je
Bi+1,k (t) = Bi,k (t − 1) za sve t .
KorolarZa vektor cvorova t definiran tako da je ti = i , vrijedi
Bi+j,k (t) = Bi,k (t − j),
za sve t, i za sve i, j i k za koje su B-splajnovi definirani.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
NapomenaZbog svojih svojstava krivulje uniformnih B-splajnovamogu se osim de Boorovim algoritmom racunati na dvadrugacija nacina:
1 matricnom metodom,2 spremanje u tablicu vrijednosti samo jednog B-splajna,
buduci da se ostali mogu dobiti translacijom tog jednogB-splajna.
Ove dvije metode su znacajno brže od de Boorovogalgoritma.Medutim uniformni B-splajnovi nisu toliko fleksibilni kaoneuniformni.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Matricna metoda za racunanje krivuljauniformnih kubicnih B-splajnova
Prema prethodnom korolaru postoji samo jedanistaknuti B-splajn (svi ostali izgledaju isto, samo sudefinirani na translatiranim domenama).Na intervalu [tj , tj+1〉 postoji 4 netrivijalna kubicnaB-splajna: Bj−3,3(t), Bj−2,3(t), Bj−1,3(t) i Bj,3(t).Dozvoljavajuci da indeksi vektora cvorova i kontrolnihtocaka zapocinju sa −3, za [tj , tj+1〉 i j = 0, . . . ,n − 3možemo pisati
γ(t) = [ Bj−3,3(t) Bj−2,3(t) Bj−1,3(t) Bj,3(t) ]
Pj−3Pj−2Pj−1Pj
.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Medutim za uniformne B-splajnove vrijedi
Bj−3,3(t) =B−3,3(t − j)Bj−2,3(t) =B−2,3(t − j)Bj−1,3(t) =B−1,3(t − j)
Bj,3(t) =B0,3(t − j)
Kako je [tj , tj+1〉 = [j , j + 1〉, slijedi t − j ∈ [0,1〉.Dakle, za t ∈ [0,1〉 je
γ(t+j) = [ B−3,3(t) B−2,3(t) B−1,3(t) B0,3(t) ]
Pj−3Pj−2Pj−1Pj
.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slijedi, ako znamo vrijednosti B-splajnova B−3,3(t),B−2,3(t), B−1,3(t), B0,3(t) za t ∈ [0,1〉 znat cemoizvrijedniti tocku γ(t) za bilo koji t .Postupak se vrši na sljedeci nacin.
1 Izaberi vrijednosti xp, p = 0, . . . ,m, takve da su0 = x0 < · · · < xm = 1.
2 Izvrijedni Bi,3(xp) za i = −3,−2,−1,0 i p = 0, . . . ,m.3 Za j = 0, . . . ,n − 3 izracunaj
γ(xp+j) = [ B−3,3(xp) B−2,3(xp) B−1,3(xp) B0,3(xp) ]
Pj−3Pj−2Pj−1Pj
,pri cemu
p =
{0, . . . ,m − 1, za j = 0, . . . ,n − 40, . . . ,m, za j = n − 3 .
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Iako se ova metoda cini vrlo jednostavnom, potrebno jeizracunati i spremiti m + 1 vrijednosti za 4 razlicitaB-splajna.Postupak racunanja možemo razvijati i dalje i definirati
B =[ B−3,3(t) B−2,3(t) B−1,3(t) B0,3(t) ]
=[ t3 t2 t 1 ]C
buduci da je svaki B-splajn polinom na segmentu [0,1].Za t ∈ [0,1〉 se može izracunati
B−3,3(t) =(1− t)3
3!
B−2,3(t) =3t3 − 6t2 + 4
3!
B−1,3(t) =−3t3 + 3t2 + 3t + 1
3!
B0,3(t) =t3
3!
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Sada možemo zapisati elemente matrice C:
C =
−1/6 1/2 −1/2 1/61/2 −1 1/2 0−1/2 0 1/2 01/6 2/3 1/6 0
.Napokon možemo sve to zapisati zajedno. Za t ∈ [0,1〉je
γ(t+j) = [ t3 t2 t 1 ]
−1/6 1/2 −1/2 1/61/2 −1 1/2 0−1/2 0 1/2 01/6 2/3 1/6 0
Pj−3Pj−2Pj−1Pj
.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Vektorski prostori B-splajnova
LemaNeka je
Sk ,t =
{∑i
PiBi,k (t) : Pi ∈ Rq
}skup svih linearnih kombinacija modificiranih normaliziranihB-splajnova stupnja k na vektoru cvorova t sa koeficijentimau Rq. Tada je Sk ,t vektorski prostor.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
PrimjerUsporedimo
vektor cvorova {0,0,0,0,1,2,2,2,2}s vektorom cvorova {0,1,2,3,4,5,6,7,8}.
Ako je k = 3 i n = 4, tada postoji 5 B-splajnova kojemožemo koristiti za generiranje krivulja u oba slucaja.
1 Za prvi vektor cvorova domena krivulje je[t3, t5] = [0,2].
U tom slucaju B0,3 je klase C(−1) u t = 0, i vrijediB0,3(0) = 1.Bi,3, za i = 1,2,3,4 su neprekidne u t = 0, i vrijediBi,3(0) = 0.Zbog toga je
γ(t3) =4∑
i=0
PiBi,3(t3) = P0.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Analaogno je B4,3 klase C(−1) u t = 2, i vrijediB4,3(2) = 1 (modificirana vrijednost).Bi,3, za i = 0,1,2,3 su neprekidne u t = 2, i vrijediBi,3(2) = 0.Zbog toga je
γ(t5) =4∑
i=0
PiBi,3(t5) = P4.
2 Za drugi vektor cvorova domena krivulje je[t3, t5] = [3,5].
U tom slucaju svi B-splajnovi su klase C(2) na cijelojdomeni.Vrijedi B0,3(t3) > 0, B1,3(t3) > 0, B2,3(t3) > 0 iB3,3(t3) = B4,3(t3) = 0.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Zbog toga je
γ(t3) =4∑
i=0
PiBi,3(t3) =2∑
i=0
PiBi,3(t3).
Analogno vrijedi B0,3(t5) = B1,3(t5) = 0, B2,3(t5) > 0,B3,3(t5) > 0 i B4,3(t5) > 0.
γ(t5) =4∑
i=0
PiBi,3(t5) =4∑
i=2
PiBi,3(t5).
Kada se krivulja promatra kao parametarska funkcija, akoeficijenti {Pi} su tocke u R3, ti koeficijenti nam daju uvid unjen smještaj i oblik.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Sljedece slike prikazuju primjere krivulja B-splajnova sarazlicitim vektorima cvorova i razlicitim stupnjevima, alidefinirane sa istim kontrolnim poligonom.Ovi primjeri pokazuju veliku fleksibilnost B-splajnovanad Bézierovom krivuljom.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) k = 2, t = {0,0,0,1,2,3,3,3};(b) k = 3, t = {0,0,0,0,1.5,3,3,3,3}.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) k = 3, t = {0,0,0,0,0.5,3,3,3,3};(b) k = 3, t = {0,0,0,0,2.5,3,3,3,3}.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Pretpostavimo da sut sa card(t) = n + k + 2τττ sa card(τττ) = m + k + 2
dva vektora cvorova koji definiraju prostore B-splajnovaSk ,t i Sk ,τττ za m,n > k .Razmatrat cemo prostore funkcija sa istim domenama,kada je Sk ,τττ potprostor od Sk ,t.Neka je tk = τk i tn+1 = τm+1 da bi domene bilejednake.Neka su u i υυυ vektori prijelomnih tocaka za t i τττ redom, ineka su m i µµµ odgovarajuci vektori multipliciteta.Ako je Sk ,τττ je gladi u ui nego Sk ,t, tada je multiplicitetod ui iz υυυ niži od multuiplicitet od ui iz u (može biti cak ijednak 0, pa ui /∈ υυυ).U tom slucaju bi moglo biti Sk ,τττ ⊂ Sk ,t.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremPretpostavimo da su t i τττ vektori cvorova sa duljinaman + k + 2 i m + k + 2, gdje je n > m ≥ k. Ako t sadržielemente od τττ sa istim ili vecim multiplicitetom, tada je
Sk ,τττ ⊂ Sk ,t.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
LemaNeka je τττ proizvoljni vektor cvorova sa odgovarajucimB-splajnovima Bi,k (t).
Neka je t ∈ R takav da je τ` ≤ t < τ`+1, tako dat = τττ ∪ {t} predstavlja novi vektor cvorova saodgovarajucim B-splajnovima Cj,k (t).
Tada je
Bi,k (t) =
Ci,k , i≤`−k−1
t − titi+k+1 − ti
Ci,k (t) +ti+k+2 − t
ti+k+2 − ti+1Ci+1,k (t), `−k≤i≤`
Ci+1,k (t), `+1≤i
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
KorolarZa τττ i t definirane u prethodnoj lemi vrijedi
n∑i=0
PiBi,k (t) =n+1∑j=0
QjCj,k (t),
gdje su
Qj =
Pj , j ≤ `− k
t − tjtj+k+1 − tj
Pj +tj+k+1 − ttj+k+1 − tj
Pj−1, `− k + 1 ≤ j ≤ `
Pj−1, `+ 1 ≤ j
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
KorolarNeka je τττ proizvoljni vektor cvorova sa pripadajucimprostorom B-splajnova Sk ,τττ .
Neka je t ∈ R takav da je τ0 ≤ t < τn+k+1, tako dat = τττ ∪ {t} predstavlja novi vektor cvorova sapripadajucim prostorom B-splajnova Sk ,t.
Ako t /∈ [tk , tn+1〉, tada Sk ,t promatramo na istoj domenikao i Sk ,τττ .
Tada jeSk ,τττ ⊂ Sk ,t.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija
Pretpostavimo da imamo dva vektora cvorova τττ i t, gdje jeτττ ⊂ t, odnosno
t = {ti} = τττ ∪ ηηη
gdje je ηηη = {ηi}qi=0 neki nepadajuci niz. ηηη može sadržavatiistu vrijednost više puta. Tada se t zove profinjenje od τττ .
TeoremPretpostavimo
τττ je proizvoljni vektor cvorova takav da je τi < τi+k+1 zasve i, sa pripadajucim prostorom B-splajnova Sk ,τττ ,t je neko profinjenje od τττ takvo da je tj < tj+k+1 za svej, sa pripadajucim prostorom B-splajnova Sk ,t.
Tada jeSk ,τττ ⊂ Sk ,t.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Slika: Krivulja i originalni kontrolni poligon;τττ = {0,0,0,0,1,4,5,7,10,10,10,10}.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Slika: Originalni i profinjeni kontrolni poligoni za umetnuti novicvor; t = {0,0,0,0,1,2,4,5,7,10,10,10,10}.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Slika: Originalni i profinjeni kontrolni poligoni za umetnute novecvorove na pola puta izmedu svih razlicitih τ -ova;t = {0,0,0,0,0.5,1,2.5,4,4.5,5,6,7,8.5,10,10,10,10}.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Slika: Originalni i profinjeni kontrolni poligoni za umetnuta dvanova cvora izmedu svaka dva razlicita τ -ova; t ={0,0,0,0,0.25,0.75,1,2,3,4,4.4,4.7,5,6,6,7,8,9,10,10,10,10}.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Slika: Originalni i profinjeni kontrolni poligoni za višestrukeumetnute cvorove;t = {0,0,0,0,1,2,2,2,2,4,5,7,7,7,7,10,10,10,10}.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Slika: Profinjenje profinjene krivulje na isti nacin;t1 = {0,0,0,0,0.5,1,2.5,4,4.5,5,6,7,8.5,10,10,10,10} it2 = {0,0,0,0,0.25,0.5,0.75,1,1.75,2.5,3.25,4,4.25,4.5,4.75,5,5.5,6,6.5,7,7.75,8.5,9.25,10,10,10,10}.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremNeka je γ(t) =
∑i PiBi,k (t) krivulja B-splajnova sa
vektorom cvorova t0.Pretpostavimo da je tj = {tj,p}p profinjenje odtj−1 = {tj−1,q}q, tj. tj−1 ⊂ tj ukljucujuci multiplicitete.Neka je ∆j = maxp |tj,p − tj,p−1|.Dalje, neka je Dj(t) po dijelovima linearna krivulja kojapredstavlja kontrolni poligon vektora cvorova j-togprofinjenja.
Tada‖γ(t)− Dj‖ ≤ C(‖∆j‖)2‖γ′‖,
gdje je C konstanta koja ne ovisi niti o vektorima cvorova nitio funkciji γ.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremAko je k ≥ 0 cijeli broj, a t je vektor cvorova sa n + k + 2elemenata, k ≤ n, tada je {Bi,k ,t, i = 0, . . . ,n} linearnonezavisan skup u Sk ,t i cini njegovu bazu.
Teorem
Sk ,t = PPk ,u,m.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Raspored cvorova
Potrebni su nam konkretni kriteriji za odabir vektora cvorova.
Teorem
Neka je {ti}n+k+1i=0 vektor cvorova sa odgovarajucim
B-splajnovima {Bi,k (t)}ni=0, i neka je γ(t) =∑n
i=0 PiBi,k (t),t ∈ [tk , tn+1] promatrana krivulja B-splajnova. Pretpostavimoda je ti < ti+k+1 za sve i tako da niti jedna bazna funkcija(B-splajn) nije degenerirana. Pretpostavimo da postojiindeks j takav da je tj = · · · = tj+k−1. Tada vrijedi sljedece.
1 Ako je tj−1 < tj < tj+k (multipliciteta k), krivulja je klaseC(0) u tj i interpolira Pj−1.
2 Ako je tj−1 = tj (multipliciteta k + 1) tada je krivuljaklase C(−1) u tj−1 i vrijedi
limt→t−j−1
γ(t) = Pj−2, i limt→t+
j−1
γ(t) = Pj−1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Teorem (nastavak)3 Ako je tj = tj+k (multipliciteta k + 1) tada je krivulja
klase C(−1) u tj i vrijedi
limt→t−j
γ(t) = Pj−1, i limt→t+
j
γ(t) = Pj .
4 Ako je tj+k−1 < tj+k ≤ tn+1, tada je
limt→t+
j
γ′(t) =k
tj+k − tj(Pj − Pj−1).
5 Ako je tk ≤ tj−1 < tj , tada je
limt→t−j
γ′(t) =k
tj − tj−1(Pj−1 − Pj−2).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Korolar
Za vektor cvorova t = {ti}n+k+1i=0 takav da je t0 = · · · = tk i
tn+1 = · · · = tn+k+1 krivulja
γ(t) =n∑
i=0
PiBi,k (t)
interpolira tocke P0 u t = tk i Pn u t = tn+1, itangentna je na P1 − P0 u t = tk , i na Pn − Pn−1 ut = tn+1.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Za k = 3 vektor cvorova je t = {0,1,2,3,4,5}, bezvišestrikih cvorova. Svi dijelovi krivulje spajaju se sa glatkocomC(2). Na slici su prikazane i konveksne ljuske kontrolnih tocakasvakog pojedinog dijela.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Za k = 3 vektor cvorova je t = {0,1,1,2,3,4}, sa jednimdvostrukim cvorom. Dio krivulje oznacen sa Q4 sveo se na tocku.Konveksne ljuske od Q3 i Q5 sijeku se u bridu P2P3 na kojoj moraležati njihova spojna tocka. Krivulja je klase C(1) u toj tocci.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Za k = 3 vektor cvorova je t = {0,1,1,1,2,3}, sa jednimtrostrukim cvorom. Dijelovi krivulje oznacen sa Q4 i Q5 sveli su sena tocke. Konveksne ljuske od Q3 i Q6 sijeku se u tocci P3 u kojojmora ležati njihova spojna tocka. Krivulja je klase C(0) u toj tocci.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Za k = 3 vektor cvorova je t = {0,1,1,1,1,2}, sa jednimcetverostrukim cvorom. Dijelovi krivulje oznacen sa Q4, Q5 i Q6sveli su se na tocke. Konveksne ljuske od Q3 i Q7 imaju prazanpresjek, zbog cega krivulja ima prekid izmedu P3 i P4.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija
Krivulja B-splajnova stupnja k sa vektorom cvorovat = {ti}n+k+1
i=0 gdje je t0 = · · · = tk i tn+1 = · · · = tn+k+1 zovese otvorena krivulja B-splajnova.
Definicija
Krivulja B-splajnova stupnja k definirana na [tk , tn+1] kodkoje ne vrijede uvijeti na multiplicitete nužni za interpolacijubilo koje od krajnjih kontrolnih tocaka zove se plivajucakrivulja B-splajnova.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
DefinicijaDefiniramo ∆i = ti+1 − ti .
Ako je ∆i = ∆i+1 za sve i, tada se sve krivuljeB-splajnova koje koriste t kao svoj vektor cvorova zovuuniformne plivajuce krivulje B-splajnova.Ako je t vektor cvorova koji odgovara otvorenoj krivuljiB-splajnova i ∆k+i = ∆k+i+1 za i = 0, . . . ,n − k − 1,tada se sve odgovarajuce otvorene krivulje zovuuniformne otvorene krivulje B-splajnova.Sve krivulje ciji vektori cvorova ne zadovoljavaju gornjeuvjete zovu se neuniformne krivulje B-splajnova.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Interpolacija B-splajnovima
Neka nam je zadan skup od s + 1 uredenih parovapodataka {(ui ,pi)}si=0.Problem interpolacije u prostoru Sk ,t svodi se napronalaženje koeficijenata Pj takvih da
pi =n∑
j=0
PjBj,k ,t(ui), i = 0, . . . , s.
Neka nam je zadan skup od s + 1 uredenih trojkipodataka {(ui ,pi ,qi)}si=0.Problem Hermiteove interpolacije u prostoru Sk ,t svodise na pronalaženje koeficijenata Pj takvih da
pi =n∑
j=0
PjBj,k ,t(ui), i = 0, . . . , s,
qi =n∑
j=0
PjB′j,k ,t(ui), i = 0, . . . , s.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
C(2) kubicna interpolacija u cvorovima
Koristit cemo neuniformne otvorene kubicneB-splajnove.Rješavat cemo problem interpolacije tocaka{(ui ,pi)}si=0 sa C(2) po dijelovima kubicnompolinomijalnom krivuljom.Cvorovi ce biti definirani u {ui}si=0.Da bi ovi uvjeti bili zadovoljeni, mora vrijediti sljedece:
Domena interpolacijeske krivulje je [u0,us].Krivulja mora biti klase C(2) na spojevima, zato unutarnjicvorovi moraju biti jednostruki s vrijednostima {ui}s−1
i=1 .Dakle, vektor cvorova t = {tj} mora biti definiran sa
tj =
u0, j = 0,1,2,3uj−3, j = 4, . . . , s + 2us, j = s + 3, s + 4, s + 5, s + 6
Postoji s + 3 razlicitih B-splajnova Bj,3 definiranih ovimvektorom cvorova.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Buduci da imamo s + 1 interpolacijskih tocaka, amoramo odrediti s + 3 koeficijenta Pj , ostaje nam 2stupnja slobode.Postoji nekoliko nacina kako da postavimo uvjete na tadva dodatna stupnja slobode.
1 Zahtijevamo da je γ′′(u0) = 0 i γ′′(us) = 0. Ova vrstainterpolanta zove se interpolant prirodnim splajnom.
2 Zahtijevamo da je interpolant klase C(3) u u1 i us−1. Tose zove uvijet bez cvora, jer prva dva segmenta [u0,u2]i zadnja dva segmenta [us−2,us] cvorova specificirajujedan kubicni polinom kao da u1 i us−1 i nisu cvorovi.
3 Zahtijevamo da su zadane tangente u krajnjim tockamakrivulje, tj. γ′(u0) = p′0 i γ′(us) = p′s. Ova vrstainterpolanta zove se kompletan interpolant kubicnimsplajnom i on se najcešce koristi.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ako je n = s + 2, tada tražimo kompletan interpolantkubicnim splajnom oblika
γ(t) =n∑
i=0
PiBi,3(t),
takav da vrijedi
pj =γ(uj) =n∑
i=0
PiBi,3(uj) j = 0, . . . , s
p′j =γ′(uj) =n∑
i=0
PiB′i,3(uj) j = 0, s
Buduci da smo odredili da je interpolant otvorenakrivulja B-splajnova, mora biti
P0 = p0, Pn = ps.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dalje, u u0 = t0 = · · · = t3 samo B0,3 i B1,3 imajuderivacije razlicite od nule.
B0,3 je klase C(−1) u u0.B1,3 je klase C(0) u u0.Bi,3 je barem klase C(1) u u0 za i ≥ 2, a za t < u0 jeBi,3 ≡ 0. Dakle, B′i,3(u0) = 0.
Buduci da vrijedi∑n
i=0 B′i,3(t) = 0 za sve t , imamo
B′0,3(u0) = −B′1,3(u0).
SlicnoB′n−1,3(us) = −B′n,3(us).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Napokon moramo odrediti koji B-splajnovi poprimajuvrijednost razlicitu od nule u ui , i = 1, . . . , s − 1.Buduci da je ti+3 = ui < ui+1 = ti+4, samo Bi,3, Bi+1,3,Bi+2,3 i Bi+3,3 mogu biti razliciti od nule u ui .Ali na intervalu [ti+2, ti+3〉 samo Bi−1,3, Bi,3, Bi+1,3 iBi+2,3 mogu poprimiti vrijednosti razlicite od nule.Sada, Bi−1,3 i Bi+3,3 su klase C(2) u ti+3, i buduci dasvaki od njih poprima nulu na jednoj strani od tog cvorai vrijednosti razlicite od nule na drugoj, vrijedi
Bi−1,3(ui) = 0, Bi+3,3(ui) = 0.
Dakle slijedi
pi =i+2∑j=i
PjBj,3(ui).
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dobivene zakljucke možemo iskoristiti za dobivanjesustava
B
P0P1P2...
Pn−2Pn−1Pn
=
p0p′0p1...
ps−1p′sps
.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Za bi,j = Bi,3(uj) i b′i,j = B′i,3(uj), matrica B je oblika
B =
1 0 0 0 · · · 0 0 0 0b′0,0 b′1,0 0 0 · · · 0 0 0 00 b1,1 b2,1 b3,1 · · · 0 0 0 0
. . .. . .
. . .0 0 0 0 · · · bn−3,s−1 bn−2,s−1 bn−1,s−1 00 0 0 0 · · · 0 0 b′n−1,s b′n,s0 0 0 0 · · · 0 0 0 1
.
Rješenje ovog (n + 1)× (n + 1) sustava linearnihjednadžbi daje koeficijente B-splajnova.Ova matrica može biti velikih dimenzija, ali jetridijagonalna pa za nju postoji mnogo efikasnihnumerickih metoda.Za parametarsku interpolaciju (Pi ∈ R3), sustav serješava posebno za svaku koordinatu koeficijenata.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Po dijelovima kubicna Hermiteova interpolacija
Neka je k = 3 i pretpostavimo da je zadano m + 1 trojkikoji se sastoje od vrijednosti parametra, tocke nakrivulji i njene derivacije {(ui ,pi ,qi)}mi=0.Ponovo konstruiramo vektor cvorova t za otvorenukrivulju B-splajnova sa
ti =
u0, i = 0,1,2,3uj , i = 2j + 2,2j + 3, j = 1, . . . ,m − 1um, i = 2m + 2,2m + 3,2m + 4,2m + 5
Prostor Sk ,t je klase C(1) za svaku vrijednost parametraui , i = 1, . . . ,m − 1, jer je multiplicitet svakogunutarnjeg cvora jednak 2.t ima N + 1 = 2m + 6 = n + 5 elemenata, i postojin + 1 = 2m + 2 razlicitih B-splajnova Bi,3 definiranihovim vektorom cvorova.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
S druge strane moramo riješiti sustav od 2m + 2linearnih jednadžbi za nepoznate koeficijente.
pj =γ(uj) =2m+1∑i=0
PiBi,3(uj) j = 0, . . . ,m
qj =γ′(uj) =2m+1∑i=0
PiB′i,3(uj) j = 0, . . . ,m
Primijetimo da je Bi,3(uj) 6= 0 i B′i,3(uj) 6= 0 zai = 2j ,2j + 1.
uj = t2j+2 = t2j+3, pa su jedini B-splajnovi (klase C(1)) zakoje je uj unutar nosaca B2j,3 i B2j+1,3.
Dakle slijedi
pj =
2j+1∑i=2j
PiBi,3(uj), qj =
2j+1∑i=2j
PiB′i,3(uj)
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dobivene zakljucke možemo iskoristiti za dobivanjesustava
H
P0P1P2...
Pn−2Pn−1Pn
=
p0q0p1q1...
psqs
.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Opcenito, elementi matrice H su oblika
h`,i =
{Bi,3(uj), ` = 2jB′i,3(uj), ` = 2j + 1 , i = 0, . . . ,2m + 1,
pri cemu je matrica H blok dijagonalna matrica, sa2× 2 blokovima na dijagonali
Hj =
[B2j,3(uj) B2j+1,3(uj)B′2j,3(uj) B′2j+1,3(uj)
].
Dakle,
H =
D0 0 0. . .
0 0 Dm
.
Racunalnagrafika
Nela Bosner
Osnovnipojmovi
Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva
Geometrijsketransformacije
Stvaranjepogleda u 3D
PrikazivanjekrivuljaKonike
Definicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika uhomogenimkoordinatama
Po dijelovima konike
Bézierove krivulje
Svojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
InterpolacijapomocuBernsteinovihbaznih funkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
LijepljenjeBézierovih krivulja
Povecavanjestupnja
B-splajnovi
Konstruktivne podijelovimapolinomijalnekrivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinovefunkcije kaoB-splajnovi
UniformniB-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) Podaci; (b) podaci, po dijelovima Hermiteov interpolant ikompletan interpolant kubicnim splajnom.