Estoy tratando de representar formas 3D usando <canvas>
(contexto 2d), lo que significa que tengo que realizar algunas transformaciones proyectivas manuales.Extraer -webkit-transform valores matrix3d
Me ayudaría mucho poder recuperar los valores de la matriz de transformación 3D del CSS.
¿Se puede hacer esto?
En caso negativo, ¿cómo puedo construir la transformación realizada por -webkit-perspective-origin? He calculado la transformación solo por la perspectiva, pero tiene el origen de la perspectiva en x = y = 0, que no siempre es el caso.
Me doy cuenta de que este caso específico (perspectiva con origen en algún punto x, y, z) puede ser una simple traducción x, y, z inmediatamente seguida de la transformación de perspectiva (o al revés) pero la respuesta ideal sería un método para extraer la matriz 3D 4x4 real. Si tengo la matriz, ya no tengo que volver a rastrear los pasos que hice para transformar mis elementos CSS3 con el fin de aplicar las mismas transformaciones a la geometría que pretendo representar usando <canvas>
.
Miré aquí (http://www.w3.org/TR/css3-3d-transforms/) como referencia, pero no parece que describan los valores reales que se asignan a la matriz cuando se aplican las diferentes transformaciones posibles. Creo que debería haber alguna hoja de especificaciones que entre en detalles. Me parece recordar incluso echarle un vistazo (definiciones de matriz con muchas funciones trigonométricas) en alguna parte.
Editar: Encontré una descripción más detallada de los pasos que realiza el navegador para realizar las transformaciones here. No responde mi pregunta pero me acerca un paso más a mi objetivo temporal.
¡Gracias, gracias, gracias! –
Le damos la bienvenida. Me encantaría ver cómo va. – Mircea
Parece que el valor de matriz asignado a cada elemento es la transformación relativa entre él y su elemento primario. ¿Supongo que no hay forma de obtener la transformación acumulativa aparte de multiplicar manualmente las matrices? –