我正在尝试使Houdini中的几何图形面对的方向与直线上的法线相同。我将法线作为大小为1的矢量,然后使用公式angle = arccos((x点y)/(magnitude x *大小y)。来获取旋转对象的角度,然后乘以180进行转换出于某种原因,这并不能给出一致的结果。
我的数学显然做错了吗?我是Houdini的新手,所以不确定我是否会错过一些会使环境复杂化的事情。
这是我正在使用的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轴旋转。