1 Слово «окно» («window») в графике употребляется чрезмерно часто; мы будем стараться выделять различные варианты использования этого термина.

2 Некоторые системы представляют собой рабочие станции UNIX, работающие с X Windows, компьютер IBM PC с системой Windows 95 под API, атакже компьютер Apple Macintosh, использующий встроенную библиотеку QuickDraw.

3 Пример такой системы координат - любая «оконная» система, работающая с OpenGL.

2.1. Начальная стадия создания изображения координатами (xl.yl) и (х2,у2). В других системах этот инструмент может называться drawLineO или LineO. Группа команд

linedOO. 50. 150. 80): line(150. 80. 0. 290);

нарисует в каждой из систем изображения, приведенные на рис. 2.1. Другие системы могут не иметь команды line( ), а вместо нее для рисования прямых пользоваться командами moveto(x, у) и lineto(x, у). Можно провести аналогию между этими командами и перьевым плоттером, перо которого имеет некоторые «текущие координаты» («current position»). Предполагается, что команда moveto(x, у) перемещает перо над бумагой в положение (х, у), устанавливая тем самым текущие координаты (х, у); команда lineto(x, у) рисует линию от текущих координат до координат (х,у), после чего текущие координаты устанавливаются в этой точке (х, у). Каждая из этих команд перемещает перо из его текущих координат в новые координаты. Затем эти новые координаты становятся текущими. Картинки на рис. 2.1 можно было нарисовать с помощью группы команд

movetodOO. 50): lineto(150. 80): lineto(0. 290):

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

Очевидная проблема состоит в том, что каждый графический дисплей использует для своей работы различные основные команды, а каждая программная среда имеет различные наборы инструментов для создания графических примитивов. Такое разнообразие делает затруднительным перенос программы из одной программной среды в другую (рано или поздно каждый сталкивается с необходимостью переделки программы под новую среду), следовательно, программист должен создавать все необходимые инструменты для новой программной среды. Необходимость подобной реконструкции может потребовать существенных изменений всей структуры библиотеки или приложения и большой работы программиста.


⇐ Предыдущая| |Следующая ⇒