在y为上/下,z为前/后,x为左/右的坐标系中(与Unity3D相同)。
(这是我意思的不好描述)
y
|
| _ __ _x
\
z
(我想z会进入/离开您的显示器)
给定坐标(x,z)保证在这个三角形上,我将如何获得y?假设您知道所有三个三角形点的(x,y,z)坐标以及人脸的法线。三角形可以在任何轴上倾斜。
好吧,给定任意向量v
的三角形内,和正常的n
,我们知道的点积n
和v
(在三角形适用于所有的点)等于0。所以:
nx * vx + ny * vy + nz * vz = 0
需要解决的小代数vy
,我们有:
vy = -((nz * vz) + (nx * vx)) / ny
一件事。v
必须在三角形的平面内,因此您需要通过从中减去一个顶点(例如t1
)来将矢量放在三角形的平面内v
。
所以:
vx = t1x - x, vz = t1z - z, and vy = t1y - y
因此,您的最终y坐标为:y = t1y - vy
其中,vy
上述定义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句