Map the Debris 轨道周期
程序员文章站
2024-02-01 20:46:58
返回一个数组,其内容是把原数组中对应元素的平均海拔转换成其对应的轨道周期. 原数组中会包含格式化的对象内容,像这样 {name: 'name', avgAlt: avgAlt}. 至于轨道周期怎么求,戳这里 on wikipedia (不想看英文的话可以自行搜索以轨道高度计算轨道周期的公式). 求得 ......
返回一个数组,其内容是把原数组中对应元素的平均海拔转换成其对应的轨道周期.
原数组中会包含格式化的对象内容,像这样 {name: 'name', avgalt: avgalt}
.
至于轨道周期怎么求,戳这里 on wikipedia (不想看英文的话可以自行搜索以轨道高度计算轨道周期的公式).
求得的值应该是一个与其最接近的整数,轨道是以地球为基准的.
地球半径是 6367.4447 kilometers, 地球的gm值是 398600.4418,
圆周率为 math.pi
i 进行开方运算 math.sqrt(i)
返回 x 的 y 次幂 math.pow(x, y)
四舍五入math.round()
orbitalperiod([{name : "sputnik", avgalt : 35873.5553}])
应该返回 [{name: "sputnik", orbitalperiod: 86400}]
.orbitalperiod([{name: "iss", avgalt: 413.6}, {name: "hubble", avgalt: 556.7}, {name: "moon", avgalt: 378632.553}])
应该返回 [{name : "iss", orbitalperiod: 5557}, {name: "hubble", orbitalperiod: 5734}, {name: "moon", orbitalperiod: 2377399}]
.function orbitalperiod(arr) { // t=2π√(r³/gm) var gm = 398600.4418; var earthradius = 6367.4447; for(var i = 0;i < arr.length; i++){ var r = earthradius + arr[i].avgalt; arr[i].orbitalperiod = math.round(2 * math.pi * math.sqrt(math.pow(r, 3)/gm)); delete arr[i].avgalt; } return arr; } orbitalperiod([{name: "iss", avgalt: 413.6}, {name: "hubble", avgalt: 556.7}, {name: "moon", avgalt: 378632.553}]);