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)

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM