472
Raˇ cunalna grafika Nela Bosner Osnovni pojmovi Osnovni algoritmi rasterske grafike za crtanje 2D primitiva Geometrijske transformacije Stvaranje pogleda u 3D Prikazivanje krivulja Raˇ cunalna grafika Predavanja Nela Bosner

Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

Prikazivanjekrivulja

Racunalna grafikaPredavanja

Nela Bosner

Page 2: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 3: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 4: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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”.

Page 5: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 6: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 7: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 8: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 9: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 10: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 11: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 12: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 13: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 14: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 15: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 16: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 17: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 18: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 19: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 20: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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)

Page 21: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 22: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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)

Page 23: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 24: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 25: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 26: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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 .

Page 27: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 28: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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 ).

Page 29: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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;}

}

Page 30: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 31: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 32: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 33: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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 .

Page 34: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 35: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 36: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 37: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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 .

Page 38: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 39: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 40: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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 */

}}

Page 41: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 42: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 43: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 44: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 45: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 46: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 47: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 48: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 49: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 50: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 51: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 52: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 53: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 54: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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 .

Page 55: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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);

}}

Page 56: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 57: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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);

}}

Page 58: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 59: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 60: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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);

}}

Page 61: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 62: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 63: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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 .

Page 64: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 65: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 66: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 67: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 68: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 69: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 70: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 71: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 72: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 73: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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;

Page 74: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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 */}

Page 75: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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;

}

Page 76: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 77: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 78: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 79: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 80: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 81: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 82: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 83: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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)

Page 84: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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)

Page 85: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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)

Page 86: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 87: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 88: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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)

Page 89: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 90: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 91: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 92: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 93: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 94: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 95: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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(−θ)

Page 96: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 97: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 98: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 99: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 100: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 101: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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)

Page 102: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 103: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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)

Page 104: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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)

Page 105: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 106: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 107: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 108: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 109: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

- - - -

Page 110: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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’.

Page 111: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 112: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 113: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 114: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 115: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 116: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 117: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 118: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 119: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 120: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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)

Page 121: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 122: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 123: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 124: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 125: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 126: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 127: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 128: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 129: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 130: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 131: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 132: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 133: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 134: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 135: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 136: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 137: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 138: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 139: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 140: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 141: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 142: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 143: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 144: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 145: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 146: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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‖

Page 147: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 148: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

.

Page 149: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

,

Page 150: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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 .

Page 151: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 152: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 153: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 154: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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 .

Page 155: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 156: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

).

Page 157: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 158: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 159: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 160: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

.

Page 161: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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)

Page 162: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 163: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

)

Page 164: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 165: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 166: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 167: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 168: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 169: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 170: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 171: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 172: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 173: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 174: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 175: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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).

Page 176: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 177: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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

Page 178: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

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.

Page 179: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 180: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 181: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 182: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 183: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 184: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 185: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 186: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 187: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 188: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 189: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 190: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 191: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 192: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 193: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 194: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 195: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 196: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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}

Page 197: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 198: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 199: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 200: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 201: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 202: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 203: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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?

Page 204: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

)

Page 205: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 206: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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′.

Page 207: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 208: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 209: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 210: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 211: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 212: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 213: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 214: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 215: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 216: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 217: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 218: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 219: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 220: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 .

Page 221: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 222: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)

Page 223: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 224: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 225: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 226: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)

Page 227: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 228: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)

Page 229: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 230: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 231: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 232: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 233: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 234: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 235: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 236: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 237: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)

Page 238: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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:

Page 239: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 240: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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]

Page 241: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 242: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 243: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 244: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 245: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 246: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 247: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 248: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 249: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 250: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 251: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 252: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 253: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 254: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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!

Page 255: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 256: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 257: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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))

Page 258: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 259: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 260: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 261: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 262: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 263: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 264: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)!

Page 265: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 266: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 267: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 268: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 269: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 270: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 271: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 272: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 273: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 274: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 275: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 276: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 277: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 278: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 279: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 280: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 281: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 282: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 .

Page 283: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 284: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 285: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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].

