6642浏览
查看: 6642|回复: 0

[项目] Processing系列 玫瑰线

[复制链接]
这是一个简单的参数化绘图的例子
玫瑰线的说法源于欧洲海图。在中世纪的航海地图上,并没有经纬线,有的只是一些从中心有序地向外辐射的互相交叉的直线方向线。此线也称罗盘线,希腊神话里的各路风神被精心描绘在这些线上,作为方向的记号。葡萄牙水手则称他们的罗盘盘面为风的玫瑰(rosedosventor)。水手们根据太阳的位置估计风向,再与“风玫瑰”对比找出航向。玫瑰线,即指引方向的线。
玫瑰线方程及其几何结构玫瑰线的极坐标方程为:ρ=a* sin(nθ),ρ=a*cos(nθ)
用直角坐标方程表示为: x=a* sin(nθ)* cos(θ), y=a*sin(nθ)* sin(θ)
根据三角函数的特性可知,玫瑰线是一种具有周期性且包络线为圆弧的曲线,曲线的几何结构取决于方程参数的取值,不同的参数决定了玫瑰线的大小、叶子的数目和周期的可变性。这里参数a(包络半径)控制三叶玫瑰线
叶子的长短,参数n控制叶子的个数、叶子的大小及周期的长短。
如对于方程式ρ=5* sin(3*θ)、ρ=5* sin(2*θ)、ρ=5* sin(3*θ/2),分别对应的是三叶、四叶和六叶玫瑰线。
代码如下:
  1. void setup() {
  2.   size(300, 300);
  3.   translate(width/2, height/2);
  4.   background(55);
  5.   stroke(255);
  6.   noFill();
  7.   float K = 125, n = 8;
  8.   beginShape();
  9.   for (float i=0; i<TWO_PI; i+=.01) {
  10.     float r = K * cos(n*i);
  11.     float x = r * cos(i);
  12.     float y = r * sin(i);
  13.     vertex(x, y);
  14.   }
  15.   endShape();
  16. }
复制代码
授权转载自 任远媒体实验室
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail