Processing系列 玫瑰线
http://yuanren.cc/wp-content/uploads/2015/03/RoseCurve.png这是一个简单的参数化绘图的例子玫瑰线的说法源于欧洲海图。在中世纪的航海地图上,并没有经纬线,有的只是一些从中心有序地向外辐射的互相交叉的直线方向线。此线也称罗盘线,希腊神话里的各路风神被精心描绘在这些线上,作为方向的记号。葡萄牙水手则称他们的罗盘盘面为风的玫瑰(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),分别对应的是三叶、四叶和六叶玫瑰线。
代码如下:
void setup() {
size(300, 300);
translate(width/2, height/2);
background(55);
stroke(255);
noFill();
float K = 125, n = 8;
beginShape();
for (float i=0; i<TWO_PI; i+=.01) {
float r = K * cos(n*i);
float x = r * cos(i);
float y = r * sin(i);
vertex(x, y);
}
endShape();
}授权转载自 任远媒体实验室
页:
[1]