Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание к лабе #2 / kg_lr02 / Методичка к ЛР #2.doc
Скачиваний:
16
Добавлен:
04.04.2013
Размер:
260.61 Кб
Скачать

2.10. Формирование изображения.

Изображение формируется за счет пробега луча электронов слева направо по горизонтальным линиям экрана (срокам развертки). Чтобы глаз не замечал смены кадра, пробег луча по всему экрану происходит с частотой, большей чем 25 Гц.

Луч электронов начинает пробегать по экрану с верхнего левого угла до правого верхнего угла. Когда луч доходит до правой стороны, он гасится и перемещается на следующую горизонтальную линию, находящуюся под предыдущей линией. После того, как луч пробежит по всему экрану, он гасится и перемещается в верхний левый угол. Затем процесс повторяется снова. След от луча на экране образует растр. Изменяя силу тока в луче электронов при формировании им растра, можно менять интенсивность свечения отдельных зерен экрана. Данные видеопамяти как раз и определяют, как модулируется луч электронов во время сканирования экрана.

При переключении видеостраниц в нестандартных режимах следует сначала дождаться окончания обратного вертикального хода луча. Для этого нужно проверить состояние 3 бита в байте, прочитанном из порта 3DAh. Во время обратного вертикального хода луча этот бит сброшен в 0.

Н иже приведена схема сканирования экрана электронным лучом.

  1. Постановка задачи и задания на лабораторную работу.

Перевести видеоадаптер в один из нестандартных режимов X-Mode (разрешение 320x200, 256 цветов) или Y-Mode (разрешение 320х240, 256 цветов). В нулевой строке развертки каждой из двух используемых видеостраниц выводить все 256 цветов. Для демонстрации работы с двумя видеостраницами отобразить белым цветом две окружности радиусом 10 пикселов с координатами центров на нулевой видеостранице (260,20) и первой — (300,20). Выполняя задание, использовать плавную анимацию (в том числе, и для заданий с зеркальным отображением объектов).

Согласно номеру варианта выполнить ниже приведенные задания.

Задание 1.

 Изобразить выпуклый шестиугольник в нижнем левом углу экрана. Реализовать параллельный перенос фигуры в верхний правый угол экрана, одновременно обеспечив масштабирование с коэффициентом больше 1.

 Изобразить окружность. Реализовать зеркальное отражение окружности относительно прямой, не параллельной ни одной из осей координат, и обратно. Прямая не пересекает окружность.

 Изобразить окружность. Реализовать зеркальное отражение окружности относительно прямой, не параллельной ни одной из осей координат, и обратно. Прямая пересекает окружность и не проходит через ее центр.

  • Изобразить треугольник. Реализовать вращение треугольника по направлению слева направо, как это схематично изображено ниже. Выполнить необходимое для размещения фигуры количество перемещений. Треугольник должен “перекатываться” с одной стороны на другую.

  • И зобразить трапецию. Реализовать вращение трапеции по направлению слева направо. Выполнить необходимое для размещения фигуры количество перемещений.

(См. задание 4).

  • Изобразить квадрат и ромб большего размера с диагоналями (ромба), параллельными осям координат так, чтобы центры фигур не лежали на прямой, параллельной одной из осей координат. Медленно параллельно переносить квадрат до совпадения центров фигур, затем выполнить масштабирование квадрата, вписав его в ромб.

  • Проделать действия, аналогичные приведенным в задании 6, с равносторонним треугольником и окружностью соответственно.

  • И зобразить треугольник. Реализовать вращение треугольника относительно одной из его вершин, сделав полный оборот, по схеме, приведенной на рис.1.

Рис 1. Рис 2.

  • Изобразить треугольник. Реализовать зеркальное отражение треугольника относительно сторон 1-3, 1-2, 1-3, 1-2, ..., сделав полный оборот по схеме, приведенной на рис. 2.

Изобразить треугольник. Реализовать зеркальное отражение треугольника относительно каждой из его сторон.

Изобразить две полуокружности одинакового радиуса, центры которых лежат на прямой, параллельной оси x. Реализовать их параллельный перенос до образования полной окружности. Схема движения приведена ниже.

И зобразить окружность. Реализовать ее вращение относительно точки, принадлежащей этой окружности.

Изобразить треугольник так, чтобы ни одна из его сторон не была параллельна ни одной из осей координат. Зеркально отразить его относительно одной из сторон. Масштабировать треугольник с коэффициентом больше 1 так, чтобы сторона, относительно которой он был отражен, не изменила своего положения (только увеличилась по длине). Выполнить обратное отражение.

Изобразить окружность с двумя прямыми, проходящими через ее центр и располагающимися под углами 45 и 135 по отношению к оси x. Переместить окружность вдоль оси x, имитируя ее качение. Схема приводится ниже.

Изобразить прямоугольник так, чтобы невозможно было параллельным переносом совместить ни одну из его сторон ни с одной из осей координат. Выполнить зеркальное отражение прямоугольника относительно его диагонали. Масштабировать фигуру с коэффициентом больше 1 так, чтобы диагональ не изменила своего положения (только увеличилась по длине). Произвести обратное отображение.

И зобразить две окружности одинакового радиуса в левом верхнем и правом нижнем углах экрана соответственно и прямую линию под углом 45 к оси х так, чтобы пиксел середины экрана принадлежал этой прямой. Параллельным переносом окружностей к прямой добиться, чтобы конструкция образовала знак процента “%”. В результате окружности должны иметь одну общую точку с прямой. Схема приведена ниже.

Построение фигур, используемых во всех выше перечисленных вариантах, сводится к построению прямых и окружностей. Производить построения прямых и окружностей по алгоритмам Брезенхема, приведенным в “Методических указаниях для лабораторной работы №1”.