在 MapControl (UWP) 3d 视图上绘制三角形
Draw a triangle on a MapControl (UWP) 3d view
我需要在 UWP MapControl 的 Aerial3d 视图上绘制一个三角形,以便为用户提供一些视觉信息,比如查看某个矢量是否穿过山脉或高楼,...
我有原点 Geopoint、方位角和水平面的仰角。从这些数据中,我还可以得到最终的 Geopoint,我认为 "the altitude" 代表三角形的上点。
方位角和仰角可以随时改变,所以三角形应该根据需要多次绘制。
MapPolygon、MapPolyline 等在这种情况下不起作用,因为应在地图上方和上方绘制线条,而不是固定在地图上。
新的 MapControl MapElements,例如 MapModel3D 和 MapElement3D 是静态对象,因此它们不能正常工作。
想法是这样的:
您应该能够使用 MapPolyline - 如果您指定高度参考系统并为每个顶点设置高度值,它将正确地以 3D 形式绘制space。 MapPolygon 将始终绘制到地形。
您还应该能够使用 MapElement3D 来显示图片上显示的填充多边形。只需创建一个简单的三角形模型,并将其定位在 origin/heading。如果原点或航向发生变化,模型可以快速更新。如果仰角发生变化,您将需要 re-create 模型,但对于一个简单的三角形,这应该相当快。我见过有人用翅膀拍打并获得 2-3FPS 动画鸟类模型的例子,所以虽然它不一定是交互式跟踪,但它应该是一个非常快速的更新。
我需要在 UWP MapControl 的 Aerial3d 视图上绘制一个三角形,以便为用户提供一些视觉信息,比如查看某个矢量是否穿过山脉或高楼,...
我有原点 Geopoint、方位角和水平面的仰角。从这些数据中,我还可以得到最终的 Geopoint,我认为 "the altitude" 代表三角形的上点。
方位角和仰角可以随时改变,所以三角形应该根据需要多次绘制。
MapPolygon、MapPolyline 等在这种情况下不起作用,因为应在地图上方和上方绘制线条,而不是固定在地图上。
新的 MapControl MapElements,例如 MapModel3D 和 MapElement3D 是静态对象,因此它们不能正常工作。
想法是这样的:
您应该能够使用 MapPolyline - 如果您指定高度参考系统并为每个顶点设置高度值,它将正确地以 3D 形式绘制space。 MapPolygon 将始终绘制到地形。 您还应该能够使用 MapElement3D 来显示图片上显示的填充多边形。只需创建一个简单的三角形模型,并将其定位在 origin/heading。如果原点或航向发生变化,模型可以快速更新。如果仰角发生变化,您将需要 re-create 模型,但对于一个简单的三角形,这应该相当快。我见过有人用翅膀拍打并获得 2-3FPS 动画鸟类模型的例子,所以虽然它不一定是交互式跟踪,但它应该是一个非常快速的更新。