Unity旋转
向量旋转
首先我们需要知道旋转的角度,设为$\theta$
例如把AB旋转到AC,设$\angle XAB = \sigma$, B的坐标(x, y), C的坐标(a, b),半径为R,则
由上式可得 $a = x \times cos(\theta) - y \times sin(\theta), b = y \times cos(\theta) + x \times sin(\theta)$
也就是说我们可以用x来替换$cos(\sigma)$, 用y来替换$sin(\sigma)$,然后根据和角公式进行对应替换就可以了
如果AC角小于AB角也可以用同样的方法进行求解。结果为$a = x \times cos(\theta) + y \times cos(\theta), b = y \times cos(\theta) - x \times sin(\theta)$
在Unity中可以使用Quaternion.LookRotation的方法进行旋转,它的输入就是旋转之后的向量,其中y可以不变,只需要旋转x和z。
欧拉角
transform
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment