spe*_*ool 5 wolfram-mathematica
作为一个小项目,我一直在考虑创建一个类似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)
Hei*_*ike 10
ViewVector
在表格中使用时ViewVector->{v1, v2}
,相机坐在点上v1
并指向方向v2
.因此,在您的示例中,相机将位于原点并指向丹佛的方向,从而产生"内部地球"视图.为了让相机俯视丹佛,相机应该坐在城市正上方的一个点上,例如在2 SC[CityData["Denver", "Coordinates"]
并指向原点,所以ViewVector
会像
ViewVector -> {2 SC[CityData["Denver", "Coordinates"]], {0, 0, 0}}
Run Code Online (Sandbox Code Playgroud)
有了这个设置,ViewVector
视图变得类似
归档时间: |
|
查看次数: |
760 次 |
最近记录: |