2011-09-17 6 views
0

J'essaie d'obtenir la longueur entre deux coordonnées en utilisant un chemin Raphael.js.Obtenir la longueur entre deux coordonnées?

Si j'ai par exemple ce chemin:

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

Ensuite, je veux être en mesure d'obtenir la longueur entre 711 379 et 927 622, est-ce possible?

+0

c'est beaucoup de chiffres .. pourriez-vous poster une capture d'écran? – fazo

+0

@fazo Je viens de sélectionner un groupe de cordes au hasard. [Ici] (http://i.imgur.com/vfkcd.png) est l'écran d'impression. Désolé pour le fond. – Oleander

+0

désolé, mais je ne pense pas que ce soit – fazo

Répondre

3

En utilisant pythagorean theorem, tout comme Ivan a souligné, est le chemin à parcourir. J'ai créé this lib pour résoudre mon problème.

Voici un exemple.

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

Cela fonctionne-t-il également pour les chemins courbes, par exemple - créés en utilisant la commande "T" (et non la commande "L" utilisée dans votre exemple)? Merci ! – beamish

Questions connexes