作为一个小项目,我一直在考虑创建一个类似Google Earth的动画.我希望在将地球旋转到各个城市的中心时播放时间轴.目前,我可以使用默认视图设置来渲染具有由点指示的城市的地球.

当我尝试使用俯视城市的视图向量(例如丹佛)来定位摄像机时,我最终得到以下信息:

需要针对地球上空的某些点计算ViewVector.然而,我的试验并没有达到任何形式的连贯观点,而大多数人看起来都像是在"全球"内部.
我需要帮助的是一个功能,给定城市的纬度和经度选择ViewVector将城市放置在摄像机视图的"中心".产生"全球内部"视图的代码如下:
SC[{lat_, lon_}] := {Cos[lon \[Degree]] Cos[lat \[Degree]],
Sin[lon \[Degree]] Cos[lat \[Degree]], Sin[lat \[Degree]]};
Graphics3D[{
Opacity[0.75],
Sphere[{0, 0, 0}, 0.99 ],
Map[Line[
Map[SC,
CountryData[#, "SchematicCoordinates"], {-2}]] &,
CountryData["Countries"]], {Yellow, PointSize[Medium],
Point[SC[CityData["Denver", "Coordinates"]]]
}
},
Boxed -> False,
SphericalRegion -> True,
ViewVector -> {{0, 0, 0}, SC[CityData["Denver", "Coordinates"]]}
]
Run Code Online (Sandbox Code Playgroud)