3

我正在寻找一个 C 或 C++ 库/引擎,它将在给定一组段输入的情况下绘制路径线图(2D 和/或 3D)。每一段一般都与前一段相连,每段包括距离、方位角和偏角。有关示例输出,请参见下图。2D 只需要距离和方位,而 3D 需要距离、方位和偏角。

我不是在寻找图表/报告库。

有谁知道任何库,最好是开源的,足以在给定输入的情况下绘制路径线图?

在此处输入图像描述

最终我想画这样的东西(地图):

在此处输入图像描述

4

3 回答 3

2

Cocos2d-x就是你要找的。在 GLView 中呈现的 OGL 编程可以访问您需要绘制所需内容的原始方法。你需要一些 C++ 和 android-ndk 的知识,按照网络上的教程和我的调试技巧

于 2012-10-22T09:32:35.710 回答
2

我一直在寻找同样的东西。

你可以使用来自 Android 的Skia,它是跨平台的,可以在 iOS 上运行,但对于这样一个简单的问题,它是一个大库。

你应该看看来自phoboslab.org的 Ejecta。它是一个基于 openGL/ES 的 iOS javascript 画布实现。您可以删除 javascript 部分并直接使用画布。此外,它是开源的,开箱即用。

于 2012-10-19T22:01:23.497 回答
2

如果你分解库需要做什么,你最终会得到一些非常基本的函数,
你可能不会发现它们被封装为一个库,因为它们非常微不足道。

第 1 步:“分段到 3d 点”

a) 沿参考轴创建一个单位向量。
b)按段距离缩放它。
c) 通过轴承旋转。
d) 按偏角旋转。
(注意:假设方位角和偏角是正交的,你不应该遇到任何麻烦。)
e)添加段的开始(也就是最后一个向量)。

第 2 步:“3d 点到 2d 点”

a)通过透视或正交投影矩阵乘以您的 3d 矢量。

第 3 步:“2d 点到线”

a) 使用 bresenham 线算法来获取单个像素。

一旦你完成了第 2 步并且实际上在 2 点表示中有线条,所有绘图库都应该这样做。
一点魔法都没有;)

(注意:有很多航班跟踪/地图应用程序做得非常好。)

于 2012-10-19T19:29:58.613 回答