Move CGPathCreateMutable () para que o caminho permaneça o mesmo?

Tenho 9 sprites hexagonais na tela e preciso especificar um determinado caminho ao seu redor para tornar sua área tocável. Eu não quero definir as coordenadas para cada caminho, respectivamente, então não posso simplesmente usar o primeiro caminho (os hexágonos são do mesmo tamanho) e mover sua origem para outra posição (sem destruir a forma)? (Se eu fizer isso agora, o CGPathAddLineToPoint (); adiciona os pontos do hexágono do hexágono anterior. Espero que eu tenha entendido a ideia ... (veja a figura ... NOTA: O octógono cinza no canto superior direito é o exatamente o mesmo tamanho e forma que o preto)! [Mover coordenadas e formas do caminho] [1]

hex2TouchArea = CGPathCreateMutable ();

    CGPathMoveToPoint(hex2TouchArea, NULL, 150,157);
    CGPathAddLineToPoint(hex2TouchArea, NULL, 130, 198);
    CGPathAddLineToPoint(hex2TouchArea, NULL, 146, 236);
    CGPathAddLineToPoint(hex2TouchArea, NULL, 195, 236);
    CGPathAddLineToPoint(hex2TouchArea, NULL, 218, 197);
    CGPathAddLineToPoint(hex2TouchArea, NULL, 193, 157);
    CGPathCloseSubpath(hex2TouchArea);

aqui eu coloco uma foto que mostra em uma imagem
http: //666kb.com/i/bz2ysevuw8n65rh3i.gi

*EDIT: peguei a solução do post e a alterei um pouco: *

-(CGMutablePathRef) drawHexagon:(CGPoint)origin
{
    //create mutable path
    CGMutablePathRef path = CGPathCreateMutable();

    CGPathMoveToPoint(path, nil, origin.x, origin.y);

    CGPoint newloc = CGPointMake(origin.x - 20, origin.y + 42);
    CGPathMoveToPoint(path, NULL, newloc.x, newloc.y);
    CGPathAddLineToPoint(path, NULL, newloc.x + 16,newloc.y + 38);
    CGPathAddLineToPoint(path, NULL, newloc.x + 49, newloc.y + 0);
    CGPathAddLineToPoint(path, NULL, newloc.x + 23,  newloc.y - 39);
    CGPathAddLineToPoint(path, NULL, newloc.x - 25,newloc.y - 40);
    CGPathAddLineToPoint(path, NULL, newloc.x -43, newloc.y + 0);
    CGPathCloseSubpath(path);
    return path;   

}

questionAnswers(1)

yourAnswerToTheQuestion