SlideShare uma empresa Scribd logo
1 de 23
[object Object],[object Object],URL:  http://www.school30.spb.ru/cgsg/cgc/ E-mail:  [email_address]
Примитивы ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Line x y (x1,y1) (x2,y2)
Line :  Digital Differential Analyzer (DDA) (x,y) x2-x1 y2-y1 slope
Line : Алгоритм Брезенхема (метод центральной точки) точка  ( x,y)   «ниже» прямой точка  ( x,y)   «лежит» на прямой точка  ( x,y)   «выше» прямой x y (x1,y1) (x2,y2) ( x,y)
Line : Алгоритм Брезенхема (метод центральной точки) P(x,y) M(x+1,y+ 1 / 2 ) f(x,y) ,[object Object],[object Object],[object Object],E NE
Line : Алгоритм Брезенхема (метод центральной точки) P(x,y) M E (x+2,y+ 1 / 2 ) f(x,y) ,[object Object],[object Object],[object Object],[object Object],[object Object],E NE M NE (x+2,y+ 3 / 2 ) M
Line : Алгоритм Брезенхема (метод центральной точки) P1(x1,y1) M 0 (x+1,y+ 1 / 2 ) f(x,y) Известны приращения  f. Найдем первоначальное значение для точки ( x1,y1)
Line : Алгоритм Брезенхема (метод центральной точки) Сохранились вещественные числа. Сделаем замену: 2 f = e Тогда помеченные строки изменяться на: e = 2 * dy - dx; e > 0 e = e + 2 * dy - 2 *dx; e = e + 2 * dy и  e  – целое число.
Line : Алгоритм Брезенхема (метод центральной точки)
Line : Алгоритм с использованием  Fixed Point (DDA) Fixed Point –  вещественные числа с фиксированной точкой. Рассмотрим 4-байтное целое: 2 b  целая часть 2 b  дробная часть ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Circle R x y
Circle : Алгоритм Брезенхема (метод центральной точки) ,[object Object],[object Object],[object Object],x y (0 ,R) x<=y P(x,y) M(x+1,y- 1 / 2 ) f(x,y) SE E точка  ( x,y)   вне круга точка  ( x,y)   на окружности точка  ( x,y)   внутри круга
Circle : Алгоритм Брезенхема (метод центральной точки) P(x,y) M E SE M SE M E f(x,y) Изменения значения  f(M)  при переходе к новым точкам ( E  или  SE) :
Circle : Алгоритм Брезенхема (метод центральной точки) Определили приращения  f. Найдем первоначальное значение для точки ( x1,y1) Все приращения - целые .  Сравнение  f  с 0   строгое:  ‘<‘ . Поэтому из первоначального  f  можно вычесть  1 / 4. .  P( 0 ,R) M 0 (1,R- 1 / 2 ) f(x,y) SE E
Circle : Алгоритм Брезенхема (метод центральной точки) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Circle : Алгоритм Брезенхема (метод центральной точки)
Polygon
Flood Fill
Flood Fill
Text Шрифты Растровые Векторные Контурные
Text 0x3C 0x46 0x86 0x86 0x86 0xFE 0x86 0x00
[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

кустурова элем функции
кустурова элем функциикустурова элем функции
кустурова элем функции
urvlan
 
read to grafics of function
read to grafics of functionread to grafics of function
read to grafics of function
viktoriya71
 
Использование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетовИспользование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетов
Транслируем.бел
 
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Nikolay Grebenshikov
 
[Youdz.ru] первообразная.
[Youdz.ru] первообразная.[Youdz.ru] первообразная.
[Youdz.ru] первообразная.
You DZ
 
генераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммированиягенераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммирования
hmyrhik nikita
 
производная
производнаяпроизводная
производная
msrudenko67
 
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Nikolay Grebenshikov
 
геометрический смысл производной
геометрический смысл производнойгеометрический смысл производной
геометрический смысл производной
tkachenko_anna
 
Дифференцциальное исчисление
Дифференцциальное исчислениеДифференцциальное исчисление
Дифференцциальное исчисление
vladimiryaschuk
 

Mais procurados (20)

Reshenie zadach v8_egje_po_matematike
Reshenie zadach v8_egje_po_matematikeReshenie zadach v8_egje_po_matematike
Reshenie zadach v8_egje_po_matematike
 
кустурова элем функции
кустурова элем функциикустурова элем функции
кустурова элем функции
 
read to grafics of function
read to grafics of functionread to grafics of function
read to grafics of function
 
Использование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетовИспользование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетов
 
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
 
[Youdz.ru] первообразная.
[Youdz.ru] первообразная.[Youdz.ru] первообразная.
[Youdz.ru] первообразная.
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировки
 
генераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммированиягенераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммирования
 
3.2 Методы
3.2 Методы3.2 Методы
3.2 Методы
 
производная
производнаяпроизводная
производная
 
Застосування похідної
Застосування похідноїЗастосування похідної
Застосування похідної
 
Pervoobraznaya i integral_11_klass
Pervoobraznaya i integral_11_klassPervoobraznaya i integral_11_klass
Pervoobraznaya i integral_11_klass
 
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL ModelsTMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
 
6.2 Шаблоны функций
6.2 Шаблоны функций6.2 Шаблоны функций
6.2 Шаблоны функций
 
2.7 Многомерные массивы
2.7 Многомерные массивы2.7 Многомерные массивы
2.7 Многомерные массивы
 
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
 
Predel peremennoj velichiny
Predel peremennoj velichinyPredel peremennoj velichiny
Predel peremennoj velichiny
 
Extended High-Level C-Compatible Memory Model with Limited Low-Level Pointer ...
Extended High-Level C-Compatible Memory Model with Limited Low-Level Pointer ...Extended High-Level C-Compatible Memory Model with Limited Low-Level Pointer ...
Extended High-Level C-Compatible Memory Model with Limited Low-Level Pointer ...
 
геометрический смысл производной
геометрический смысл производнойгеометрический смысл производной
геометрический смысл производной
 
Дифференцциальное исчисление
Дифференцциальное исчислениеДифференцциальное исчисление
Дифференцциальное исчисление
 

Semelhante a 20110919 computer graphics_galinsky_lecture02_raster

Тригонометрические функции числового аргумента
Тригонометрические функции числового аргументаТригонометрические функции числового аргумента
Тригонометрические функции числового аргумента
Formula.co.ua
 
19 pascal urok_3
19 pascal urok_319 pascal urok_3
19 pascal urok_3
Ann Eres
 
Лекция 8: Графы. Обходы графов
Лекция 8: Графы. Обходы графовЛекция 8: Графы. Обходы графов
Лекция 8: Графы. Обходы графов
Mikhail Kurnosov
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмов
Mikhail Kurnosov
 
СИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОДСИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОД
IT_1315
 
Определенные интеграллы
Определенные интеграллыОпределенные интеграллы
Определенные интеграллы
daryaartuh
 

Semelhante a 20110919 computer graphics_galinsky_lecture02_raster (20)

Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
 
Тригонометрические функции числового аргумента
Тригонометрические функции числового аргументаТригонометрические функции числового аргумента
Тригонометрические функции числового аргумента
 
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
 
kasatel-nayakgrafikufunkcii.ppt
kasatel-nayakgrafikufunkcii.pptkasatel-nayakgrafikufunkcii.ppt
kasatel-nayakgrafikufunkcii.ppt
 
задание 8 (b9) vopvet
задание 8 (b9) vopvetзадание 8 (b9) vopvet
задание 8 (b9) vopvet
 
19 pascal urok_3
19 pascal urok_319 pascal urok_3
19 pascal urok_3
 
презентация к уроку2
презентация к уроку2презентация к уроку2
презентация к уроку2
 
23
2323
23
 
8
88
8
 
Лекция 8: Графы. Обходы графов
Лекция 8: Графы. Обходы графовЛекция 8: Графы. Обходы графов
Лекция 8: Графы. Обходы графов
 
Лекция 12 Теоретико-числовые алгоритмы Часть 1
Лекция 12 Теоретико-числовые алгоритмы Часть 1Лекция 12 Теоретико-числовые алгоритмы Часть 1
Лекция 12 Теоретико-числовые алгоритмы Часть 1
 
Functions
FunctionsFunctions
Functions
 
10474
1047410474
10474
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмов
 
СИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОДСИМПЛЕКС-МЕТОД
СИМПЛЕКС-МЕТОД
 
Советский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияСоветский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисления
 
лекция 29
лекция 29лекция 29
лекция 29
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмов
 
Определенные интегралы
Определенные интегралыОпределенные интегралы
Определенные интегралы
 
Определенные интеграллы
Определенные интеграллыОпределенные интеграллы
Определенные интеграллы
 

Mais de Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
Computer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
Computer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
Computer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
Computer Science Club
 

Mais de Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

20110919 computer graphics_galinsky_lecture02_raster

  • 1.
  • 2.
  • 3. Line x y (x1,y1) (x2,y2)
  • 4. Line : Digital Differential Analyzer (DDA) (x,y) x2-x1 y2-y1 slope
  • 5. Line : Алгоритм Брезенхема (метод центральной точки) точка ( x,y) «ниже» прямой точка ( x,y) «лежит» на прямой точка ( x,y) «выше» прямой x y (x1,y1) (x2,y2) ( x,y)
  • 6.
  • 7.
  • 8. Line : Алгоритм Брезенхема (метод центральной точки) P1(x1,y1) M 0 (x+1,y+ 1 / 2 ) f(x,y) Известны приращения f. Найдем первоначальное значение для точки ( x1,y1)
  • 9. Line : Алгоритм Брезенхема (метод центральной точки) Сохранились вещественные числа. Сделаем замену: 2 f = e Тогда помеченные строки изменяться на: e = 2 * dy - dx; e > 0 e = e + 2 * dy - 2 *dx; e = e + 2 * dy и e – целое число.
  • 10. Line : Алгоритм Брезенхема (метод центральной точки)
  • 11.
  • 13.
  • 14. Circle : Алгоритм Брезенхема (метод центральной точки) P(x,y) M E SE M SE M E f(x,y) Изменения значения f(M) при переходе к новым точкам ( E или SE) :
  • 15. Circle : Алгоритм Брезенхема (метод центральной точки) Определили приращения f. Найдем первоначальное значение для точки ( x1,y1) Все приращения - целые . Сравнение f с 0 строгое: ‘<‘ . Поэтому из первоначального f можно вычесть 1 / 4. . P( 0 ,R) M 0 (1,R- 1 / 2 ) f(x,y) SE E
  • 16.
  • 17. Circle : Алгоритм Брезенхема (метод центральной точки)
  • 21. Text Шрифты Растровые Векторные Контурные
  • 22. Text 0x3C 0x46 0x86 0x86 0x86 0xFE 0x86 0x00
  • 23.