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

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

Processing 中自定义旋转的实现的更多相关文章

  1. 在WPF中自定义你的绘制(三)

    原文:在WPF中自定义你的绘制(三) 在WPF中自定义你的绘制(三)                                                                  ...

  2. Html中自定义鼠标的形状

    Html中自定义鼠标的形状 <html> <head> <title>自定义的鼠标形状</title> <meta http-equiv=&quo ...

  3. 教你一招:在PowerPoint中自定义可输入文本的占位符

    日常生活中,当我们设计多媒体课件时,默认的版式其实已经够用了.但是,很多时候,我们需要更加个性一点,所以,我们需要自定义很多东西.本文介绍在PowerPoint中自定义可输入文本的占位符. 一.占位符 ...

  4. 子坐标系C在父坐标系W中的旋转问题

    关键词:空间旋转.旋转轴.刚体旋转 用途:相机位姿估计.无人机位姿估计 文章类型:概念.公式总结(本文不带推倒过程,若想了解公式是如何推出来的请自习搜索文献),C++函数展示 @Author:VSha ...

  5. android代码优化----ListView中自定义adapter的封装(ListView的模板写法)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. 在Eclipse中自定义类似syso的快捷代码模板

    sysout/syso syserr/ syse 点击菜单栏的“Window”->“Preferences”,打开“Preferences”对话框.在Preferences”对话框中点击“Jav ...

  7. 在.net桌面程序中自定义鼠标光标

    有的时候,一个自定义的鼠标光标能给你的程序增色不少.本文这里介绍一下如何在.net桌面程序中自定义鼠标光标.由于.net的桌面程序分为WinForm和WPF两种,这里分别介绍一下. WinForm程序 ...

  8. .net中自定义过滤器对Response内容进行处理

    原文:http://www.cnblogs.com/zgqys1980/archive/2008/09/02/1281895.html 代码DEMO:http://files.cnblogs.com/ ...

  9. SharePoint 2013 中自定义WCF服务

    在使用SharePoint2013的时候,如果其他客户端 API 的组合不足,可以通过自定义 Web 服务扩展 SharePoint.默认情况下,SharePoint 2013 不仅支持创建自定义 A ...

随机推荐

  1. Oracle数据库常用语法

    基本 --新建表:create table table1( id varchar(300) primary key, name varchar(200) not null); --插入数据 inser ...

  2. “SQL Server does not exist or access denied.”

    Have resolved the problem, the Port was different and so the Connection String now reads: <connec ...

  3. idea 自动生产 api文档

    第一: 打开idea,选择项目.点击工具栏 Tools->Generate JavaDOC 第二: 主要分为三部分内容. 1,Generate JavaDoc scope 要扫描生成api的范围 ...

  4. webpack---eslint-loader学习随笔

    第一步.在项目内安装: npm i -D eslint eslint-loader . 第二步.webpack的配置loader 注意loader的顺序,需先执行eslint-loader. 第三步. ...

  5. UI5-技术篇-JS函数eval动态执行

    <html lang="en"> <head> <meta charset="utf-8" /> <title> ...

  6. Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException

    转自:https://www.jb51.net/article/98644.htm Java xml出现错误 javax.xml.transform.TransformerException: jav ...

  7. spring事务什么时候会自动回滚

    在java中异常的基类为Throwable,他有两个子类xception与Errors.同时RuntimeException就是Exception的子类,只有RuntimeException才会进行回 ...

  8. Mysql5.7降级到5.6遇到的坑

    任何版本的升级或降级都存在兼容的问题,DB更为明显,废话不多说,直接进入主题,问题描述如下: Specified key was too long; max key length is 767 byt ...

  9. centos7安装后,一些小优化

    1.设置静态ip vim /etc/sysconfig/network-scripts/ifcfg-ens33 将BOOTPROTO=dhcp修改为BOOTPROTO=static ONBOOT=no ...

  10. jmeter多机联合负载

    操作步骤如下: 1.在负载机上部署Jmeter,确保Jmeter的bin目录下存在ApacheJMeter.jar与jmeter-server.bat两个文件. 2.双击启动负载机的jmeter-se ...