Računarska grafika. Rasterizacija linije

Σχετικά έγγραφα
Računarska grafika. Rasterizacija linije

Ispitivanje toka i skiciranje grafika funkcija

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

Računarska grafika - vežbe. 9 Rasterizacija kružnice

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

3.1 Granična vrednost funkcije u tački

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

numeričkih deskriptivnih mera.

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

SISTEMI NELINEARNIH JEDNAČINA

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Zavrxni ispit iz Matematiqke analize 1

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

Kaskadna kompenzacija SAU

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Program testirati pomoću podataka iz sledeće tabele:

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Obrada signala

Prvi kolokvijum. y 4 dy = 0. Drugi kolokvijum. Treći kolokvijum

IZVODI ZADACI (I deo)

5. Karakteristične funkcije

41. Jednačine koje se svode na kvadratne

Matematka 1 Zadaci za drugi kolokvijum

Univerzitet u Nišu, Prirodno-matematički fakultet Prijemni ispit za upis OAS Matematika

Sistemi veštačke inteligencije primer 1

Trigonometrijske nejednačine

Elementi spektralne teorije matrica

7 Algebarske jednadžbe

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

5 Ispitivanje funkcija

Teorijske osnove informatike 1

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE

ELEKTROTEHNIČKI ODJEL

18. listopada listopada / 13

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013

radni nerecenzirani materijal za predavanja

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

Sortiranje prebrajanjem (Counting sort) i Radix Sort

Ispit održan dana i tačka A ( 3,3, 4 ) x x + 1

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

MATERIJAL ZA VEŽBE. Nastavnik: prof. dr Nataša Sladoje-Matić. Asistent: dr Tibor Lukić. Godina: 2012

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović

II. ODREĐIVANJE POLOŽAJA TEŽIŠTA

TAČKA i PRAVA. , onda rastojanje između njih računamo po formuli C(1,5) d(b,c) d(a,b)

Osnovne teoreme diferencijalnog računa

III VEŽBA: FURIJEOVI REDOVI

Reverzibilni procesi

DIMENZIONISANJE PRAVOUGAONIH POPREČNIH PRESEKA NAPREGNUTIH NA PRAVO SLOŽENO SAVIJANJE

( , 2. kolokvij)

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

NOMENKLATURA ORGANSKIH SPOJEVA. Imenovanje aromatskih ugljikovodika

1. Pojam fazi skupa. 2. Pojam fazi skupa. 3. Funkcija pripadnosti, osobine i oblici. 4. Funkcija pripadnosti, osobine i oblici

10. STABILNOST KOSINA

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

- pravac n je zadan s točkom T(2,0) i koeficijentom smjera k=2. (30 bodova)

TRIGONOMETRIJSKE FUNKCIJE I I.1.

TRIGONOMETRIJA TROKUTA

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

Operacije s matricama

II. ODREĐIVANJE POLOŽAJA TEŽIŠTA

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA

PRIMJER 3. MATLAB filtdemo

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

APROKSIMACIJA FUNKCIJA

ιαφάνειες παρουσίασης #3

π π ELEKTROTEHNIČKI ODJEL i) f (x) = x 3 x 2 x + 1, a = 1, b = 1;

Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II

Eliminacijski zadatak iz Matematike 1 za kemičare

MATEMATIKA I 1.kolokvij zadaci za vježbu I dio

S t r a n a 1. 1.Povezati jonsku jačinu rastvora: a) MgCl 2 b) Al 2 (SO 4 ) 3 sa njihovim molalitetima, m. za so tipa: M p X q. pa je jonska jačina:

Zadaci iz trigonometrije za seminar

ТЕМПЕРАТУРА СВЕЖЕГ БЕТОНА

Fakultet tehničkih nauka, Softverske i informacione tehnologije, Matematika 2 KOLOKVIJUM 1. Prezime, ime, br. indeksa:

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa?

Geometrija (I smer) deo 1: Vektori

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

Elektrotehnički fakultet univerziteta u Beogradu 16.maj Odsek za Softversko inžinjerstvo

5. PARCIJALNE DERIVACIJE

Ako prava q prolazi kroz koordinatni početak i gradi ugao φ [0, π) sa x osom tada je refleksija S φ u odnosu na tu pravu:

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

Testiranje statistiqkih hipoteza

Mate Vijuga: Rijeseni zadaci iz matematike za srednju skolu

Riješeni zadaci: Nizovi realnih brojeva

Prediktor-korektor metodi

Funkcije dviju varjabli (zadaci za vježbu)

Transcript:

Računarska grafika

Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem algoritma):. nagib (slope) linije u granicama: 0<nagib<; (nagib=tg α) 2. linija zadata pomoću krajnjih tačaka p i p2 za koje važi: p.x<p2.x (p je levo u odnosu na p2) p2(x n,y n ) p(x,y ) (x i,y i ) α (x i+,y i+ ) tgα dx=p2.x-p.x dy=p2.y-p.y 2

Algoritam 3 Nagib prave je racionalan broj: nagib = dy/dx = (p2.y-p.y)/(p2.x-p.x) U svakom koraku algoritma, inkrementira se x: x i+ =x i + Važi: y i+ -y i = nagib*(x i+ -x i ) = nagib* Sledi: y i+ = y i + nagib Da bi se dobio i-ti piksel potrebno je izvršiti zaokruživanje dobijene vrednosti y i+ Procedure LineDraw(p,p2: Point; v: Value); Var x: Integer; y, nagib: Real; Begin nagib:= (p2.y - p.y)/(p2.x - p.x); y:=p.y; For x:=p.x To p2.x Do Begin SetPixel(x,Round(y),v); y:=y+nagib End End;

