1

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

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

4

1 回答 1

1

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

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、海龟图形等)及其相对命令(例如相对移动、相对线)的基础 - 没有逃避它!

于 2012-10-04T22:22:20.507 回答