高中的平面几个角度公式都给忘了.
参考:http://blog.csdn.net/wu928320442/article/details/17165223
关键点:
这个方法是根据改变纹理的旋转角度来达到旋转变换目的的,跟前两个有所不同,这个改变后,以后都是这个纹理角度了, 他不会更改顶点的坐标
信息来处理旋转,只是改变顶点的uv信息调整。
旋转变换,有个环绕点的概念,可以根据某一点进行旋转, 而不一定是图元的中心点,旋转的原理,这里我画了一张图,
这里x0,y0是变换前的坐标,x,y是变换后的坐标,θ为旋转的角度,α是x0,y0与原点之间的夹角,r为到原点的长度。
这里根据数学知识,我们可以得到
x0= r*cosα
y0=r*sinα
x=r*cos(α+θ)=r*cosα*cosθ - r*sinα*sinθ=x0*cosθ-y0*sinθ
y=r*sin(α+θ)=r*sinα*cosθ+r*cosα*sinθ=y0*cosθ+x0*sinθ
这里只是相对于原点的旋转变换,如果遇到根据某一点的要怎么处理呢?
其实他的内部处理是这样的,先相对环绕点进行旋转变换,即把环绕点当做原点,然后把变换后的点根据环绕点的世界坐标,拉到世界坐标点。