我正在尝试使用javascript创建太阳系,而我正在使用可汗学院来制作它,但是我知道如何使它们围绕太阳旋转一圈 我一直在网上浏览几个小时,但我找不到任何东西。这是我的项目,这样你就可以看到我做了什么,你能做些什么
https://www.khanacademy.org/computer-programming/solar-system/6120244512161792
答案 0 :(得分:4)
只是为了让你开始:
x = 100 // center
y = 50 // center
r = 50 // radius
a = 0 // angle (from 0 to Math.PI * 2)
function rotate(a) {
var px = x + r * Math.cos(a); // <-- that's the maths you need
var py = y + r * Math.sin(a);
document.querySelector('#point').style.left = px + "px";
document.querySelector('#point').style.top = py + "px";
}
setInterval(function() {
a = (a + Math.PI / 360) % (Math.PI * 2);
rotate(a);
}, 5);
div {
position: fixed;
width: 10px;
height: 10px;
}
#center {
left: 100px;
top: 50px;
background: black;
}
#point {
left: 0px;
top: 0px;
background: red;
}
<div id="center"></div>
<div id="point"></div>
答案 1 :(得分:0)
参观可汗学院的其他动画课程。 draw()
函数会自动重复运行以创建动画。
因此,您需要更改draw()
函数中的值以使某些内容移动。首先,您可能希望查看equations of a circle并对此做些什么。
您可以查看spin-off。
答案 2 :(得分:0)
以下是一些适用于汗学院的代码:
var x = 100;
var y = 100;
draw= function() {
background(255, 0, 0);
x=100*cos(frameCount);
y=100*sin(frameCount);
ellipse(x,y,20,20);
};
它将绘制一个围绕原点“绕轨道运行”的椭圆。希望您可以进行触发的基本演示,并根据您的需要进行推断。