Como posso impedir o fechamento do caminho de Bezier

Quero criar uma curva de Bezier e criar um limite de colisão para o meu objeto.

let firstSurfacePoint = CGPoint(x: 30, y: 120)
let secondSurfacePoint = CGPoint(x: 20, y: 200)
let thirdSurfacePoint = CGPoint(x: 200, y: 300)

let center = CGPoint(x: 150, y: 120)
let radius: CGFloat = 120.00
let arcWidth: CGFloat = 20.00    
let fourthSurfacePoint = CGPoint(x: 240, y: 300)

func createCollisionPath(collision: UICollisionBehavior) {

    let line =  UIBezierPath()

    line.moveToPoint(firstSurfacePoint)
    line.addCurveToPoint(thirdSurfacePoint, controlPoint1: secondSurfacePoint, controlPoint2: secondSurfacePoint)
    line.addLineToPoint(fourthSurfacePoint)

    let currentPath = CAShapeLayer()
    currentPath.path = line.CGPath
    currentPath.strokeColor = UIColor.blackColor().CGColor
    currentPath.fillColor = UIColor.clearColor().CGColor
    currentPath.lineWidth = 1
    view.layer.addSublayer(currentPath)

    collision.addBoundaryWithIdentifier("curve", forPath: line)

}

o mesmo resultado ruim que recebo, se eu escolher addArcWithCente

line.moveToPoint(firstSurfacePoint)
line.addArcWithCenter(center, radius: radius, startAngle: CGFloat(M_PI), endAngle: CGFloat(M_PI/2), clockwise: false)
line.addLineToPoint(fourthSurfacePoint)

Nestas duas tentativas, obtemos resultados estranhos, que são cruciais, pois não consigo criar uma colisão adequada. Na primeira tentativa, meu objeto percorre o caminho como se fosse uma linha reta do firstPoint ao thirdPoint, assim como na segunda

O que estou fazendo errado?

Minha figura (sem arco)

Minha figura (com arco)

questionAnswers(1)

yourAnswerToTheQuestion