Questo potrebbe non essere il tipo di risposta che stai cercando, ma utilizzando Raphael.js puoi eseguire il looping su tutta la lunghezza del percorso di una regione getPointAtLength()
, confrontandola con tutti i punti della seconda regione. Se le coordinate sono più vicine di n
pixel da eventuali coordinate sulla seconda regione e le coordinate precedenti non lo erano, allora potrebbe essere considerato un punto "colla". Dovresti quindi saltare al secondo regio e iniziare a passarci sopra, se il punto successivo è ancora più vicino di n
punti, piuttosto che andare nella direzione opposta, se ancora più vicino cambia direzione e vai più lontano lungo il percorso fino a trovare un punto più lontano dalla regione originale rispetto a n
pixel. Continua ad andare in quella direzione fino a trovare nuovamente un nuovo punto "colla", dove ancora una volta passerai alla regione originale nel modo descritto e tutti i punti che non sono stati coperti in questo ciclo finale potrebbero essere scartati (o potresti semplicemente crea una nuova forma in base ai punti che hai incontrato mentre giravi per tutta la lunghezza della regione originale
Abbastanza vero, non è la sceneggiatura più semplice da fare, ma dovrebbe essere abbastanza in grado di farlo, specialmente quando tu può usare una funzione come getPointAtLength
per trovare i punti tra i punti svg definiti (anche se è necessario solo 'registrare' i punti definiti, e questo è un po 'il percorso difficile in quanto Raphael.js non ha eccitato funzioni che possano aiutare anche questo non dovrebbe essere troppo difficile da eguagliare per mano (in codice di co Urse)).
fonte
2013-03-26 09:33:06
Quindi ha funzionato? Grande! – mzedeler