ККооммппююттъъррннаа ггррааффииккаа 
ГГееннееррииррааннее ннаа ггррааффииччнноо 
ииззооббрраажжееннииее ((ввииззууааллиизз...
Обработка на информацията в 
графичната система 
Основна обработка 
Бази от 
данни 
• Две нива на 
обработка 
– Основна 
о...
Основна обработка 
скелетен (wire-frame) 
модел 
повърхнинен 
(surface) модел 
обемен (volume) 
модел 
Видове геометрични ...
Основна обработка 
• Методи за изграждане геометричен модел 
на 3D обект
Основна обработка 
• Методи за изграждане геометричен модел 
на 3D обект
Основна обработка 
• Методи за изграждане геометричен модел 
на 3D обект
Основна обработка 
• Методи за изграждане геометричен модел 
на 3D обект
Състав на дисплейната картина 
• Графични примитиви – те са основни 
графични елементи, които се използват за 
изграждане ...
Графични примитиви - стандартен набор - ISO стандартите 
GKS (Graphical Kernel System) и PHIGS (Programmer's 
Hierarchical...
Графични примитиви - стандартен 
набор 
4. Запълнена област (Fill Area) - равнинен 
многоъгъник, който може да бьде празен...
Графични примитиви - параметри 
• Всеки примитив има три типа параметри: 
– Геометрични – управляват формата и размера 
на...
Координатни системи 
нормализирана 
координатна 
система 
координатна система на 
графичното устройство 
координатна систе...
Моделен прозорец 
• Всяка избрана моделна подобласт за 
визуализация на включените в тази подобласт 
обекти се нарича моде...
Функция прозорец, функция 
изрязване 
• Преобразуването на моделния прозорец в 
екранен образ се нарича функция прозорец 
...
Определяне и скриване на 
невидими линии 
• Алгоритъм на Коен-Съдърленд
Определяне и скриване на 
невидими линии 
• Алгоритъм на Коен-Съдърленд 
Екран 
0000 
0110 
0010 
0011 
0100 
0001 
1100 
...
Определяне и скриване на 
невидими линии 
• Алгоритъмът на Коен-Съдърленд е лесно 
приложим, когато примитивите (отсечки, ...
Алгоритъмът на Съдърленд- 
Ходгеман 
• използва стратегията „разделяй и владей”
Проекции 
• При централна проекция обемът за 
визуализация е пирамида, а при паралелна 
проекция пирамидата се модифицира ...
Основни трансформации на 
картината 
• Основни трансформации са: 
– Транслация – преместване на картинен сегмент 
– Ротаци...
Производни трансформации 
а) разтягане или свиване по дадена ос - извьршва се чрез транслация на 
дадени контурни линии ил...
Генериране на изображения на 
графични примитиви 
• Полилиния 
• Y=mx+b – растерни устройства 
Y-YΔy 
• m= 21 
X-X= 
Δx 
2...
Генериране на изображения на 
графични примитиви 
• Полилиния – алгоритъм на Брезенхайм 
• Y=m(xi+1)+b 
• d1=Y-yi=m(xi+1)+...
Генериране на изображения на 
графични примитиви 
• Стъпки в алгоритъма: 
1. Запомнят се координатите на крайните точки 
н...
• 0<m<1 – променя се x, изчислява се y 
• m>1 - променя се y, изчислява се x 
• m<0 – едната координата нараства, другата ...
Генериране на изображения на 
графични примитиви 
12 
11 
10 
9 
8 
7 
6 
4 5 6 7 8 9 10
Генериране на изображения на графични 
примитиви – изглаждане на назъбването 
0 1 2 3 4 5 6 7 8 9 10 11 
A). установяване ...
Генериране на изображения на графични 
примитиви – изглаждане на назъбването 
1 2 3 4 5 6 7 8 9 10 
7 
6 
5 
4 
3 
2 
1 
Б...
Генериране на изображения на графични 
примитиви – изглаждане на назъбването 
½ изместване 
1 2 3 4 5 6 7 8 9 10 
7 
6 
5 ...
Генериране на изображения на 
графични примитиви
Генериране на изображения на 
графични примитиви
Генериране на изображения на 
графични примитиви
Генериране на изображения на 
графични примитиви
Генериране на изображения на 
графични примитиви 
• Запълнена област – растерни графични устройства 
• Метод на сканиращат...
Генериране на изображения на 
графични примитиви 
• Метод на сканиращата линия – изглаждащи 
процедури 
xi xi+1 xi+2 x 
y ...
Генериране на изображения на 
графични примитиви 
Окръжност – алгоритъм на Брезенхайм 
xi xi+1 xi+2 
yi 
yi-1 
yi-2 
x2+y2...
Генериране на изображения на 
графични примитиви 
• Окръжност – алгоритъм на Брезенхайм 
d1 
x 
y 
d2 
xi+1 
yi 
y 
yi-1 
...
Генериране на изображения на 
графични примитиви 
• Окръжност – алгоритъм на Брезенхайм 
x 
y 
xi+1 
yi 
yi-1 
Ако d1<0, d...
Computer Graphics Generirane Na Izobrajenie
Upcoming SlideShare
Loading in …5
×

Computer Graphics Generirane Na Izobrajenie

2,554 views

Published on

компютърна графика генериране на изображение

Published in: Education, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,554
On SlideShare
0
From Embeds
0
Number of Embeds
160
Actions
Shares
0
Downloads
92
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Computer Graphics Generirane Na Izobrajenie

  1. 1. ККооммппююттъъррннаа ггррааффииккаа ГГееннееррииррааннее ннаа ггррааффииччнноо ииззооббрраажжееннииее ((ввииззууааллииззаацциияя)) доц. М. Иванова Технически университет - София
  2. 2. Обработка на информацията в графичната система Основна обработка Бази от данни • Две нива на обработка – Основна обработка – Визуализационна обработка Геометрично моделиране Приложни програми Графични програми Дисплеен файл Кадров буфер Екранна картина Интерактивен диалог Визуализация
  3. 3. Основна обработка скелетен (wire-frame) модел повърхнинен (surface) модел обемен (volume) модел Видове геометрични модели
  4. 4. Основна обработка • Методи за изграждане геометричен модел на 3D обект
  5. 5. Основна обработка • Методи за изграждане геометричен модел на 3D обект
  6. 6. Основна обработка • Методи за изграждане геометричен модел на 3D обект
  7. 7. Основна обработка • Методи за изграждане геометричен модел на 3D обект
  8. 8. Състав на дисплейната картина • Графични примитиви – те са основни графични елементи, които се използват за изграждане на дисплейния образ • В инженерната практика, примитиви се наричат тези елементи, които се генерират апаратно в дисплейната станция или плотера В този смисъл типични примитиви са: • точка, • вектор (отсечка), • буквено-цифров символ (текст)
  9. 9. Графични примитиви - стандартен набор - ISO стандартите GKS (Graphical Kernel System) и PHIGS (Programmer's Hierarchical Interactive Graphics System) 1. Полилиния (Poliline) - представлява последователно свързани отсечки и се определя от координатите на крайните точки на всяка отсечка 2. Полимаркер(Polimarker) - представлява множество от графични символи (маркери) от един и същи тип , зададени чрез координатите на своите центрове 3. Текст (Text) - последователност (низ) от буквено- цифрови символи +++++ xxxxxx текст
  10. 10. Графични примитиви - стандартен набор 4. Запълнена област (Fill Area) - равнинен многоъгъник, който може да бьде празен, запълнен с даден цвят или с щриховка 5. Матрица от клетки (Cell Array) - матрица от клетки, запълнени с различни цветове 6. Обобщен чертожен примитив (Generalized Drawing Primitive) - по-сложни фигури, като окръжност, интерполирана крива, елипса и др.
  11. 11. Графични примитиви - параметри • Всеки примитив има три типа параметри: – Геометрични – управляват формата и размера на примитива – Негеометрични – указват начина на изобразяване: цвят, тип на линията – Идентификатори – за улавяне на примитива с интерактивно средство
  12. 12. Координатни системи нормализирана координатна система координатна система на графичното устройство координатна система на камерата или на наблюдателя глобална координатна система локална координатна система
  13. 13. Моделен прозорец • Всяка избрана моделна подобласт за визуализация на включените в тази подобласт обекти се нарича моделен прозорец • От този прозорец се генерира образ върху екранната област
  14. 14. Функция прозорец, функция изрязване • Преобразуването на моделния прозорец в екранен образ се нарича функция прозорец • Друга функция, директно свързана с функцията прозорец, е т.нар. изрязване, с което се определя кои части от зададения графичен обект попадат в екранната област
  15. 15. Определяне и скриване на невидими линии • Алгоритъм на Коен-Съдърленд
  16. 16. Определяне и скриване на невидими линии • Алгоритъм на Коен-Съдърленд Екран 0000 0110 0010 0011 0100 0001 1100 1000 1001 Екран 0000 0110 0010 0011 0100 0001 1100 1000 1001 Бит 1 Бит 2 Бит 3 Бит 4 ymax-y y-ymin xmax-x x-xmin
  17. 17. Определяне и скриване на невидими линии • Алгоритъмът на Коен-Съдърленд е лесно приложим, когато примитивите (отсечки, триъгълници, многоъгълници, текст) лежат в една равнина • Не е неприложим за отсечки, намиращи се пред или зад тази равнина или за такива, част от които се намират и пред и зад нея - В този по-сложен случай може да се приложи алгоритъмът на Съдърленд- Ходгеман
  18. 18. Алгоритъмът на Съдърленд- Ходгеман • използва стратегията „разделяй и владей”
  19. 19. Проекции • При централна проекция обемът за визуализация е пирамида, а при паралелна проекция пирамидата се модифицира в проекционна призма
  20. 20. Основни трансформации на картината • Основни трансформации са: – Транслация – преместване на картинен сегмент – Ротация – завъртане около точка или ос – Мащабиране – свиване или разширяване на елемент
  21. 21. Производни трансформации а) разтягане или свиване по дадена ос - извьршва се чрез транслация на дадени контурни линии или точки от тях, другите линии остават непроменени; б) огледало (осева симетрия) - построява се огледален образ на картинния елемент; в) разтягане(като ластик) - в резултат на интерактивна намеса връх или отсечка от дадена фигура се премества в произволна посока, при което свързаните рьбове се разтягат като ластик; г) зуминг (лупа) - последователно мащабиране в прогресия с еднакви мащабни коефициенти по две оси, така че да се получи впечатление за отдалечаване или приближаване на картината или сегмент от нея; д) превъртане - динамично изобразяване на ротацията на елементи от картината около дадена ос, чиято ориентация непрекъснато се сменя в пространството
  22. 22. Генериране на изображения на графични примитиви • Полилиния • Y=mx+b – растерни устройства Y-YΔy • m= 21 X-X= Δx 21 • b= Y-mX11 • Δy=m Δx – векторни устройства X1 X2 x y Y2 Y1 α b
  23. 23. Генериране на изображения на графични примитиви • Полилиния – алгоритъм на Брезенхайм • Y=m(xi+1)+b • d1=Y-yi=m(xi+1)+b-yi • d2=(yi+1)-Y=yi+1-m(xi+1)-b • d1-d2=2m(xi+1)-2yi+2b-1 • p1=2Δy- Δx xi xi+1 xi+2 x y yi+2 yi+1 yi d1 d2 0<m<1
  24. 24. Генериране на изображения на графични примитиви • Стъпки в алгоритъма: 1. Запомнят се координатите на крайните точки на отсечката: (X1,Y1) и (X2,Y2) 2.Изчисляват се Δx, Δy, p1. Ако p1<0 – следващия пиксел е: (X1+1, Y1), в противен случай е: (X1+1, Y1+1) 3. Координата X нараства с 1 (xi+1, yi) ако pi<0 (xi+1, yi+1) ако pi>0 xi xi+1 xi+2 x y yi+2 yi+1 yi 1.Повтаря се стъпка 3 до достигане xi=X2 d1 d2
  25. 25. • 0<m<1 – променя се x, изчислява се y • m>1 - променя се y, изчислява се x • m<0 – едната координата нараства, другата намалява
  26. 26. Генериране на изображения на графични примитиви 12 11 10 9 8 7 6 4 5 6 7 8 9 10
  27. 27. Генериране на изображения на графични примитиви – изглаждане на назъбването 0 1 2 3 4 5 6 7 8 9 10 11 A). установяване различна интензивност на пикселите от линията в зависимост от степентта на припокриване
  28. 28. Генериране на изображения на графични примитиви – изглаждане на назъбването 1 2 3 4 5 6 7 8 9 10 7 6 5 4 3 2 1 Б). установяване на различна интензивност на линии с различен наклон
  29. 29. Генериране на изображения на графични примитиви – изглаждане на назъбването ½ изместване 1 2 3 4 5 6 7 8 9 10 7 6 5 4 3 2 1 ½ изместване В). Метод на пикселно дефазиране
  30. 30. Генериране на изображения на графични примитиви
  31. 31. Генериране на изображения на графични примитиви
  32. 32. Генериране на изображения на графични примитиви
  33. 33. Генериране на изображения на графични примитиви
  34. 34. Генериране на изображения на графични примитиви • Запълнена област – растерни графични устройства • Метод на сканиращата линия – през запълнената област се премества мислена линия успоредна на една от осите А В С D F E H G I 1 2 3 4 1 2 3 4 5
  35. 35. Генериране на изображения на графични примитиви • Метод на сканиращата линия – изглаждащи процедури xi xi+1 xi+2 x y yi+2 yi+1 yi
  36. 36. Генериране на изображения на графични примитиви Окръжност – алгоритъм на Брезенхайм xi xi+1 xi+2 yi yi-1 yi-2 x2+y2=r2 (y,x) (x,y) (-y,x) (-x,y) (-x,-y) (x,-y) (-y,-x) (y,-x) x y 45
  37. 37. Генериране на изображения на графични примитиви • Окръжност – алгоритъм на Брезенхайм d1 x y d2 xi+1 yi y yi-1 y2=r2-(x+1)2 id=y2-y2=y1i i 2-r2+(xi+1)2 d2=y2-(yi-1)2=r2-(xi+1)2-(yi-1)2 pi=d1-d2=2 (xi+1)2+yi 2 +(yi-1)2-2r2 Ако pi<0 - (xi+1, yi) Ако pi>0 - (xi+1, yi-1)
  38. 38. Генериране на изображения на графични примитиви • Окръжност – алгоритъм на Брезенхайм x y xi+1 yi yi-1 Ако d1<0, d2<0, pi<0 - (xi+1, yi) Ако d1>0, d2<0, pi>0 - (xi+1, yi-1) x y xi+1 yi yi-1

×