Problemi i rešenja Jedan potencijalan problem kumulativna greška kod dodavanja nagib na y Rešenje: Procedure LineDraw(p,p2: Point; v: Value); Var x,y: Integer; nagib: Real; Begin nagib:= (p2.y - p.y)/(p2.x - p.x); y:=p.y; For x:=p.x To p2.x Do Begin SetPixel(x,y,v); y:=p.y+round((x-p.x+)*nagib) End End; Veći problem aritmetika realnih brojeva je spora u odnosu na celobrojnu 4

Bresenham-ov algoritam 962. J.Bresenham je studirao problem generisanja prave linije na digitalnom ploteru i razvio algoritam koji se koristi i danas algoritam objavljen na konferenciji 963. i u časopisu 965. Tehnika se zasniva na odlučivanju: da li za inkrementiranu vrednost koordinate X treba inkrementirati (eventualno dekrementirati) vrednost koordinate Y Pretpostavke za izvođenje su iste kao kod DDA algoritma:. nagib linije u granicama: 0<nagib<; (nagib=tg a) 2. linija zadata pomoću krajnjih tačaka p i p2 za koje važi: p.x<p2.x (p je levo u odnosu na p2) Osnovna pozitivna karakteristika Bresenham-ovog algoritma je da se Real aritmetika zamenjuje Integer aritmetikom 5

Pojam greške Posmatra se prava koja prolazi kroz tačku (piksel) (x-,y) i uočavaju se dve sledeće kandidat-tačke: A(x,y) i B(x,y+) B(x,y+) e i nagib /2 (x-,y) A(x,y) i- i Uvodi se pojam greške (odstupanja) e stvarne prave od sredine vertikalne duži koja spaja dva piksela (e=nagib-/2): e>0, ako prava prolazi kroz "gornju" polovinu duži => B e=0, ako prava prolazi kroz polovinu duži => A ili B e<0, ako prava prolazi kroz "donju" polovinu duži => A 6

Slučajevi greške Dva osnovna slučaja su: () nagib > /2 (e i >0) (2) nagib /2 (e i 0) (x+,y+2) e i+ 7 e i nagib /2 (x-,y) i- (x,y+) (x,y) i 3/2 (x+,y) i+ e i = nagib /2 e i+ = 2nagib 3/2 = e i + nagib 2*nagib (x-,y) i- (x,y+) /2 -e i nagib (x,y) i (x+,y+) e i+ (x+,y) i+ -e i = /2-nagib e i = nagib /2 e i+ =2nagib /2 = e i + nagib 2*nagib

Izvođenje I dalje je nagib realan broj, a cilj je da algoritam bude celobrojni () nagib > /2 (e i >0) (2) nagib /2 (e i 0) e i = nagib /2 e i = nagib /2 e i+ = e i + nagib e i+ = e i + nagib e i = dy/dx /2 /*2dx e i = dy/dx /2 /*2dx e i+ = e i + dy/dx /*2dx e i+ = e i + dy/dx /*2dx 2dx e i = 2dy dx 2dx e i = 2dy dx 2dx e i+ = 2dx e i + 2dy 2dx 2dx e i+ = 2dx e i + 2dy Za odlučivanje je dovoljan znak greške, apsolutna vrednost nije bitna: e' i = 2dy dx e' i = 2dy dx e' i+ = e' i + 2(dy dx) e' i+ = e' i + 2dy 8

Algoritam sa ograničenjima Pseudokod: x:=p.x; y:=p.y; dy:= (p2.y - p.y); dx:= (p2.x - p.x); e:= 2*dy - dx; {Integer!} for i:= to dx do begin SetPixel(x,y,v); // postavlja piksel (x,y) na vrednost v if e > 0 then begin y:= y+; e:= e+2*(dy-dx) end else e:= e + 2*dy; x:= x+; end; SetPixel(x,y,v); Ograničenje () može se ukloniti da algoritam važi za: 0 nagib +, tako što se za strme prave ( nagib + ) zamene vrednosti za x i y prilikom crtanja tačke Ograničenje (2) uklanja se tako što crtanje uvek počinje od tačke sa manjom x koordinatom 9

Kompletan algoritam () 0 Kompletan Bresenham-ov algoritam za prave sa ne-negativnim nagibom (nagib>0): Procedure BresenhamLineDraw(p,p2: Point; v: Value); Var dx,dy,x,y,incr,incr2,xend,e,t: Integer; strma: Boolean; Begin dx:= Abs(p2.x - p.x); dy:= Abs(p2.y - p.y); strma:= dy > dx; If strma Then Begin End; t:= dx; dx:= dy; dy:= t; t:= p.x; p.x:= p.y; p.y:= t; t:= p2.x; p2.x:= p2.y; p2.y:= t; incr:=2*(dy-dx); incr2:= 2*dy; e:=2*dy - dx;

Kompletan algoritam (2) {nastavak} If p.x > p2.x Then Begin x:= p2.x; y:= p2.y; xend:= p.x End Else Begin x:= p.x; y:= p.y; xend:= p2.x End; While x < xend Do Begin If strma Then SetPixel(y,x,v) Else SetPixel(x,y,v); If e > 0 Then Begin y:= y + ; e:= e + incr End Else e:= e + incr2; x:= x + End; If strma Then SetPixel(y,x,v) Else SetPixel(x,y,v) End; Slučaj za nagib<0 rešiti kroz samostalno vežbanje. Rasterizacija kružnice na vežbama