一、首先是关键概念
在 Processing 中希望处理圆周上的点需要
旋转公式:
x = 旋转中心 + 旋转半径 x cos(旋转角度);
y = 旋转中心 + 旋转半径 x sin(旋转角度);
用这一组公式定位一个点,增加旋转角度对象顺时针旋转,减少旋转角度对象逆时针旋转。
二、然后是实现方式
实现代码(顺时针):
x = centX + r * cos (radians(a));
y = centY + r * sin (radians(a));
a++;
实现代码(逆时针):
x = centX + r * sin (radians(a));
y = centY + r * cos (radians(a));
a++;
三、最后是进阶应用
假如旋转是根据另外一个对象来定的,就这样写:
x = object.x + r * cos (radians(a));
y = object.y + r * sin (radians(a));
另外,需要注意的是角度和度数的转换:
角度 -> 度数 degrees(r)
度数 -> 角度 radians(d)
假如我没记错的话~ ;-)
时间: 2024-10-29 19:11:39