我试图使一个在胡迪尼几何面对同一个方向的法线在一条线上。我得到的法向量的大小为1,然后使用公式angle=arccos((x dot y)/(magnize x*magnity y)。获取旋转对象的角度,然后乘以180将其转换为度。由于某些原因,这并不能给出一致的结果。在
我的数学有明显的问题吗?我是胡迪尼的新人,所以我不确定我是否会错过一些会使这件事复杂化的事情。在
下面是我使用的python代码。在
#normalize and store as vector3
currentNormal = hou.Vector3(currentNormal).normalized()
previousNormal = hou.Vector3(previousNormal).normalized()
#get dot product and magnitudes
dotProd = numpy.dot(previousNormal, currentNormal)
previousMagnitude = numpy.sqrt((previousNormal[0]**2) + (previousNormal[1]**2) + (previousNormal[2]**2))
currentMagnitude = numpy.sqrt((currentNormal[0]**2) + (currentNormal[1]**2) + (currentNormal[2]**2))
nextLocationRotate = numpy.arccos(dotProd/(previousMagnitude * currentMagnitude))
nextLocationRotate = [0.0, nextLocationRotate*180, 0.0]
我试着绕y轴旋转。在
目前没有回答
相关问题 更多 >
编程相关推荐