关于Unity3D的向量坐标计算问题,四元数和向量相乘?Quaternion.Euler(0,90,0)*Vector3(0.0,0.0,-10)为什么可以得出一个以原点为中心,距离原点10单位,绕y轴旋转90度的新向量?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/27 14:18:07
关于Unity3D的向量坐标计算问题,四元数和向量相乘?Quaternion.Euler(0,90,0)*Vector3(0.0,0.0,-10)为什么可以得出一个以原点为中心,距离原点10单位,绕y

关于Unity3D的向量坐标计算问题,四元数和向量相乘?Quaternion.Euler(0,90,0)*Vector3(0.0,0.0,-10)为什么可以得出一个以原点为中心,距离原点10单位,绕y轴旋转90度的新向量?
关于Unity3D的向量坐标计算问题,四元数和向量相乘?
Quaternion.Euler(0,90,0)*Vector3(0.0,0.0,-10)
为什么可以得出一个以原点为中心,距离原点10单位,绕y轴旋转90度的新向量?

关于Unity3D的向量坐标计算问题,四元数和向量相乘?Quaternion.Euler(0,90,0)*Vector3(0.0,0.0,-10)为什么可以得出一个以原点为中心,距离原点10单位,绕y轴旋转90度的新向量?
Quaternion.Euler(x,y,z) 返回一个绕x轴旋转x度再绕y轴旋转y度再绕z轴旋转z度的Quaternion,因此Quaternion.Euler(0,90,0)返回一个绕y轴旋转90度的旋转操作.
Quaternion作用于Vector3的右乘操作(*)返回一个将向量做旋转操作后的向量.
因此Quaternion.Euler(0,90,0)*Vector3(0.0,0.0,-10)表示将向量Vector3(0.0,0.0,-10)做绕y轴90度旋转后的结果.因该等于Vector3(-10,0,0).