获取两个坐标之间的长度?

时间:2011-09-17 22:59:40

标签: javascript raphael

我正在尝试使用Raphael.js路径获取两个坐标之间的长度。

如果我有这样的路径:

M612 295 L690 429 L642 565 L540 432 L711 379 L763 502 L683 585 L480 612 L605 466 L717 318 L888 466 L756 586 L609 392 L835 248 L874 472 L927 622 L724 674 L708 403 L563 391

然后我希望能够获得711 379927 622之间的长度,这可能吗?

1 个答案:

答案 0 :(得分:3)

使用pythagorean theorem,就像Ivan指出的那样,是可行的方法。

我创建了this lib来解决我的问题。

这是一个例子。

var paper = Raphael(10, 50, 320, 200);
var path = paper.path("M10 10 L90 90 L21 18 L19 31");

path.getLengthBetweenCoordinates({
  y: 10,
  x: 10 
}, {
  x: 21,
  y: 18
});

/* => 212.86170582141557 */