Система координат
В приведенном выше фрагменте кода в качестве параметров функциям CGContextMoveToPoint () и CGContextLineToPointO были переданы числовые значения с плавающей точкой. Эти числовые значения обозначают местоположение в системе координат оболочки CoreGraphics. Местоположение в этой системе координат описывается координатами х и у, которые обычно обозначаются как (х, у). Верхний левый угол контекста имеет координаты (0,0). При перемещении вниз увеличивается значение координаты у, а при перемещении вправо — значение координаты х.
В приведенном выше фрагменте кода мы нарисовали диагональную линию, проведенную из точки с координатами (10,10) в точку с координатами (20,20).
Система координат относится к уловкам, определяющим особенности рисования средствами технологии Quartz, поскольку система координат Quartz существенно отличается от тех, которые обычно применяются во многих графических библиотеках, а также от традиционной декартовой, или прямоугольной системы координат, введенной французским математиком Рене Декартом в XVII веке. Так, в библиотеке OpenGL ES точка с координатами (0,0) располагается в левом нижнем углу, а значение координаты у увеличивается при перемещении по контексту или представлению вверх. Поэтому, работая с OpenGL, вы должны перенести местоположение из системы координат представления в систему координат OpenGL. Впрочем, сделать это не так уж трудно, как будет показано далее, когда дело дойдет до применения OpenGL.
Для задания точки в системе координат одним функциям библиотеки Quartz в качестве параметров требуются два числовых значения с плавающей точкой, а другим функциям — встраивание точки в структуру CGPoint, состоящую из двух значений с плавающей точкой: х и у. Для описания размеров представления или другого объекта в библиотеке Quartz используется структура CGSize, также состоящая из двух значений с плавающей точкой: width (ширина) и height (высота). Кроме того, в библиотеке Quartz определен тип данных CGRect, который служит для определения прямоугольника в системе координат. Он состоит из двух элементов: CGPoint — начала отсчета, определяющего верхний левый угол прямоугольника, а также CGSize — размера, определяющего ширину и высоту прямоугольника.
- Дата: 10-01-2015, 20:18