This is some great cleanup. But can you use some `CGPoint`s instead of `CGFloat`s? And maybe try to give them more meaningful names. Maybe something like `basePoint1, tipPoint, basePoint2`?