87,904
社区成员
发帖
与我相关
我的任务
分享
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var v1, v2;
var r1, r2;
v1 = Math.PI / 365;
v2 = Math.PI / 365;
// v2表示其他行星轨道,你可以设置的大点
r1 = 50;
r2 = 80;
var p;
for ( var i = 0; i < 8000; i++) {
p = getPoint(i);
draw(p);
}
function getPoint(t) {
var x = Math.cos(v2 * t) * r2 - Math.cos(v1 * t) * r1;
var y = Math.sin(v2 * t) * r2 - Math.cos(v1 * t) * r1;
return {
x : x,
y : y
};
}
function draw(p) {
ctx.fillStyle = "#FF0000";
ctx.beginPath();
ctx.arc(p.x+200, p.y+200, 1, 0, Math.PI * 2, true);
ctx.closePath();
ctx.fill();
}