Jednostki Three.JS, Obliczanie obrotów i prędkości orbity
Próbuję zbudować model układu słonecznego w skali. Chciałem sprawdzić, czy ktoś może mi wyjaśnić, jak działa prędkość obrotowa. Oto ważny kawałek:
objects[index].rotation.y += calculateRotationSpeed(value.radius,value.revolution) * delta;
Jak prędkość obrotów odnosi się do czasu rzeczywistego? Więc jeśli masz prędkość 1, czy jest to ruch 1 px na milisekundę? A jeśli masz prędkość 0,1, czy to mniej niż jedna piksel na sekundę?
Zasadniczo próbuję obliczyć prawidłową prędkość obrotową planet, biorąc pod uwagę ich promień i ilość godzin w ciągu dnia. Więc gdybyś był na ziemi, zakończyłby 1 obrót w ciągu 24 godzin. Oto funkcja, którą napisałem, która teraz wykonuje obliczenia:
/* In a day */
function calculateRotationSpeed(radius,hrs,delta) {
var cir = findCircumference(radius);
if(delta) {
var d = delta;
} else {
var d = 1;
}
var ms = hrs2ms(hrs) * d;
var pxPerMS = km2px(cir) / ms;
return pxPerMS;
}
Spróbowałem i nadal wydaje się, że porusza się zbyt szybko. Potrzebuję również czegoś podobnego do obliczania prędkości orbity.