Отображение динамического перемещения
3. Отображение динамического перемещения объектов.
Для отображения динамически перемещающихся изображений объектов в зависимости от аппаратной конфигурации средств машинной графики, допускаемых графических режимов, могут быть использованы различные возможности:
- управление палитрой
- запись и воспроизведение фрагментов изображения
- управление видеостраницами.
Процедуры управления палитрой целесообразно использовать при создании перемещающегося монохромного изображения, определяя палитру, все цвета которой равны фоновому, выполняя изображения различных положений объекта разными программными цветами, а затем переопределяя в цикле последовательно цвета палитры на цвет, отличный от фонового, получим перемещающееся изображение объекта. Если изображение объекта не является монохромным, но занимает сравнительно небольшой объём видеопамяти ( до 64 К ), целесообразно организовать запоминание в памяти и восстановление изображения как прямоугольного фрагмента экрана. При этом следует использовать дополнительные возможности управления режимами вывода фрагментов изображения на экран, например это необходимо для отображения движущегося объекта на сложном многоцветном фоне. Процедуры управления видеостраницами позволяют выполнить динамическое изображение любой сложности, единственное условие, предъявляемое к схеме видеоадаптера - это возможность установления видеорежимов, при которых в видеопамяти может быть выделено две или более так называемых видеостраниц. Практически все современные видеоадаптеры - EGA, VGA а также группа видеоадаптеров, объединённых под общим названием SVGA удовлетворяют этим условиям. При выводе движущегося изображения следует перенаправлять все графические операции построения нового положения объекта на невидимую страницу, одновременно отображая текущее положение объекта на видимой странице, при этом переключение страниц осуществлять только при окончании построений изображения объекта. Для обеспечения независимости изображения объектов от установленного графического режима в этом случае следует предусмотреть расчёт графических координат при выводе на устройство в относительных значениях.
Для разработки алгоритма преобразования координат при построении нового положения объекта в пространстве при динамическом перемещении используется метод однородных координат.
Рекомендуемые материалы
В общем случае любое преобразование координат геометрического объекта можно свести к последовательности элементарных преобразований: вращений , растяжений, отражений и переносов объекта в 3-х мерном пространстве. Для расчета новых значений координат точек объекта для каждого из элементарных преобразований используется метод однородных координат. В этом методе , координата любой точки пространства, за исключением точки О , представляется четверкой чисел (X,Y,Z,1) , а координата точки О четверкой чисел (0,0,0,0).[1]. Новые значения координат точки после преобразования могут быть определены из соотношения:
где для перечисленных элементарных преобразований невырожденная матрица четвертого порядка будет иметь следующие компоненты:
А) Вращение в пространстве
Матрица вращения вокруг оси абсцисс на угол имеет компоненты:
Матрица вращения вокруг оси ординат на угол имеет компоненты:
Матрица вращения вокруг оси аппликат на угол имеет компоненты:
Б) Растяжение (сжатие) объекта:
Матрица вращения вокруг оси абсцисс на угол имеет компоненты:
где - коэффициент растяжения (сжатия) вдоль оси абсцисс;
где - коэффициент растяжения (сжатия) вдоль оси ординат;
где - коэффициент растяжения (сжатия) вдоль оси аппликат;
в) Отражение объектов
Матрица отражения относительно плоскости имеет компоненты:
Матрица отражения относительно плоскости имеет компоненты:
Матрица отражения относительно плоскости имеет компоненты:
г)Перенос объектов
Матрица переноса(здесь -вектор переноса) имеет компоненты:
Последовательность двух или нескольких преобразований может быть реализована умножением координат точек объекта на эквивалентную матрицу, которая ,в свою очередь , есть произведение матриц отдельных преобразований. При умножении матриц, взятых в порядке преобразования, может появиться необходимость провести не только прямое, но и обратное преобразование, например, обратное вращение или обратный перенос, матрицы обратных преобразований, в этом случае определяются из условия постоянства координат точек при последовательно проведенном прямом и обратном преобразовании, т. е.:
Это возможно только в том случае, когда произведение матриц прямого и обратного преобразования равно единичной матрице, т. е. необходимо, чтобы:
, т.е. в любом случае полученная матрица преобразования должна быть невырожденной.
В лекции "1.1. Основные понятия и определения" также много полезной информации.
Полученные в результате преобразований значения мировых координат точек объекта в свою очередь должны быть преобразованы в координаты выбранной модели отображения а затем и в координаты устройства.
1.Г.Корн, Т. Корн Справочник по математике для
научных работников и инженеров. М., «Наука» ,
1974
1. Е.В. Шикин, А.В. Боресков Компьютерная графика. Динамика, реалистические изображения. М., «Диалог - МИФИ» 1995
2. Д.Б. Поляков, И.Ю. Круглов Программирование в среде Турбо Паскаль М., МАИ, 1992