русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Графические координаты.


Дата добавления: 2015-06-12; просмотров: 1463; Нарушение авторских прав


Любое изображение формируется из достаточно простых геометрических фигур. Это точки, отрезки прямых, окружности и т.д. Из геометрии известно, что положение геометрического объекта и его форма задаются координатами его точек. Следовательно, для того, чтобы запрограммировать графический вывод, надо научиться задавать координаты графических объектов.

Графические координаты задают положение точки на экране дисплея. Поскольку минимальным элементом, к которому имеет доступ программист, является пиксель, естественно в качестве графических координат использовать порядковые номера пикселей. Допустимый диапазон изменения графических координат составляет [0,rx-1] для х-координаты и [0,ry-1] для y-координаты.

Точкой отсчета является верхний левый угол экрана. Значения х-координаты отсчитываются слева направо, а y-координаты – сверху вниз. Последнее отличает графические координаты от обычных декартовых координат, принятых в математике, и служит не иссякающим источником ошибок для начинающего программиста.

 

Проблема заключается в том, что при разработке программы график или другое изображение обычно проектируется в привычной для нас декартовой системе координат. Но для правильного отображения такого графика на экране необходимо учесть различие между декартовой и графической системами координат. Подчеркну, что таких различий три:

1. Графические координаты принимают только целочисленные значения.

2. Графические координаты принимают значения, ограниченные как снизу (нулевым значением), так и сверху (значением разрешения).

3. Графическая координата y отсчитывается сверху вниз.

Таким образом, декартовы координаты точки (x,y) для отображения ее на экране следует пересчитать в графические (xg,yg) по формулам

xg=|sx * x|+dx;

yg=ry-|sy * y|-dy,

где |x| - целая часть х; sx и sy – масштабные множители, выбираемые из условия



rx=|sx * xmax|+1,

ry=|sy * ymax|+1.

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

dx=|rx/2|,

dy=|ry/2|.

Чтобы изображение не зависело от разрешения, в Турбо Паскале используются функции GetMaxX и GetMaxY, возвращающие наибольший и номер пикселя по горизонтали и по вертикали соответственно. Графические координаты правого нижнего угла экрана равны (GetMaxX, GetMaxY).

 



<== предыдущая лекция | следующая лекция ==>
Текстовый и графический режимы. | Графическим режимами.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.798 сек.