-3

我正在尝试使用 javascript 制作太阳系,我正在使用 khan academy 制作它,但我知道如何让它们围绕太阳转一圈我一直在网上浏览几个小时,但我不能什么都找不到。这是我的项目,这样你就可以看到我做了什么以及你能在其中做什么

https://www.khanacademy.org/computer-programming/solar-system/6120244512161792

4

3 回答 3

7

只是为了让你开始:

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>

于 2016-02-27T17:12:36.263 回答
0

查看可汗学院的其他动画课程。该draw()功能自动重复运行以创建动画。

因此,您需要更改draw()函数中的值以使某些东西移动。首先,您可能想查看一个圆的方程并用它做一些事情。

这是您可以查看的衍生产品。

于 2016-02-27T18:26:25.687 回答
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);
};

它将绘制一个围绕原点“环绕”的椭圆。希望您可以对三角函数进行基本演示,并进行推断以满足您的需求。

于 2016-03-12T23:35:43.690 回答