计算轨道上点的x,y坐标
Calculate x,y coordinate of point on orbit
我想计算轨道上点的 x,y 坐标。我有半径(例如 1)、轨道中心坐标(0,0)和在轨道上转一整圈所需的时间(例如 2)、物体的起始坐标(-radius,0),我想要在 1 天后计算 x 和 y,所以它应该在半径 0 上。但是没有角度怎么计算呢?
您必须首先将轨道转换为旋转速率,这将为您提供 θ(t)
的方程式,其中 t
和 θ(t)
是在时间 t
时轨道中的角度(通常以弧度为单位)。该职位将由
给出
X ← r·cos(θ(t)) + x0
Y ← r·sin(θ(t)) + y0
其中 r
是您的轨道半径(您指定的是 1
),(x0, y0)
是轨道的中心(您指定的是 (0,0)
).
如果您希望该点具有恒定的旋转率并在恰好 1
天后到达 (r, 0)
,那么您的 θ(t)
将是以下形式的函数:
θ(t) ← 2·n·π·t + θ(0)
其中 t
是以天为单位的时间,n
是一个整数值。 θ(0)
只是起始角度,在您的情况下为 π
。如果您想使用非恒定旋转速率,还有无数其他此类函数可以允许这种情况发生,但您需要为此提供一些额外的要求。
一个更通用的函数将允许您指定恒定的旋转速率 α
并一次计算角度 t
。这将采用
形式
θ(α, t) ← 2·α·π·t + θ(0)
因此在您的旋转速率示例中 2
、θ(2, t) = 4·π·t
在 Java 中编写此代码留作 reader 的练习。
我想计算轨道上点的 x,y 坐标。我有半径(例如 1)、轨道中心坐标(0,0)和在轨道上转一整圈所需的时间(例如 2)、物体的起始坐标(-radius,0),我想要在 1 天后计算 x 和 y,所以它应该在半径 0 上。但是没有角度怎么计算呢?
您必须首先将轨道转换为旋转速率,这将为您提供 θ(t)
的方程式,其中 t
和 θ(t)
是在时间 t
时轨道中的角度(通常以弧度为单位)。该职位将由
X ← r·cos(θ(t)) + x0
Y ← r·sin(θ(t)) + y0
其中 r
是您的轨道半径(您指定的是 1
),(x0, y0)
是轨道的中心(您指定的是 (0,0)
).
如果您希望该点具有恒定的旋转率并在恰好 1
天后到达 (r, 0)
,那么您的 θ(t)
将是以下形式的函数:
θ(t) ← 2·n·π·t + θ(0)
其中 t
是以天为单位的时间,n
是一个整数值。 θ(0)
只是起始角度,在您的情况下为 π
。如果您想使用非恒定旋转速率,还有无数其他此类函数可以允许这种情况发生,但您需要为此提供一些额外的要求。
一个更通用的函数将允许您指定恒定的旋转速率 α
并一次计算角度 t
。这将采用
θ(α, t) ← 2·α·π·t + θ(0)
因此在您的旋转速率示例中 2
、θ(2, t) = 4·π·t
在 Java 中编写此代码留作 reader 的练习。