获取 NSBezierPath 长度的最佳方法是什么?



我使用的路径没有曲线;只有一系列连接的点。

我目前使用的方法涉及遍历路径的 NZBezierPathElement 组件并获取每个点,但这很笨拙 - 特别是因为我必须保存最后一个点才能获得每个新距离。如果你们中的任何人知道更好的方法,将不胜感激。

你的算法听起来完全正确 - 路径的长度是每对点之间的长度之和。很难理解为什么你认为这是"笨拙的",所以这里是伪代码中的算法以防万一:

startPoint <- point[1]
length <- 0
repeat with n <- 2 to number of points
   nextPoint <- point[n]
   length <- length + distanceBetween(startPoint, nextPoint)
   startPoint <- nextPoint // hardly clumsy
end repeat

也许你的做法不同?

当前点的概念是NSBezierPath(以及 SVG、海龟图形等)的基础,其相对命令(例如移动相对、线相对) - 无法逃避它!

相关内容

  • 没有找到相关文章

最新更新