Создайте треугольник с прямыми линиями из списка точек - с iPhone - PullRequest
0 голосов
/ 22 марта 2011

У меня есть треугольник, нарисованный пользователем, и все точки сохранены в массиве.Затем я хочу нарисовать «правильный» треугольник с прямыми линиями из этих данных.Может кто-то указать мне верное направление.Альтернативой может быть принуждение пользователя нарисовать треугольник в трех отдельных линиях и просто использовать начальную и конечную точки каждой линии, чтобы нарисовать треугольник - но я бы предпочел избежать этого подхода.

Вся помощьоценил

С уважением

1 Ответ

4 голосов
/ 22 марта 2011

Бьярке,

Что касается рисования вашего треугольника, это довольно просто.Вы можете использовать UIBezierPaths или CGPaths для выполнения рисования:

UIBezierPath *triangle = [UIBezierPath bezierPath]; 
[triangle moveToPoint:firstPoint];
[triangle addLineToPoint:secondPoint];
[triangle addLineToPoint:thirdPoint];
[triangle addLineToPoint:firstPoint]; 
[triangle stroke]; // [triangle fill] would work too

Что касается определения, какие точки являются вашими вершинами, это немного сложнее и очень связано с математикой.В этом могут помочь две вещи:

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

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

Приветствия.

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