问题标签 [coordinate-transformation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
430 浏览

c# - 将坐标变换卸载到 GPU

我有一个使用 WinForms 的旧版地图查看器应用程序。太慢了。(过去速度可以接受,但谷歌地图、谷歌地球出现了,用户被宠坏了。现在我可以让速度更快了:)

在进行了所有明显的速度改进(缓存、并行执行、不绘制不需要绘制的内容等)之后,我的分析器向我展示了真正的瓶颈是在将点从地图空间转换到屏幕空间时的坐标转换. 通常转换代码如下所示:

真正的实现更棘手。纬度/经度以整数表示。为避免丢失精度,它们乘以 2^20(约 100 万)。这就是坐标的表示方式。

重要的是,可能的比例因子也明确地绑定到 2 的幂。这允许我们用位移替换乘法。所以真正的算法是这样的:

(UpperLeftPosition 代表地图空间中屏幕的左上角。) 我现在正在考虑将这个计算卸载到 GPU上。谁能告诉我一个例子如何做到这一点?

我们使用 .NET4.0,但代码也最好在 Windows XP 上运行。此外,我们不能使用 GPL 下的库。

0 投票
1 回答
562 浏览

actionscript-3 - 将影片剪辑拟合到 4 个坐标

我非常喜欢动作脚本,但我遇到了电影剪辑的问题。

我有 4 个坐标,需要为它们安装合适的影片剪辑,因此影片剪辑的每个角都在一个坐标上。

我唯一能发现它用矩阵和角度转换它(见例子),但这些不能是我计算所有角度等问题的最佳解决方案。

我希望您了解我的问题并知道解决方案。

我已经尝试过扭曲图像,因为它似乎完全符合它的需要,但我无法得到它,所以显示我的图像。坐标有效,如果我取消评论评论部分,我会看到白色的 retangles exaclty 它们应该在哪里,但它们不会在更新时被删除,我希望你能帮助我。这是我的代码:

0 投票
2 回答
15939 浏览

svg - 如何使笔划宽度不受当前变换矩阵的影响

在 SVG(以及 Canvas、Quartz、Postscript 等)中,变换矩阵会影响路径坐标和线宽。有没有办法进行调整,使线宽不受影响?也就是说,在下面的示例中,X 和 Y 的比例尺不同,这使得正方形变成了矩形,这还可以,但也会使两侧的线条变宽。

矩形宽度缩放笔

我可以看到这在很多情况下都会很有用,但是有没有办法选择退出呢?我想我想要一个单独的笔 TM 或者能够将笔设置为 CTM 转换为圆形的椭圆,但我没有看到类似的东西。

缺乏这一点,我认为我不必告诉 SVG 我的 CTM 而是自己转换坐标,这意味着将原语转换rect为它们的path等价物。

0 投票
1 回答
1887 浏览

opengl - openGL:在 glrotate 后获取坐标

我正在尝试确定 glRotate 之后的坐标。

假设我们最初在

我们做一个 glRotate

我如何获得新的更新坐标?

这似乎不起作用(我有什么问题?):

0 投票
1 回答
769 浏览

c# - C# Matrix 给出了奇怪的鼠标坐标

我正在编写一个绘制多边形的自定义控件。我使用矩阵计算来缩放和剪切多边形,使它们适合控件。

我需要知道是否在其中一个多边形内单击了鼠标,所以我正在使用光线投射。

这一切似乎都可以单独工作,但是我现在遇到了一个问题,即检索相对于我正在使用的显示矩阵的鼠标坐标。

我使用以下代码:

现在这适用于所有其他坐标集,我的意思是,一对鼠标坐标似乎给出了正确的值,就好像它已经通过了矩阵一样,但是它旁边的那个给出了一个值,就好像它没有通过下面的矩阵是向下移动控件时收到的鼠标值的输出。

{X=51,Y=75} {X=167,Y=251} {X=52,Y=77} {X=166,Y=254} {X=52,Y=78} {X=166, Y=258} {X=52,Y=79} {X=166,Y=261} {X=52,Y=80} {X=165,Y=265} {X=52,Y=81} { X=165,Y=268}

如果它有助于用于绘制多边形的矩阵是

提前致谢

0 投票
1 回答
1729 浏览

java - GeoToolkit:从 GPS 转换为 Lambert Conformal Conic

我必须将 GPS 坐标(纬度和经度)转换为 Lambert Conformal Conic 投影。地图指的是意大利。由于我不是这个主题的专家,我发现(谷歌搜索)Java 的最佳库之一是 GeoToolkit。不幸的是,我没有找到任何示例或文档(只有 Javadoc)。这里的投影参数(proj=Lcc Lat_2=45 Lat_1=40 Lat_0=42.5 Lon_0=9.2 x_0=600000 y_0=2200000):

有谁知道比 GeoToolkit 更好的库?

我编写了以下代码来转换坐标:

但是,它不起作用。我哪里错了?提前致谢。

0 投票
1 回答
1141 浏览

python - python坐标变换/插值可能吗?

嗨!

我实际上正在研究一些地理数据集。我正在使用 python 和 pygrib 来读取原始数据。pygrib 为我的“旋转”网格返回美妙的经度/纬度值(见情节)。我要做的是将数据带到正交的地理经度/纬度(所以是网格)。用手做没有问题,但我认为 python 有一个包可以为我做这件事?如果是的话,我在网上找到了任何好的提示。

pygrib 似乎对计算我的纬度的投影足够了解。所以我猜想某处有一个包可以将我的数据(通过插值)转换为另一个投影?:)

可能有人可以给我一些提示和/或链接。会很好!

感谢并祝愿 Reto Stauffer, 奥地利

0 投票
1 回答
3497 浏览

vbscript - 将纬度/经度转换为十进制度

我需要将一个带有纬度的大 txt 文件和一个带有经度的大 txt 文件转换为十进制度。

我拥有的数据是当前格式:

我需要将这两个文件都转换为十进制度(最好使用脚本)。我怎样才能做到这一点?

0 投票
1 回答
422 浏览

opengl - 在 CUDA 中,如何在内核函数中将屏幕空间坐标转换为世界空间坐标

在这里,我尝试将光线投射添加到真实的 3D 场景中。众所周知,在光线投射中,为了投射光线,我们需要获取光线的方向。射线中的第一个点是射线的起点,我可以从 glLookAt 获得。射线中的第二个点是屏幕中的每个点。在原始的CUDA ray-casting SDK中,它通过以下代码在Kernel Function中获取屏幕点:

(x,y) 是屏幕空间坐标吗?所以现在我需要将 (x, y) 翻译成世界空间坐标。一个好人告诉我使用 gluUnProject 来完成这项工作。好想法!但是我不能在 CUDA 内核中调用 OpenGL 函数。

也许我可以使用可逆矩阵进行翻译。但我不确定正确的方法。有没有人可以给我一个关于如何在 CUDA 内核函数中将屏幕坐标转换为世界坐标的提示?

0 投票
1 回答
944 浏览

java - 理解 Java 代码背后的数学:2D 二进制空间分区

我试图了解此处给出的二进制空间分区方法实现(此代码也可作为小程序在此处获得)。大部分代码我都看懂了,但是看不懂方法:

我无法掌握实施此方法背后的坐标几何。你能给我解释一下吗?