Ich habe ein kleines Solarsystem Javascript-Projekt. Ich habe herausgefunden, wie SVG-Objekte in einem vollen Kreis um die Sonne gedreht werden können, ohne sich um die x- und y-Positionen zu kümmern. (Ich weiß, Planeten rotieren in Ellipsen, nicht wichtig.)Drehen Sie ein Objekt um ein rotierendes Objekt in JS
Dies ist der Code dafür.
function rotate_point(pointX, pointY, originX, originY, ang) {
ang = ang * Math.PI/180.0;
return {
x: Math.cos(ang) * (pointX-originX) - Math.sin(ang) * (pointY-originY) + originX ,
y: Math.sin(ang) * (pointX-originX) + Math.cos(ang) * (pointY-originY) + originY
};} // rotate_point
Ich kann nicht für das Leben von mir den Mond um die Erde drehen, obwohl, dann ist es, weil die Erde sich dreht, und kann es nicht positionieren genau genug. Ich befinde mich in einem perfekten Kreis, aber er wird sich niemals vom Mittelpunkt der Erde aus drehen, so dass er sich zur Seite ausbeult. Ich habe versucht, seine X- und Y-Positionen, Drehgeschwindigkeit, nichts zu optimieren.
Kann jemand sehen, welches Problem es im Code für mich gibt, um den Mond um die Erde perfekt zu drehen?
Hier ist die Geige:
https://jsfiddle.net/yf3sgsu5/
Das ist genau das, was ich wollte. Es macht Spaß, mit den unabhängigen Orbitalpositionen zu spielen, danke. – JohnMichael