Professional Documents
Culture Documents
1. opisz krótko dowolny algorytm obcinania odcinków do prostokąta. Do czego stosuje się tego
typu algorytmy.
Algorytm Cohena-Sutherlanda- jest analitycznym algorytmem obcinania dwuwymiarowych
odcinków przez prostokąt obcinający , którego boki są równoległe do osi układu współrzędnych
Algorytm Sutherlanda-Hodgmana
Służy do obcinania wielokątów. Może być wykorzystywać strategie dziel i zwyciężaj tzn. Wielokąt
jest obcinany przez każdą ścianę okna obcinającego
Przykłady zastosowania:
- wnętrza okien w „okienkowych” systemach operacyjnych,
- „powiększanie” rysunków 2D,
- grafika 3D,
2. Do czego służy filtrowanie tekstur w grafice 3D? Czy filtrowanie tekstur ma coś wspólnego z
modelami.?
OpenGL dostarcza programiście dwa rodzaje filtrów tekstur. Filtr pomniejszający oraz
powiększający. Filtr pomniejszający wykorzystywany jest w przypadku, gdy obraz przypisany do
tekstury na ekranie jest mniejszy niż w rzeczywistości. Natomiast filtr powiększający
wykorzystywany jest gdy obraz z tekstury na ekranie jest większy niż wczytany z pliku. Funkcja,
która możemy ustawiać parametry tekstur oraz rodzaj filtrowania jest glTexParameter.
Światło OTOCZENIA (ambient): Światło otoczenia oświetla wszystkie obiekty sceny równomiernie
ze
wszystkich stron. Kolory obiektów nie zależą od kąta patrzenia.
𝐼𝐼 = 𝐼𝐼𝑎𝑎 ∗ 𝐼𝐼𝑘𝑘
Gdzie: Ia - natężenie światła otoczenia, stałe dla wszystkich obiektów sceny;
Ik - współczynnik odbicia światła otoczenia, właściwość materiału.
4. Dany jest trójkąt o wierzchołkach P1(0,0), P2(4,1) i P3(0,4). Oblicz współrzędne punktów po
wykonaniu transformacji wymienionych poniżej, narysuj trójkąt przed i po przekształceniach na
rysunku. Pokaż obliczenia dla co najmniej jednego punktu trójkąta, mile widziany zapis
macierzowy.
Transformacje: translacja o wektor [-2,-2], następnie obrót o kąt 90 stopni.
Zestaw2)
5. jak działa kontrola parzystości i do czego służy?
Określa położenia punktu względem wielokąta:
1) Z badanego punktu należy wyprowadzić dowolną połprostą
2) Liczymy liczbę przecięć z krawędziami wielokąta:
* 0 lub parzysta – punkt leży na zewnątrz wielokąta
* nieparzysta – punkt leży wewnątrz wielokąta
Zestaw3)
9. Algorytm przyrostowy odcinka. Wady i zalety.
Algorytm przyrostowego rysowania odcinka
1)obliczenie nachylenia odcinka m= ∆y/∆x
2)zwiększenie wartości x z krokiem 1 zaczynając od lewej strony
3)obliczenie yi=m(xi-x0)+y0 dla każdego xi
4) Wyświetlenie piksela w punkcie (xi,Round(yi))
W każdym kroku algorytmu wykorzystywany jest wynik obliczeń z kroku poprzedniego, do niego
dodawany jest stały przyrost
Zalety:
-prostota
-łatwość implementacji
Wady:
-efektywność , algorytm nie jest efektywny , ponieważ dla każdego piksela należy wykonać
mnożenie, dodawanie i zaokrąglanie.
10. Mamy wierzchołki i ściany (trójkątne), podać sposób na określenie orientacji ścian (przód/tył).
Określanie przedniej i tylniej ściany kolejnością numeracji wierzchołków trójkąta
12. Trójkąt o punktach (0,0) (4,1) (-1,4) jak dobrze pamiętam. Obrócić o 180 stopni i przesunąć o
wektor [2,-2].
Zestaw4)
13. Rekurencyjny algorytm wypełniania - opisać, wady, zalety
Równania okręgu
x = xC + R * cos(α)
y = yC + R * sin(α)
0<= a <2PI
Krok algorytmu w radianach należy dobrać tak, aby nie wyznaczać wielokrotnie tych
samych pikseli i aby nie powstały przerwy w okręgu:
da = 1/R
5
Czterokrotna symetria: 0 <= a < PI/2
Ośmiokrotna symetria: 0<= a < PI/4
Wypełnianie rozpoczynamy od punktu wewnątrz wielokąta. Funkcja wywołuje sama
siebie dla pikseli wokół bieżącego punktu.
Kroki algorytmu:
void Wypełnij(C);
(1) Zmień kolor punktu C;
(2) Dla każdego N = 0, 2, 4, 6 wykonuj:
Jeżeli kolor_punktu pN ¹ C i kolor_punktu pN ¹ kolor_krawędzi
Wypełnij(pN);
(3) Koniec.
Zalety:
- Algorytm podstawowy ośmiokrotnej symetrii polega na rysowaniu tylko 1/8 okręgu.
Reszta punktów wyznaczana jest przez zamianę współrzędnych miejscami i zmianę znaku.
Wady:
-
Zalety:
- Algorytm daje poprawne wyniki dla dowolnych brył w dowolnej konfiguracji
- Jego szybkość zależy głównie od wielkości obrazu.
16. Trójkąt P1(1, 1), P2(4, 1), P3(1, 4). Jednokładność k=-1. Translacja [1, -1]
=============================================================================
Z tamtego roku:
Zestaw5)
1. Cieniowanie Gourauda
2. Głębia kolorów.
Głębia kolorów – liczba bitów na jakiej zapisywana jest informacja o kolorze. Wyraża się w jednostce
bpp (ang. bits per pixel). Większa głębia koloru oznacza szerszy zakres kolorów.
4. cieniowanie co to jest jak korzystać. Opisać dwa algorytmy cieniowania w paru zdaniach.
Cieniowanie Gourauda (smooth): Cieniowanie na zasadzie interpolowania jasności, polega na
interpolowaniu wyliczonych wartości oświetlenia z wierzchołków wielokąta.
Każdy wierzchołek może być opisany inną normalną – do reprezentowania powierzchni
krzywoliniowych.
-interpoluje kolor wewnątrz wielokąta na podstawie koloru
-jego inna nazwa to cieniowanie gładkie
-dla trójkąta wymaga trzykrotnego wyliczenia oświetlenia
Cieniowanie Phonga: cieniowanie interpoluje wektory normalne w dowolnym punkcie wielokąta
na podstawie normalnych w wierzchołkach
-wymaga aby oświetlenie obliczane było co do piksela
-nadaje sie dobrze do cieniowania obiektów okrągłych
5. Mamy dwa odcinki L1 (0,0) (6,6) i odcinek L2 (0,0) (-2, -2) podać transformacje i ich kolejność aby
z odcinka L1 otrzymać odcinek L2. Napisać zapis macierzowy.
Zestaw6)
6. rgb, cmyk
RGB=(Red,Green,Blue)
Addytywna synteza kolorów
Model kolorów RGB stosowany w :
-Monitory CRT,LCD , plazmowe
-Telewizory j.w
-rzutniki, projektory
-skanery
-aparaty cyfrowe
-kamery cyfrowe
CMY- (Cyjan, Magenta, Yellow)- Model barw. Barwy są określane przez to co zostanie odjęte od
światła białego dlatego model ten jest nazywany subtraktywnym (w przeciwieństwie do
addytywnego modelu RGB gdzie barwy uzyskiwane poprzez dodanie składowych do czerni).
C=Cyan(cyjan)
M=magenta(karmazynowy)
Y=Yellow(żółty)
Model CMYK – model CMY uzupełniony o kolor czarny
Stosowany powszechnie w drukowaniu kolorowym.
-drukarki atramentowe
-drukarki laserowe
-poligrafia
-plotery
Konwersja kolorów pomiędzy modelami CMY i CMYK:
K=min(C,M,Y)
C=C-K
M=M-K
Y=Y-K
7. normalizacja histogramu
Zwiększa dynamikę i kontrast obrazu. Polega na takim „rozciągnięciu” histogramu aby
obejmował cały zakres tonalny od poziomu 0 do 255 (dla 8 bitów).
-zwiększa kontrast obrazu
-może zmienić kolorystykę obrazu kolorowego
8. filtr splotowy
Filtry splotowe są stosowane w przetwarzaniu obrazów do uzyskiwania różnych informacji o
obrazie, do nakładania efektów takich jak rozmycie, wyostrzenie czy odnajdowanie krawędzi.
Działanie filtrów splotowych opiera się na wyliczeniu nowej wartości piksela biorąc pod uwagę
sąsiednie piksele czyli wartość wynikowa powstaje w wyniku obliczenia sumy ważonej (funkcji
splotu).
Obliczenie wartości piksela polega na wymnożeniu wartości pikseli przez ich wagę z maski oraz
zsumowaniu ich a następnie podzielenie wartości przez współczynnik normalizacyjny.
Mamy: obraz źródłowy (piksele oznaczone Pij) i macierz filtra (piksele Mij). Obliczamy kolor obrazu
wynikowego (mnożenie Pij*Mij, sumowanie, dzielenie – normalizacja)
∑(𝑃𝑃𝑖𝑖𝑖𝑖 ∗𝑀𝑀𝑖𝑖𝑖𝑖 )
𝐶𝐶𝑥𝑥,𝑦𝑦 = 𝑁𝑁 = ∑(𝑀𝑀𝑖𝑖,𝑗𝑗 )
𝑁𝑁
Gdzie: Cxy – docelowy kolor piksela
Pij – kolory pikseli źródłowych
Mij – współczynniki macierzy filtra
N - współczynnik normalizujący
9. Odcinek L1 w punktach (1,1) (5,5) odcinek w punktach L2 (0,0) (-2, -2). Przekształcić L1 w L2.
6. Co to jest cieniowanie, i jak z niego skorzystać. Opisz dwa dowolne algorytmy cieniowania w
paru zdaniach.
Cieniowanie - metoda określania stopnia jasności kolorów poszczególnych wielokątów na
obiektach w grafice trójwymiarowej służąca nadaniu im naturalnego wyglądu. Wyjściowy kolor
jest odpowiednio przyciemniany lub rozjaśniany, aby uzyskać efekt zakrycia danej powierzchni
przez padający cień innego przedmiotu lub oświetlenia przez strumień światła.
Aby skorzystać z cieniowania w OpenGL należy użyć funkcji glShadeModel().
Cieniowanie Phonga - Model ten przyjmuje, że powierzchnia obiektu jest pokryta bardzo cienką
przezroczystą warstwą, na której zachodzi odbicie zwierciadlane, tzn. światło nie zmienia swojej
barwy, natomiast na powierzchni znajdującej się pod tą warstwą następuję odbicie rozproszone,
które zabarwia światło na kolor przypisany do obiektu.
ZALETY:
- zapewnia ciągłą zmianę barwy
– możliwość powstania rozbłysku światła w ramach jednego elementu płaskiego
- nie dopuszcza powstawania pasm Macha
- bardzo realistyczna metoda
WADY: - zużywa dużo mocy obliczeniowej
. CIENIOWANIE PŁASKIE – każdemu wielokątowi przypisuje się jeden stopień jasności dla całej
jego powierzchni. jest najprostszą i najszybszą metodą cieniowania nadaje się tylko do
ograniczonego renderingu obiektów kanciastych
Opisz krótko dowolny algorytm obcinania odcinków do prostokąta. Do czego stosuje się
tego typu algorytmy. Algorytm:
bit 1(powyżej) – bit znaku dla (ymax – y)
bit 2(poniżej) – bit znaku dla (y – ymin)
bit 3(prawo) – bit znaku dla (xmax – x)
bit 4(lewo) – bit znaku dla (x – xmin)
DZIAŁANIE: Jeśli kody obu końców odcinka są równe 0 , wówczas jest on akceptowany
ponieważ w całości znajduje się wewnątrz prostokąta. Jeśli wynikiem operacji AND kodów
odcinka jest liczba różna od zera, oznacza to, że odcinek w całości znajduje się poza
prostokątem. Dla pozostałych przypadków 1.Wybierany jest koniec odcinka leżący poza
prostokątem. 2.Wyznaczany jest punkt przecięcia odcinka z jedną z prostych. 3.Następnie
odcinek jest przycinany do tego punktu - koniec wybrany w punkcie pierwszym jest
zastępowany przez punkt przecięcia. 4.Kody końców odcinka są testowane, algorytm
powtarza się dopóki jeden z dwóch testów nie będzie prawdziwy. ZASTOSOWANIE: -
wnętrza okien w „okienkowych” systemach operacyjnych, - „powiększanie” rysunków 2D, -
grafika 3D,
Normalizacja Histogramu:
Normalizacja histogramu to proces przekształcania histogramu obrazu w
taki sposób, aby wartości pikseli były rozłożone równomiernie w całym
zakresie skali szarości. Celem jest dostosowanie kontrastu obrazu i
zwiększenie widoczności szczegółów poprzez pełne wykorzystanie
dostępnego zakresu jasności.
Wyrownanie Histogramu:
Wyrownanie histogramu to technika modyfikacji histogramu obrazu w
taki sposób, aby rozkład jasności był bardziej równomierny. Poprzez
przeskalowanie wartości pikseli, wyrownanie histogramu pomaga
poprawić kontrast i wizualną jakość obrazu, eliminując skoncentrowane
obszary jasności.
W obu przypadkach celem jest poprawa percepcji obrazu poprzez
odpowiednie dostosowanie wartości pikseli. Normalizacja ma na celu
ujednolicenie jasności w całym obrazie, podczas gdy wyrownanie
histogramu ma na celu rozjaśnienie obszarów ciemnych i zaciemnienie
obszarów jasnych, prowadząc do lepszej równowagi kontrastu.