
我通过以下方式绘制了上面的BezierPath://位置是用户触摸屏幕的位置.//位置将是CGPoint origin = CGPointMake(xStart,620.0)的最大值; CGPoint endpt = CGPointMake(xEnd,620.0); CGPoint midpt1 = midPointForPoints(原点,位置); CGPoint midpt2 = midPointForPoints(location,endpt);
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:origin];
[path addQuadCurveToPoint:location controlPoint:CGPointMake(midpt1.x, midpt1.y+50)];
[path addQuadCurveToPoint:endpt controlPoint:CGPointMake(midpt2.x, midpt2.y+50)];
[shapeLayer setPath:path.CGPath];
Run Code Online (Sandbox Code Playgroud)
现在,我想检索位于路径上的某些x坐标的y坐标.例如,给定x = 0.0,我想得到y = 0.0,或者给定x = 300.0,y = 50.0.
我看了一些像这个问题和示例代码的参考文献,我仍然不确定.更新:基本上,我想做这样的事情.

更新:关注 @ Fang的建议:
给出等式
X = (1-t)^2*X0 + 2*t*(1-t)*X1 + t^2 *X2
Run Code Online (Sandbox Code Playgroud)
我解决了
t = ((2.0 * x0 - x1) + sqrt(((-2.0 * x0 + x1) ** 2.0)
- ((4 * (x0 - …Run Code Online (Sandbox Code Playgroud)