¿Cuál es la precisión interna utilizada por Adobe Illustrator? O dicho de otra manera, ¿qué representación interna usa Illustrator para almacenar datos de coordenadas?
Prueba esto (estoy usando CS6):
Esto es lo que obtengo cuando hago eso:
Obviamente, este es un ejemplo extremo, pero he experimentado distorsiones similares en escenarios más realistas cuando los objetos han pasado por una edición extensa. Para evitar esto, he tenido que recurrir en algunos casos a trabajar a una escala ampliada y solo cambiar el tamaño de mi obra de arte al tamaño final al final.
Claramente, la precisión interna de Illustrator no es infinita. Parece que las coordenadas finalmente se redondean a un número entero en una pequeña escala (supongo que una fracción de un punto), de modo que los errores de redondeo se pueden acumular y finalmente culminan en una distorsión visible.
¿Alguien puede arrojar algo de luz sobre esto?
Ninguna aplicación informática tiene una precisión infinita. Incluso las aplicaciones CAD no tienen una escala de precisión mucho mayor. Sin embargo, le permiten cambiar la unidad de trabajo, lo que cambia su ubicación de punto cero, mientras que Illustrator siempre calcula todo en puntos. Probablemente debería querer leer lo que todo informático necesita saber sobre los números de coma flotante , que ahora se aplica a todos los usuarios de computadoras.
No hay nada de malo en dibujar a escala, eso es esencialmente lo que hacen las aplicaciones CAD: solo tienen la facilidad de decirle al usuario este hecho. Ver la aplicación internamente solo almacena números, la interpretación de esos números depende de la interfaz.
De todos modos no puedo replicar tu problema:
Imagen 1 : un círculo de 0,001 pt escalado progresivamente por x10 (forma de imagen CC2017 pero los resultados en cs 5 son comparables)
Después de haber rastreado una versión cs6, puedo verificar que esto realmente sucede.
Incluso puedo hacer un viaje de ida y vuelta con un valor flotante doble completo, por ejemplo:
in 0100000001110111011010111110101110000101000111101011100001010010
out 0100000001110111011010111110110000000000000000000000000000000000
Entonces parece que el valor interno del sistema ciertamente no es un doble flotador. ¿Solo flotador quizás? ¡Tendría sentido para una versión anterior de un código de aceleración de hardware!
Tengo que probar si ese es el caso en CC2017 duro.
SWB
SWB
joojaa
joojaa
Ryan
SWB