Jako mały projekt, zastanawiałem się nad stworzeniem małej animacji podobnej do Google Earth. Chcę odtwarzać oś czasu, obracając globus do centrum w różnych miastach. Obecnie mogę użyć domyślnych ustawień widoku, aby renderować globus z miastami oznaczonymi punktami.Wyświetlanie współrzędnych miasta z góry
Kiedy próbuję skierować kamerę z widokiem wektor patrząc w dół na miasto (na przykład Denver), I skończyć z następujących czynności:
Potrzeby ViewVector do obliczenia dla jakiegoś punktu w kosmosie nad globusem. Jednak moja próba i błąd nie dotarły do żadnego spójnego punktu widzenia, z którego większość wygląda na "wewnątrz" globu.
Potrzebna mi pomoc to funkcja, która w świetle szerokości i długości geograficznej miasta wybiera ViewVector umieszczając miasto w "środku" widoku kamery. Kod, który wyprodukował „wewnątrz świata” Widok następująco:
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"]]}
]
Przypomina mi film kolega wykonane: http : //www.youtube.com/watch? v = U-4y0e1Jdcs –