Добавить в корзину Удалить из корзины Купить |
Описание программы ID работы - 621328 программирование (контрольная работа) количество страниц - 17 год сдачи - 2012 СОДЕРЖАНИЕ: Содержание Содержание 2 ЗАДАНИЕ 1. Простой алгоритм двумерного отсечения. 3 Листинг программы 7 ЗАДАНИЕ 3. Рисование линий по алгоритму Брезенхема. 8 Листинг программы 8 Задание 4 Рисование блок-схемы 9 ЛИСТИНГ ПРОГРАММЫ РАЗБИЕНИЯ МНОГОУГОЛЬНИКОВ 13 Список литературы 17 ВВЕДЕНИЕ: ЗАДАНИЕ 1. Простой алгоритм двумерного отсечения. Р1 , Р2 - концевые точки отрезка Р1' , Р2'- концевые точки видимой части отрезка xл, xп , yв , y н - координаты левой, правой, верхней и нижней сторон окна Флаг - признак видимости, равный: 0, видимость; - 1, невидимость вычисление кодов концевых точек занесение этих кодов в два массива Т1код и Т2код, размерностью 1 х 4 каждый для первого конца: Р1 if x1 < xл then Т1код(4) = 1 else Т1код(4) = 0 lf x1 > xп then Т1код(3) = 1 else Т1код(3) = 0 If y1 < yн then Т1код(2) = 1 else Т1код(2) = 0 If y1 > yв then Т1код(1) = 1 else Т1код(1) = 0 для второго конца: Р2 if x2 < xл then Т2код(4) = 1 else Т2код(4) = 0 lf x2 > xп then Т2код(3) = 1 else Т2код(3) = 0 If y2 < yн then Т2код(2) = 1 else Т2код(2) = 0 If y2 > yв then Т2код(1) = 1 else Т2код(1) = 0 инициализация признака видимости и видимых концевых точек инициализация т очень большим числом, имитирующим бесконечный наклон Флаг = 0 Р1' = Р1 Р2' = Р2' m = Большое число проверка полной видимости отрезка Сумма1 = 0 Сумма2 = 0 for i = 1 to 4 Сумма1 = Сумма1 + Т1код(i) Сумма2 = Сумма2 + Т2код(i) next i if Сумма1 = 0 and Сумма2 = 0 then 7 отрезок не является полностью видимым проверка случая тривиальной невидимости вычисление логического произведения (Произвед) кодов концевых точек отрезка Произвед = 0 for i = 1 to 4 Произвед = Произвед + Целая часть ((Т1код(i)) + Т2код(i)/2) If Произвед < > 0 then Флаг = - 1 go to 7 end if next i отрезок может быть частично видимым проверка попадания первой точки внутрь окна if Сумма1 = 0 then Номер = 1 Р1' = Р1 P = Р2 go to 2 end if проверка попадания второй точки внутрь окна if Сумма2 = 0 then Номер = 2 Р1' = Р2 P = Р1 go to 2 end if внутри окна нет концов отрезка инициализация номера конца отрезка Номер == 0 1 if Номер < > 0 then Р'номер = Р Номер = Номер + 1 if Номер > 2 then 7 P = Рномер проверка пересечения с левым краем проверка вертикальности отрезка 2 if (x2 - x1 ) = 0 then 4 m = (y2 - y1 )/ (x2 - x1 ) if xл < Px then 3 у = m * (xл - Px) + Py if y < yв then 3 if y < yн then 3 обнаружено корректное пересечение Py = y Px = xл gо to 1 проверка пересечения с правым краем 3 if xп > Рx then 4 у = m * (хп - Рx) + Рy if y < yв then 4 if y < yн then 4 обнаружено корректное пересечение Py = y Px = xп gо to 1 проверка пересечения с верхним краем проверка горизонтальности отрезка 4 if m = 0 then 1 if yв > Рy then 5 x = (1/m) * (ув - Ру) + Рx if x < xл then 5 if x < xп then 5 обнаружено корректное пересечение Px = x Py = yв gо to 1 проверка пересечения с нижним краем 5 if yн > Рy then ошибка х = (1/m) * (yн - Ру) + Рx if x < xл then 6 if x < xп then 6 обнаружено корректное пересечение Px = x Py = yн gо to 1 отрезок невидим 6 Флаг = - 1 завершение работы и вызов процедуры черчения 7 If Флаг = - 1 then 8 Draw P1'P2' перейти к обработке следующего отрезка 8 finish СПИСОК ЛИТЕРТУРЫ: Список литературы 1. Багриновский К.А., Хрусталев Е.Ю. Программирование на зыках высокого уровня. - М.: “ЭКО”. 2004. 2. Белинов С.В., Зайцев А.А. Современные информационные технологии. – М.: Инфра-М, 2003. 3. Шафрин Ю. А. Программирование на языке С++. - М.: АБФ, 2005. 4. Lavel. Graphics. Растровая и векторная графика: http://win-www.klax.tula.ru/~level/graphics/predgrph.html 5. Векторная графика на языках С++ и Delphi: электронный учебник– http://imped.vgts.ru/polygraph/vektor.html 6. Семенов Р.Ж. О векторной и растровой графике // Компьютера, №3, 2003. http://flashmaker.8m.com/help/html/02basics2.html Цена: 1000.00руб. |
ЗАДАТЬ ВОПРОС
Copyright © 2009, Diplomnaja.ru