我有一个nsbezierpath。我想以
的方式插入interpolate (0) = starting point
interpolate (1) = end point
interpolate (0.5) = middlePoint.
我也想要一个在该点提供正常向量的函数。
我在搜索过程中看到了很多拼图,但没有人在Swift中提供完整的解决方案。关键问题是:
- 如何确保插值(0.5)真正在路径中间?我需要考虑整个路径的长度吗?它永远是中间路径段的中间点吗?我不信。但是,欢迎良好的近似值!
- 如何在这样的点上检索普通向量?
非常感谢!
基本上,我使用了此库:https://github.com/louisdh/bezierpath-length/blob/blob/master/master/source/bezierpath+length.swift.swift
它给了我X的良好近似值,以便在较小的更改后进行插值。使用该X和此解释:https://medium.com/@adrian_cooney/bezier-interpolation-13b68563313a我能够找到正常的向量(最后一个插值沿切线沿切线,所以我只需要从最后一个正交矢量来插值)。
我的代码仍然有些混乱。我可能以后发布。但它有效!