получать очки кривой Безье после перемещения этого конкретного объекта - PullRequest
1 голос
/ 07 октября 2011

У меня есть кривая, которая нарисована с использованием кривой Безье.Теперь я перемещаю этот конкретный объект и помещаю его в другое место.Как я могу получить новые точки для кривой этого объекта.

- (void)drawRect:(CGRect)rect
{

    [myPath moveToPoint:CGPointMake(100, 100)];
    [myPath addLineToPoint:CGPointMake(100, 400)];
    [myPath addLineToPoint:CGPointMake(400, 400)];
    [myPath addLineToPoint:CGPointMake(400, 100)];
    [myPath addLineToPoint:CGPointMake(100, 100)];


    [myPath closePath];
    [[UIColor redColor] setStroke];

    [myPath strokeWithBlendMode:kCGBlendModeNormal alpha:1.0];
    [self setNeedsDisplay];

}

Это мой код для рисования прямоугольника.Теперь, используя прикосновения, я перемещаю прямоугольник, после перемещения как я могу получить новые точки прямоугольника. В этом конкретном случае я использую прямоугольник, но может быть многоугольник неопределенных точек, в таком случае, как я могу получить теточек.

1 Ответ

1 голос
/ 07 октября 2011

Для простого линейного преобразования вам нужно только применить dx и dy к каждой контрольной точке вашей кривой (иначе добавьте ваши изменения в x и y ко всем точкам, которые вы определили для кривой).

...