学数学之利用Canvas绘制阿基米德螺线

1,157 阅读1分钟

一些知识背景

阿基米德螺线(Archimedean spiral),亦称“等速螺线”。当一点P沿动射线OP以等速率运动的同时,这射线又以等角速度绕点O旋转,点P的轨迹称为“阿基米德螺线”。它的极坐标方程为:

下面利用canvas进行绘制

let mycav = document.getElementById('cav');
let ctx = mycav.getContext('2d');

ctx.lineWidth = 1;

ctx.beginPath();

let sx = 200, sy = 200;

ctx.moveTo(sx, sy);

//for r = a + b*x in Polar
let a = 0, b = 6;
let maxangle = 8 * Math.PI
for (var i = 0; i <= maxangle; i = i + 0.1) {
    let tx = a+ b * i * Math.cos(i);
    let ty = a+ b * i * Math.sin(i);
    ctx.lineTo(sx + tx, sy + ty);
}

ctx.stroke();

Demo