sciaga kolos1


PARAMETRYCZNY OPIS KRZYWEJ OBCINANIE P = T(xl, yl) * R(að) * T(-xl, -yl) * P = Mz * P
x=fx(t) x=200t+100 x=100t^2+100 - analityczne
1 0 xl cosað -sinað 0 1 0 -xl
y=fy(t) x=400t+300 x=400t^2+200 t Îð < 0,1 > - w trakcie konwersji
[ 0 1 yl ] * [ sinað cosað 0 ] * [ 0 1 -yl ] = Mz
7/16
t=0, x =fx(0), y = fy(0) punkt poczÄ…tkowy xp, yp - w czasie operacji Copypixel
0 0 1 0 0 1 0 0 1
t=1, x =fx(1), y = fy(1) punkt końcowy xk, yk
3/16 5/16 1/16
x = axt + bx xp = bx
SKALOWANIE WZGLDEM LOKALNEGO
y = bxt + by t Îð < 0,1 > yp = by UKAADU WSPÓARZDNYCH
xk = ax + bx xk = ax + xp ax = xk - xp 1) T( -xl, -yl )
Im bardziej widoczny raster tym większy
yk = ay + by yk = ay + yp ay = yk - yp 2) S( Sx, Sy )
OBCINANIE ODCINKÓW PROSTOKTEM powinien być kąt nachylenia. Dla koloru
x = xp ( 1  t ) + xkt 3) T( xl, yl )
Odcinek w postaci parametrycznej: czarnego 45°ð, a dla żółtego najmniejszy.
y = yp ( 1  t ) + ykt t Îð < 0,1 > P = T(-xl, -yl) * S(Sx, Sy) * T(xl, yl) * P
x = 100t Firma PANTONE:
PRZESTRZEC 3D
y = 200t t Îð < 0,1 > - Pantone Process Colors
1-t - przesunięcie T(dx, dy, dz) =
Czy przecina siÄ™ z x = 1024 ? - Pantone Matching System Colors
1 1 0 0 dx
1024 = 100t => t = 1024/100 = 10,24 - Pantone Hexachrome Colors
0 1 0 dy
1. Algorytm Cohena-Sutherlanda
= [ 0 0 1 dz ]
t
Klasyfikacja wierzchołków odcinka RZUTY RÓWNOLEGAE
0 0 0 1
- rzuty prostokÄ…tne (ortogonalne)
- skalowanie S(Sx, Sy, Sz) =
- rzuty ukośne
Sx 0 0 0
1 1001 1000 1010
Rzuty aksynometryczne  na rzutniÄ™ nie
KRZYWE BEZIERA 0 Sy 0 0
ymax
równoległą do jakiejkolwiek płaszczyzny
Dane sÄ… 4 punkty p1, p2, p3, p4. Krzywa musi = [ 0 0 Sz 0 ]
0001 0000 0010
głównej układu współrzędnych:
przechodzić przez p1 i p4. Punkty p2 i p3 są 0 0 0 1
ymin
- izometryczne (kierunek razutowania
aproksymowane. Wagi poszczególnych punktów - obrót Rz(qð) =
0101 0100 0110
równoległy do wektora (1, 1, 1)
są określone wielomianami Bernsteina
cosqð -sinqð 0 0
- inne
Q(t) = [ qx(t) , qy(t) ]
sinqð cosqð 0 0
xmin xmax
Bryła (stożek, piramida) widzenia.
Q(t) = (1  t)^3 P1 + B1
= [ 0 0 1 0 ]
x, y  współrzędne punktu, który analizujemy
+ 3t (1 - t)^2 P2 + B2
0 0 0 1
bit 1  ymax  y PROCES RZUTOWANIA
+ 3t^2 (1 - t) P3 + B3
- obrót Rx(qð) =
bit 2  y  ymin 0  (+) 1. Prymitywy wejściowe we współrzędnych
+ t^3 P4 B4
1 0 0 0
bit 3  xmax  x 1  (-) świata
0 cosqð -sinqð 0
B1
bit 4  x  xmin 2. Obcięcie przez bryłę widzenia
= [ 0 sinqð cosqð 0 ]
1
Po określeniu kodów wnioskujemy: 3. Rzutowanie na rzutnię
0 0 0 1
B4 0000 4. Przekształcenie na współrzędne ekranu +
- obrót Ry(qð) =
B2 + 0000 określenie koloru pikseli
cosqð 0 sinqð 0
3 0000 w pełni akceptowalny
0 1 0 0
Y P (x ,y ,z )
B3 Jeśli operacja AND na obu słowach kodowych Y P (x ,y ,z )
= [ -sinqð 0 cosqð 0 ]
daje wynik != 0 to oba końce w tej samej
0 0 0 1
półpłaszczyznie nie przecinającej się z oknem
X P(x,y,z)
X P(x,y,z)
obcinanym.
RZUTOWANIE W PRZESTRZENI 3D
1000
1/2 1
Rzutowanie  przekształcenia punktów
* 1010
prowadzÄ…ce z przestrzeni n-wymiarowej do
1000
Własności:
przestrzeni mniej niż n-wymiarowej
1. Krzywa przechodzi przez p1 i p4
PRZEKSZTAACENIA
2. W punkcie p1 krzywa jest styczna do p2p1
Z
Z
Punkt zbieżności linii, osiowe punkty zbieżności
3. W punkcie p4 krzywa jest styczna do p4p3 - Przesunięcie (translacja)
d
d
1. Jednopunktowy rzut perspektywiczny
Wektor przesunięcia (3, -4); (2, 4) --> (5, 0)
4. Krzywa zawiera siÄ™ w minimalnym
Y
x x dx x /d = x/z y /d = y/z x = x/(z/d) y = y/(z/d)
wielokącie wypukłym rozpiętym na punktach
P = [ y ] P = [ y ] T = [ dy ] T(dx, dy) 1 0 0 0
p1, p2, p3, p4
P4
P = P + T 0 1 0 0
P2
- Skalowanie Mper = [ 0 0 1 0 ]
x = Sx * x y = Sy * y 0 0 1/d 0
Sx, Sy  współczynniki skali
P3
x Sx 0 x 1 0 0 0 x x x = x/(z/d)
[ y ] = [ 0 Sy ] * [ y ] S(Sx, Sy) 0 1 0 0 y y y = y/(z/d)
P = P * S(Sx, Sy) [ 0 0 1 0 ] * [ z ] = [ z ] z = d
- Obrót 0 0 1/d 0 1 z/d w = 1
P1 X
x = r cos jð y = r sin jð P = Mper * P
CiÄ…gÅ‚ość geometryczna G1 jest to zachowanie x = r cos (jð + qð) = r cos jð cos qð - r sin jð sin qð
Z WYZNACZANIE POWIERZCHNI
tego samego kierunku wektorów sterujÄ…cych. y = r sin (jð + qð) = r sin jð cos qð + r sin qð sin jð
WIDOCZNYCH (ELIMINACJA
Ciągłość parametryczna C1 jest to zachowanie
x = x cos qð - y sin qð y = x sin jð + y cos qð
2. Perspektywa dwupunktowa
POWIERZCHNI NIEWIDOCZNYCH)
tego samego kierunku wektorów sterujących i te
x cos qð - sin qð x
Test zgrubny Test II
same długości.
[ y ] = [ sin qð cos qð ] * [ y ] R (qð)
CUSP  ostre przejście
P = P * R(qð)
SMOOTH  ciągłość G1
(Öð2)/2 - (Öð2)/2
SYMMETRY  ciągłość C1
R [ Pð / 4 ] = [ (Öð2)/2 (Öð2)/2 ]
P = M1 * P
WYPEANIANIE
P = M2 * P = M2 * M1 * P = Mz * P
A B C D z
1. Które piksele wypełnić
- algorytm malarski  sortowanie ze względu
2. Czym je wypełnić
WSPÓARZDNE JEDNORODNE I
na odległość
WYPEANIANIE STAAYM KOLOREM
MACIERZOWA REPREZENTACJA
- algorytm z-bufora  pamiętanie odległości
a) Wypełnianie prostokąta
PRZEKSZTAACEC
piksela
for ( y = ymin; y <= ymax; y++)
3. Perspektywa trzypunktowa
Oprócz koloru pamiętamy współrzędną z:
{ for (x = xmin; x <= xmax; x++)
Przestrzeń 2D  wprowadzamy trzecią
- z = 0 - tło
writepixel(x, y, color) }
współrzędną
- z > 0 - odległość od tła do obserwatora
b) Wypełnianie wielokątów
Punkt : (x, y, W)
void zBuffer
Wypełnianie danej linii:
(x, y, W) (x , y , W )  ten sam punkt
{ int pz /* wartość z rozpatrywanego piksela */
1. Znajdz przecięcia linii określonej y z
(3, 4, 1) <-> (6, 8, 2) <-> (9, 12, 3)
for (y = 0; y < YMAX; y++) {
wszystkimi krawędziami obwodu (E, D , C ,
Współrzędne są znormalizowane, gdy W=1
for (x = 0; x < XMAX; x++) {
B )  oznacza znalezienie wszystkich
Znajdowanie postaci znormalizowanej :
WritePixel(x, y, Background_Value)
współrzędnych x punktów przecięcia
(x, y, W) --> (x / W, y / W, W / W)
WriteZ(x, y, 0)
2. Posortuj współrzędne x w kolejności rosnącej
Jeśli współrzędne (x, y, W) są w postaci
}}
3. Wypełnij piksele segmentów linii poziomej
znormalizowaniej, to x, y  oznaczajÄ…
for (każdy_wielokąt) {
korzystając z reguły parzystości ( parzystej
współrzędne punktu w zwykłej przestrzenie 2D.
for (każdy piksel w rzucie wielokąta) {
liczby przecięć), krawędzie poziome
x 1 0 dx x x + dx
TECHNIKI DRUKOWANIA
pz= wartość z wielokąta bieżącego dla (x,y)
ignorujemy.
[ y ] = [ 0 1 dy ] * [ y ] = [ y + dy ]
Drukarki: laserowe, atramentowe
if (pz >= ReadZ(x,y)){
c) Wypełnianie wzorami
1 0 0 1 1 1
Fotonaświetlarki: do klisz małoobrazkowych,
WriteZ(x, y, pz)
d) Wypełnianie wzorami bez wielokrotnej
do przygotowania do druku
WritePixel(x,y, barwa_wielokÄ…ta)
konwersji wierszowej
x Sx 0 0 x Sx * x
Proces przygotowania do druku:
}}}}
[ y ] = [ 0 Sy 0 ] * [ y ] = [ Sy * y ]
- wyciÄ…gi barwne CMYK
Wpisywanie (biały) z1
1 0 0 1 1 1
- klisze z fotonaświetlarki
y1 zp
- matryce drukarskie (blacha)
Blokowanie (czarny) za
x cosqð -sinqð 0 x xcosqð-ysinqð Rozdzielczość  liczba kropek na jednostkÄ™
ys zb
[ y ] = [ sin qð cosqð 0 ] * [ y ] = [ xsinqð+ycosqð ] dÅ‚ugoÅ›ci
y2
1 0 0 1 1 1 Raster poligraficzny  metoda klasyczna
z2
z3
y3
Gęstość rastra  liczba linii na jednostkę
RYSOWANIE GRUBUCH LINII
OBRÓT WZGLDEM LOKALNEGO długości
Stosowanie piórka przy użyciu maski jak przy
UKAADU WSPÓARZDNYCH Metody uzyskiwania tonów:
za=z1-(z1-z2)*[(y1-ys)/(y1-y2)]
wypełnianiu bez wielokrotnej konwersji
1) T( -xl, -yl ) - mikrowzory
zb=z1-(z1-z3)*[(y1-ys)/(y1-y3)]
wierszowej.
2) R( að ) - metoda klasyczna
zp=zb-(zb-za)*[(xb-xp)/(xb-xa)]
3) T( xl, yl ) - metoda dyfuzji błędu


Wyszukiwarka

Podobne podstrony:
AM2(ściąga) kolos1
Sciaga pl Podział drukarek komputerowych
dydaktyka egzamin sciaga
Ściąganie drążka wyciągu górnego do klatki na maszynie
ściąga kol 1 stata
sciaga napedy
ściaga PR
DMK ÅšciÄ…ga na egzamin
Podstawy Systemów Okrętowych Ściaga Pytaniami
ÅšCIÄ„GA
ściaga analiza
Badanie Maszyn ściąga 1
cisco kolos sciaga labki

więcej podobnych podstron