Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Геом моделирование 2D объектов бис бис.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
772.31 Кб
Скачать
  1. Проектирование графической сцены

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

Проектирование имеет смысл начинать с выбора системы координат. Библиотека OpenGL по умолчанию вводит декартову трехмерную систему координат, которая называется мировой (МСК). Начало МСК размещается в центре кубического объема видимости, оси МСК направлены так: ось х – вправо, ось у – вверх, ось z– на наблюдателя. Размеры куба видимости по умолчанию составляют ±1 по каждой координатной оси. Объекты, размещаемые за пределами куба, не видны наблюдателю, а объекты, лежащие на границах куба, отсекаются его плоскостями и видны частично. Наблюдатель по умолчанию размещается в начале координат, а его взор направлен вдоль отрицательной полуоси z. В этом случае плоские объекты располагаются в плоскости z=0. Для отображения большинства двухмерных сцен достаточно работать с такими установками.

Система координатных отсчетов МСК может быть изменена командой

glOrtho(left,right,bottom,top,near,far);.

Она вводит параллелепипед видимости, координаты четырех плоскостей которого – левой, правой, нижней и верхней относительно наблюдателя –

– задаются параметрами команды left,right,bottom и top, соответственно. Параметры near и far определяют удаление ближней и дальней плоскостей параллелепипеда от наблюдателя. Если эти плоскости находятся «за спиной» наблюдателя, то соответствующие параметры принимают отрицательные значения. Это особенность параллельной (ортографической) проекции объектов в OpenGL: она позволяет наблюдателю видеть все объекты, попавшие внутрь объема видимости, в том числе и находящиеся за спиной. Исходное положение куба видимости устанавливается командой

glOrtho(-1,1,-1,1,-1,1); .

Таким образом, пространство, в котором работает библиотека OpenGL, – трехмерное, но при проектировании плоских сцен его можно считать двухмерным и представлять как квадратное окно с размерами 2×2 условные единицы. Начало МСК – в центре окна, оси идут вправо (ось х) и вверх (ось у). Окно можно представить как результат сечения куба видимости плоскостью, перпендикулярной оси глубины. В этом двухмерном окне размещаются объекты сцены.

С проектировать сцену – значит определить форму, размеры, состав и внешний вид объектов, а также разместить их в окне вывода. Удобно проектировать сцену визуально, то есть рисовать ее в масштабе с привязкой к окну вывода. Пусть сцена содержит три однотипных объекта в виде стрелок. Их геометрические и видовые параметры могут быть различными и в рассматриваемом примере выбраны так, как показано на рисунке 1.

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