鼠标坐标从2d到3d元素javascript的移动

时间:2017-04-04 15:14:55

标签: javascript 3d 2d mouse coordinate

我正在尝试拖动使用3d css变换转换的元素,例如 ReadStream

问题是我试图拖动一些嵌套在transformend元素中的元素,并且它继承了他的转换矩阵。在这种情况下,子元素具有不同的坐标系,该坐标系是与父母的3d,并且我的鼠标移动具有不同的2d坐标系。我使用以下公式进行了二维计算:

rotateX(-50)

var x1 = (deltaX * m3d.m11) + (deltaY * m3d.m21) + (0 * m3d.m31) + (1 * m3d.m41); var y1 = (deltaX * m3d.m12) + (deltaY * m3d.m22) + (0 * m3d.m32) + (1 * m3d.m42); deltaX是鼠标从拖动的起始位置移动到当前鼠标移动的偏移量。 deltaY是一个对象,它包含当前元素的4x4矩阵,该矩阵与其父元素的所有矩阵相乘,并在最终中被投射。

我在这个site中读到了这个。这对元素的二维转换起作用。当我们对m3dskewrotateZ进行转换时,没有问题,并且元素随着鼠标光标移动。但是如果我们有scalerotateX元素在光标周围飞行。

我读到我们可能会按照article进行鼠标的光线投射,但我仍然不知道我应该怎么做到这一点。

0 个答案:

没有答案