Javascript -webkit transform:matrix3d()做什么?

Javascript -webkit transform:matrix3d()做什么?,javascript,css,graphics,3d,Javascript,Css,Graphics,3d,我需要在html画布内的图像上应用3D变换非仿射/透视。我在div上使用了matrix3d来实现这一点,但由于matrix3d只能用于DOM元素,因此我无法找到在html画布内的对象上进行这些转换的方法。为了实现这一点,我需要编写一个脚本,它可以执行与matrix3d transform相同的操作。 更具体地说,我需要知道matrix3d函数中作为参数传递的16个值的含义,以及它们所经历的数学运算。16个数字表示4x4同质变换矩阵中包含的值。一般形式是,对于输入坐标A,输出坐标B的组件和给定的C

我需要在html画布内的图像上应用3D变换非仿射/透视。我在div上使用了matrix3d来实现这一点,但由于matrix3d只能用于DOM元素,因此我无法找到在html画布内的对象上进行这些转换的方法。为了实现这一点,我需要编写一个脚本,它可以执行与matrix3d transform相同的操作。
更具体地说,我需要知道matrix3d函数中作为参数传递的16个值的含义,以及它们所经历的数学运算。

16个数字表示4x4同质变换矩阵中包含的值。一般形式是,对于输入坐标A,输出坐标B的组件和给定的CSS样式:

matrix3d(a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3, a4, b4, c4, d4)
它们是:

[假设d1=d2=d3=0和d4=1的典型值]


因此,向量[a4、b4、c4]对应一个平移,其余9个值表示缩放和旋转变换。

执行类似的变换,具体是如何进行的,以及转换到什么?我需要创建一个javascript函数,该函数执行与matrix3d变换相同的操作。但要创建这样一个函数,我首先需要了解matrix3d函数中发生了什么操作,这还不清楚。CSS3中的matrix3d用于将3D转换应用于页面上的元素。CSS3是实现这一点的唯一方法,因此,如果您想通过JS代码应用相同的转换,您只需将这样的CSS3样式动态应用于页面或元素。是的,您正确地认为CSS3D用于将转换应用于页面上的元素。我需要在html画布内的图像上应用3D转换。我在一个div上使用了matrix3d来实现这一点:现在我无法找到在html画布中的对象上进行这些转换的方法,因此我需要编写一个脚本来完成这些转换,然后我计划在画布对象上应用该脚本。希望我已经说清楚了?这更清楚了,但不幸的是很难实现。画布是二维像素阵列,将三维空间中的绘制操作光栅化为二维很困难。在受支持的浏览器甚至WebGL上使用SVG可能会更好。你能告诉我上面在matrix3d函数中使用的变量的位置索引号是多少吗?@AnishShah好的,我已经从
B_x = A_x * a1 + A_y * a2 + A_z * a_3 + a4;
B_y = A_x * b1 + A_y * b2 + A_z * b_3 + b4;
B_Z = A_x * c1 + A_y * c2 + A_z * c_3 + c4;