我使用的路径没有曲线;只是一系列连接点。
我目前使用的方法是迭代遍历路径的NZBezierPathElement组件并获取每个点,但这很笨拙 - 特别是因为我必须保存最后一个点以获得每个新距离。如果你们中的任何一个人知道更好的方法,那将非常感激。
答案 0 :(得分: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,海龟图形等)的基本概率及其相对命令(例如移动相对,线相对) - 没有逃避它!