Processing 中自定义旋转的实现

一、首先是关键概念
在 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)

假如我没记错的话~ ;-)

爱好编程、喜欢计算机、也喜欢美食~
原文地址:https://www.cnblogs.com/x5115x/p/4904007.html