2011-09-17 2 views
0

Raphael.jsパスを使用して2つの座標の間の長さを取得しようとしています。2つの座標の間の長さを取得しますか?

例えば、私はこのパスをしている場合:その後、私は711 379927 622間の長さを取得できるようにしたい

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

、可能ということでしょうか?

+0

これは数が多いです。スクリーンショットを投稿できますか? – fazo

+0

@fazo私はランダムにコードの束を選択しました。 [Here](http://i.imgur.com/vfkcd.png)は印刷画面です。背景を残念に思う。 – Oleander

+0

申し訳ありませんが、私はそうではないと思います – fazo

答えて

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 */ 
+0

"T"コマンド(あなたの例では "L"コマンドではない)を使用して作成されたような曲線パスでも機能しますか?ありがとう! – beamish

関連する問題