Бьярке,
Что касается рисования вашего треугольника, это довольно просто.Вы можете использовать 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) Вершины (в большинстве случаев) являются конечностями вашего треугольника (мин / макс х и у).Однако существуют ситуации, когда это не так, что делает это гораздо менее надежным.
Приветствия.