Convertir ruta a polígono

Estoy tratando de averiguar si un punto está en una ruta SVG usando Python.
El algoritmo que usaré es el algoritmo de transmisión de rayos .

Pero para este algoritmo necesito tener los lados del polígono, pero todo lo que tengo es el pathdata para la ruta svg:

 

que corresponde a esta imagen:

Ejemplo de ruta SVG

Entonces, ¿hay una manera de obtener los lados de un camino?

Puede convertir una ruta en un polígono como se muestra en mi ejemplo aquí:
http://phrogz.net/svg/convert_path_to_polygon.xhtml

El algoritmo más simple de esa página (en JavaScript) es:

 function polygonSampledFromPath(path,samples){ var doc = path.ownerDocument; var poly = doc.createElementNS('http://www.w3.org/2000/svg','polygon'); var points = []; var len = path.getTotalLength(); var step = step=len/samples; for (var i=0;i<=len;i+=step){ var p = path.getPointAtLength(i); points.push( p.x+','+py ); } poly.setAttribute('points',points.join(' ')); return poly; } 

En lugar de muestrear en base a un cierto número de puntos, es posible que desee simplemente muestrear a una distancia determinada.

Esto supone que su enlace Python tiene acceso a la interfaz DOM SVGPathElement completa.