Pregunta corta: usando la ruta SVG, podemos dibujar el 99.99% de un círculo y aparece, pero cuando es el 99.99999999% de un círculo, entonces el círculo no aparecerá. ¿Cómo se puede arreglar?
La siguiente ruta SVG puede dibujar el 99.99% de un círculo: (pruébelo en http://jsfiddle.net/DFhUF/1381/ y vea si ve 4 arcos o solo 2 arcos, pero tenga en cuenta que si es IE, es renderizado en VML, no SVG, pero tiene el problema similar)
M 100 100 a 50 50 0 1 0 0.00001 0
Pero cuando es 99.99999999% de un círculo, ¿entonces nada se mostrará?
M 100 100 a 50 50 0 1 0 0.00000001 0
Y eso es lo mismo con el 100% de un círculo (sigue siendo un arco, ¿no es así, solo un arco muy completo?)
M 100 100 a 50 50 0 1 0 0 0
¿Cómo se puede arreglar eso? La razón es que uso una función para dibujar un porcentaje de un arco, y si necesito un "caso especial" de 99.9999% o 100% de arco para usar la función de círculo, sería una tontería.
Nuevamente, un caso de prueba en jsfiddle usando RaphaelJS está en http://jsfiddle.net/DFhUF/1381/
(y si es VML en IE 8, incluso el segundo círculo no se mostrará ... debe cambiarlo a 0,01)
Actualizar:
Esto se debe a que estoy representando un arco para una puntuación en nuestro sistema, por lo que 3.3 puntos obtienen 1/3 de un círculo. 0.5 obtiene medio círculo, y 9.9 puntos obtienen el 99% de un círculo. Pero, ¿qué pasa si hay puntajes de 9.99 en nuestro sistema? ¿Tengo que verificar si está cerca del 99.999% de un círculo y usar una arc
función o una circle
función en consecuencia? Entonces, ¿qué pasa con una puntuación de 9.9987? ¿Cuál usar? Es ridículo necesitar saber qué tipo de puntajes se asignarán a un "círculo demasiado completo" y cambiar a una función de círculo, y cuando sea "un cierto 99.9%" de un círculo o un puntaje de 9.9987, use la función de arco .