libgdx图形变换

来源:互联网 发布:淘宝卖家账号注册 编辑:程序博客网 时间:2024/05/21 03:16

高中的平面几个角度公式都给忘了.


参考: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θ

这里只是相对于原点的旋转变换,如果遇到根据某一点的要怎么处理呢?

其实他的内部处理是这样的,先相对环绕点进行旋转变换,即把环绕点当做原点,然后把变换后的点根据环绕点的世界坐标,拉到世界坐标点。


0 0
原创粉丝点击