У меня проблема с пониманием «масштабирование координат преобразования». Нужна помощь - PullRequest
0 голосов
/ 12 марта 2012

Использование масштабного преобразования для отрицания координаты y изменяет некоторые условные обозначения в кварцевом рисунке . Например, если вы звоните CGContextDrawImage чтобы нарисовать изображение в контексте, изображение изменено преобразованием, когда оно обращается в пункт назначения. Точно так же процедуры рисования пути принимают параметры, которые определяют нарисована ли дуга по часовой стрелке или против часовой стрелки в системе координат по умолчанию. Если система координат изменена, результат также изменяется, как если бы изображение было отражено в зеркало. На рисунке 1-5 , передающий те же параметры в результаты кварца по дуге по часовой стрелке в системе координат по умолчанию и дуга против часовой стрелки после того, как координата y отменяется преобразования.

это из справочника apple quartz2d относительно системы координат.

Что они подразумевают под этой первой строкой? Using a scaling transform to negate the y-coordinate alters some conventions in Quartz drawing.

и во второй строке они привели пример thecgcontextdrawimage, да, его истинный uikit автоматически изменяет координаты с левого нижнего на верхний левый, так какой же здесь смысл?

и также не поняли последний пункт этого, passing the same parameters into Quartz results in a clockwise arc in the default coordinate system and a counterclockwise arc after the y-coordinate is negated by the transform.

Заранее спасибо, С уважением.

1 Ответ

1 голос
/ 04 апреля 2012

Они просто обращают внимание на тот факт, что использование масштабного преобразования с отрицательной координатой, в данном примере y, создает зеркальный эффект.Это может быть не obvoius, но если смотреть в зеркало, направление осей меняется.В примере они говорят об оси y, что приводит к изменению понятия вверх и вниз.Если вы тщательно продумаете аналогию с зеркалом или просто выберите зеркало и попробуйте :), вы можете вообразить / увидеть, что дуга, нарисованная по часовой стрелке, будет выглядеть в зеркале как нарисованная против часовой стрелки.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...