math - 查看等距柱状图

标签 math panoramas map-projections

我正在写一个等距柱状 map 查看器,到目前为止我发现的所有东西都是关于投影、转换和逆的,这是最简单的部分。

我不想使用 OpenGL 或 DirectX 球体纹理解决方案,我想逐像素绘制图像。我遇到的唯一问题是观察者相机矩形的转换。

我的意思是,我有一个矩形,查看器通过它显示 map 上的等效像素。当观察者向上或向下或向左或向右看时,此 View 会发生变化,但变化不是线性的,即使在球坐标系中也是如此。由于矩形的尺寸在笛卡尔意义上应该保持不变,否则我们将产生变形。

谁能告诉我如何解决这个问题?我只需要一个好文档的链接,或者我从哪里开始的提示。提前致谢。

最佳答案

好吧,没人回答,我想通了。有两个“实用”的解决方案,第一个是使用四元数。您可以将 3d 矩形定义为 View ,然后使用四元数旋转它。之后,您可以扫描生成的矩形,并使用反向变换来获取 map 坐标。另一个对我来说似乎更快的解决方案是使用欧拉旋转矩阵。请注意使用 ArcTan2 而不是 ArcTan 函数,因为您需要 2*PI 覆盖。这就是我想要的!

关于math - 查看等距柱状图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9743017/

相关文章:

algorithm - 有人可以帮助解决这个递归关系吗?

ios - LAPACK sgelss 用法

ios - 构建 safari HTML5 全景图的教程?

javascript - 将 Find Pano 功能添加到 Kolor Panotour

java - 简单的 map 投影

regex - Matlab:如何使用稀疏键来访问稀疏数据?

html - 网站全景查看器

javascript - 使用D3.js绘制自定义json映射

r - r 中的哪些投影会使城市 map 变胖?

python - 这个简单的 Python 分数加法器并不完全健壮,并且会收到错误。如何改进?