Индивидуальная фигурная маска (Objective-C) - PullRequest
0 голосов
/ 11 августа 2011

У меня есть массив CGPoints, которые образуют многоугольник.Я хочу, чтобы этот многоугольник был «экраном просмотра» для чего-то другого.Это означает, что всякий раз, когда что-то размещается «на» экране, оно маскируется краями многоугольника.Например, если у меня есть квадрат с вершинами (-1, -1), (1, -1), (1, 1) и (-1, 1), и я связываю этот квадрат с этой маской, которая имеетвершины (0, 2), (0, 0) и (1, 0), я хочу, чтобы результат был четырехугольником с вершинами (0, 1), (0, 0), (1, 0) и (0.5,1).(Извините за словесное описание форм, но я не смог сделать лучший пример) Как бы я поступил так?Спасибо!

1 Ответ

1 голос
/ 11 августа 2011

Вы можете сделать кучу вещей с CGRects , предоставленными Apple. Помните, что каждый многоугольник на самом деле представляет собой просто объединение треугольников, и каждый треугольник можно поместить в собственный прямоугольник. Оттуда вы можете написать некоторый пользовательский код, который проверяет, пересекаются ли стороны, и на основании этого, если их внутренние треугольники пересекаются. На самом деле это просто совпадение ребер и пересечений линий. Надеюсь, это поможет!

...