我在javascript中使用增强现实技术(使用Chilitags)。我尝试对HTML元素进行3D转换,使用CSS3进行转换,有点像Three.js's CSS3d demo,但更简单。
为此,我检测到标签的三维变换,以4x4矩阵的形式给出。对于每个转换,我创建一个包含简单文本和背景的.tag
div,我使用CSS' transform:matrix3d(...)指令。
所有这些.tag
div包含在#camera
div中,该div应该应用投影变换。这是我被困的地方。我无法找到变换:matrix3d(...);这使得.tag
div与图像中的条形码完全重叠。
到目前为止,我最接近的结果是
1 0 0 0
0 1 0 0
0 0 1 0
320 240 0 1
投影矩阵,用于转换标记div,但不考虑其深度。结果显示在jsFiddle中,其中我在后台示例快照中对标记的转换矩阵进行了硬编码。
我还尝试使用投影矩阵在其他演示中使用three.js绘制标记。这个矩阵是一个常规的透视变换,但它似乎根本不起作用。这个矩阵是在CSS中注释掉的。
如果有人能帮我找到一种方法来匹配图像上标签上的.tag
div,我会非常感激,即用jsFiddle中的紫色四边形覆盖条形码。