我正在创建一个“Body”类,它将一堆 2D 形状组合在一起,形成一个可移动、可旋转的主体。
我需要知道的是如何旋转每个单独的形状,使其看起来像是整个身体都在旋转,而不是每个形状都围绕其中心旋转。
我不能只是将每个形状的旋转中心更改为同一点,因为这也会导致它们的位置受到影响。
因此我需要找到某种使用以下公式的方程身体中心以保持身体形状不变形的方式重新定位和旋转身体中的每个单独形状?
我怎样才能做到这一点?
任意点旋转的方法是先减去点坐标,绕原点旋转,然后加上点坐标。
x2 = px + (x1-px)*cos(q)-(y1-py)*sin(q)
y2 = py + (x1-px)*sin(q)+(y1-py)*cos(q)
where px, py
是旋转点坐标,并且x1,y1
原始 2D 形状顶点和x2,y2
旋转坐标,以及q
以弧度为单位的角度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)