Page 286: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 287: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 288: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 289: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

).

Page 290: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 291: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 292: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 293: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 294: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 295: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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))

.

Page 296: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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].

Page 297: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)

Page 298: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 299: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 300: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 301: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

.

Page 302: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 303: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 304: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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, ε);

}}

Page 305: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 306: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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].

Page 307: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 308: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 309: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 .

Page 310: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 311: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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].

Page 312: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 313: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 314: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)

Page 315: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 316: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 317: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 318: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 319: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

.

Page 320: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 321: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 322: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 323: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 324: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 325: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 326: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 327: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 328: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 329: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 330: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 331: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 332: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 333: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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τ.

Page 334: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 335: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 336: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 337: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 338: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)‖

Page 339: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 340: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 341: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 342: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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].

Page 343: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 344: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 345: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 346: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 347: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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}.

Page 348: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 349: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 350: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 351: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 352: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 353: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 354: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)

Page 355: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 356: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 357: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 358: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 359: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 360: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 361: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 362: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)

Page 363: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 364: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 365: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 366: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 367: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 368: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 369: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 370: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 371: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 372: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 373: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 374: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 375: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)

Page 376: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 377: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 378: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 379: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 380: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 381: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 .

Page 382: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 383: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 384: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 385: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 386: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 387: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 388: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 389: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 .

Page 390: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 391: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 392: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 393: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 394: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 395: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 396: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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〉

Page 397: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 398: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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〉.

Page 399: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 400: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 .

Page 401: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 402: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 .

Page 403: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 .

Page 404: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)

Page 405: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 406: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 407: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 408: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 409: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 410: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

).

Page 411: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 = Θ.

Page 412: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 413: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 ].

Page 414: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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〉.

Page 415: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 .

Page 416: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 417: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 418: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 419: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 420: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 421: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 422: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 423: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 424: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 425: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

.

Page 426: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

.

Page 427: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 .

Page 428: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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!

Page 429: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

.

Page 430: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 431: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 432: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 433: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 434: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 435: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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}.

Page 436: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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}.

Page 437: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 438: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 439: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 440: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

Page 441: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 442: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 443: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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}.

Page 444: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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}.

Page 445: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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}.

Page 446: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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}.

Page 447: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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}.

Page 448: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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}.

Page 449: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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 γ.

Page 450: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 451: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 452: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 453: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 454: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 455: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 456: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 457: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 458: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 459: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 460: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 461: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 462: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 463: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 464: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 465: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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).

Page 466: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

.

Page 467: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 468: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.

Page 469: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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)

Page 470: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

.

Page 471: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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

.

Page 472: Racunalna grafika - Predavanjanela/rgpredavanja/rg_predavanja.pdf · Razvoj racunalne ˇ grafike Razvoj ... Kratka povijest: Do ranih 80-ih racunalnom grafikom se bavio mali broj

Racunalnagrafika

Nela Bosner

Osnovnipojmovi

Osnovnialgoritmirasterskegrafike zacrtanje 2Dprimitiva

Geometrijsketransformacije

Stvaranjepogleda u 3D

PrikazivanjekrivuljaKonike

Definicije

Krivulje drugog redakao konike

Lukovi konika kaoracionalne funkcije

Reprezentacijakonika uhomogenimkoordinatama

Po dijelovima konike

Bézierove krivulje

Svojstva Bézierovihkrivulja

SvojstvaBernsteinovihfunkcija miješanja

Geometrijskasvojstva Bézierovihkrivulja

Izvrednjavanjederivacija

Dijeljenje Bézierovekrivulje

Bernsteinoveaproksimacije

InterpolacijapomocuBernsteinovihbaznih funkcija

UsporedivanjeBézierovih krivulja sinterpolacijom

UsporedivanjeBernsteinoveaproksimacije sinterpolacijom

LijepljenjeBézierovih krivulja

Povecavanjestupnja

B-splajnovi

Konstruktivne podijelovimapolinomijalnekrivulje

B-splajn funkcijemiješanja

Svojstva B-spajnova

Neprekidnost ukrajevima krivulje

Bernsteinovefunkcije 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.