问题标签 [cartesian-coordinates]

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 投票
1 回答
363 浏览

matlab - matlab中曲面图上的连接点

我正在做一个项目,我们以线性方式进行测量并旋转样本以生成 3D 表面图。

数据来自极坐标格式,我们有 4 个数据集:

我可以通过使用 sin 和 cos 生成 x 和 y 向量并将结果与​​该矩阵绘图来将其转换为笛卡尔点。

因此,“准备绘制”矩阵集的示例如下所示:

带有一些基本格式的输出表面图如下所示: 上述数据的笛卡尔曲面

Matlab 正在连接我想要的向量。但是,它并没有将 90 度旋转连接到 135 度旋转。我如何让它做到这一点?

生成与上例类似的图形的基本代码如下:

0 投票
1 回答
614 浏览

image - 显示雷达 ppi 的更好方法?

我正在使用 Qt 4.8.6 显示多个雷达视频。现在我每 2.5 秒得到大约 4096 个方位角(360°)和视频。QGraphicsObject我使用继承自(参见此处)的类显示我的图像,使用每个视频的 RGB 通道之一。

每个方位角我得到角度和 8192 个范围箱的数组,我的图像大小为 1024x1024 像素。我现在检查每个像素(我正在检查每个 x 坐标,并检查每个方位角和像素坐标的最大 y 坐标和最小 y 坐标),该像素上存在哪些 rangebin,并将最大的数据写入我的图像-大批。

我的问题

  • 每个方位角的计算持续大约 1ms,这太慢了。(我每大约 600 微秒得到两个方位角,以后可能会有更多的视频频道。)
  • 我想缩放和移动我的图像,现在已经考虑了两种方法来做到这一点:
    • 使用完整大小的图像数组并缩放并QGraphicsscene直接移动/“虚拟”这将导致数组的大小为 16384x16384x4 字节,这太大了(我无法分配足够的空间)
    • 为不同的比例因子和偏移量保存多个图像,但为此我需要我的转换算法计算多次(这已经很慢)并导致缩放和偏移量仅在完整的 2.5 秒后显示

你能想出更好的方法来做到这一点吗?是否有任何标准规则,我如何检查我的算法以获得更好的性能?

我知道这是一个很特殊的问题,但是由于我的导师接下来几天不上班,所以我会在这里尝试一下。

谢谢!

0 投票
1 回答
104 浏览

c# - 处理浮点数/双精度数的微小变化

最近几天一直在做计算和公式,我开始失去理智(有点)。所以现在我向你们寻求一些见解/帮助。

这就是问题所在;我正在使用蓝牙信标,它们被放置在建筑物的整个楼层,以制作室内 GPS 展示。您可以使用手机连接这些信标,从而从它们那里接收您的经度和纬度位置。这些数字是大浮点/双精度变量,如下所示:

  • 纬度:52.501288451787076
  • 液化天然气:6.079107635606511

实际变化发生在该点之后的第 4 位和第 5 位。我正在使用将这些数字转换为笛卡尔坐标系;

  • x = R * cos(lat) * cos(lon)
  • z = R *sin(lat)

现在这个转换的坐标是固体的。它们是我可以使用的数字。我在 3d 引擎 (Unity3d) 中使用它们来制作实时地图,您可以在其中看到有人在哪里行走。

现在解决实际问题!这些信标并不完全准确。即使您放下手机,这些数字也会上下“跳跃”。范围从,让我们假设与上述相同的纬度,52.501280 到 52.501296。如果我们将其转换并将其用作 3d 引擎中的坐标,则用户的“头像”会从一个位置跳到另一个位置(小跳多于大跳)。

应对这些跳跃数字的好方法是什么?我试图检查大跳跃并忽略那些,但跳跃仍然太大。更广泛的检查将导致几乎没有移动,即使手机正在移动。或者有没有更好的方法来转换 lat 和 long 变量以用于 3d 引擎?

如果有人和我有同样的问题,一些数学上的奇迹谁能给出一个好的转换/公式,或者知道我可能做错了什么的人,请帮助其他程序员。

0 投票
0 回答
104 浏览

c# - 将XYZ坐标转置到球面C#

我正在开发一个程序,它会生成随机的 X、Y 和 Z 坐标。它的边界是一个立方体,在我的例子中是一个 500x500x500 像素的立方体(您只能在 2D 中查看它)。我的问题是,我怎样才能获取这些点,并将它们转置到包含在该立方体中的球体上?在这种情况下,它将是一个半径为 250 像素的球体。

我已经阅读了很多文章,但似乎找不到有效的解决方案。

任何帮助将不胜感激!谢谢

0 投票
1 回答
45 浏览

r - R:从连续二维点转换为连续二维向量

我有一个相当大的数据框(df),其中包含连续 x,y 坐标形式的路径信息:

df$x
df$y

有了这些数据,我想:
1. 计算一组连续向量
2. 确定每个向量之间的角度(以度为单位)
3. 计算数据框中满足某个阈值(即 <90 °)

谢谢!

请参阅此处的帖子以供参考

0 投票
3 回答
958 浏览

vb.net - VB.NET - 如何解析带有乱序的 XYZ 值的字符串?

我正在尝试编写一个读取大文件的解析器,尝试在包含更多寄存器的行上定位 XYZ 值,而不仅仅是 XYZ(如 M 代码和其他驱动 CNC 机器的命令)。

我成功地阅读了代码并从每一行中分离了数据。现在我被困在一个函数中,该函数应该分析这个处理过的块并查找 XY 和 Z 坐标,不一定按这个顺序,不一定包含所有 3 个轴。

好消息是轴名称总是在给定轴的值之前,所以即使线可能有 XYZ 乱序(例如 ZYX 或 YZX),或者只有 X 和 Y 而没有 Z,轴的字母是总是在值之前。

我需要提取每个轴的值并对其进行处理,然后将其保存回来。我可以处理并将其保存回来,但我不知道如何编写一个可以解析 XY 和 Z 的函数,即使它们无序或缺少寄存器(即 Z 不存在于块中, 或 Y, 或 X)。

我只想提取传递给函数ParseAndChangeNCBlocks的字符串strNewLine中的 XYZ 值,并忽略该行中的所有其他内容。

这是我的代码:

函数 CleanUpAndSeparateBlocks结束时,我调用ParseAndChangeNCBlocks。最后一个是我应该分析已传递给函数的字符串并开始提取每个轴的函数。

我想过用它来提取每个值:在这里找到它:VB.net Set x,y,z values from text file into separate arrays

但是,此解决方案假定 XYZ 始终按此顺序排列,并且它们前面没有轴名称,在我的情况下,轴名称总是出现,但是轴可能无序显示,甚至没有出现在行中。

这里有一些要在“C:\8888.nc”中使用的测试数据

我只想提取每行的 X、Y、Z 值,无论它们出现的顺序或组合(XYZ、Z、YX 或 Y 等)如何。有人可以阐明我如何构造函数ParseAndChangeNCBlocks来做到这一点吗?

非常感谢!

0 投票
0 回答
404 浏览

java - 如何在java弹出菜单中显示鼠标XY坐标?

我无法在鼠标指针下的 JPopupMenu 上显示鼠标的 x、y 坐标。我在代码中使用 JlayerPane 的原因是能够将笛卡尔坐标系动态添加到 JPopupMenu,就像您在 CAD 应用程序中看到的那样。

有谁知道为什么它在正确绘制时不显示?

0 投票
1 回答
501 浏览

python - 调整极坐标图像的大小

我有一张来自气象雷达的图像,它是极坐标(方位角,范围)。正常的调整大小功能不起作用,因为我猜它们假定笛卡尔坐标中的图像。来自 scikit-image 等。

如何有效地调整图像大小,保持与笛卡尔坐标相同的比例和特征。或者唯一的方法是转换为笛卡尔然后返回?

使用天气库显示的原始(屏蔽数组): 内克斯拉德

基于极坐标轮廓:

轮廓

调整数组大小(并使用 imshow 绘制) 显示

调整第三个图的大小效果很好,但我需要调整第一个极坐标的大小版本。

0 投票
1 回答
1142 浏览

c# - 将放置在 360 纹理平面上的坐标转换为球面坐标

我有一个 360 度全景视频。我将此视频用作 Unity 球体上的纹理。球体内部是一个摄像头,它用作我的虚拟现实体验的设置。很基本。

我正在尝试在网络上编写一些代码,人们可以在其中上传 360 度图像和视频,在 360 度球图像/视频上放置一个标记/热点,然后在 Unity3D 中的球体上应用图像/视频纹理。如果我在 360 视频/图像纹理上覆盖一个简单的 x/y 坐标网格,放入一些 x/y 坐标以放置标记/热点,然后将纹理放回球体上,Unity 将无法正确解释这一点,因为我们现在在 3D 空间中,我们正在查看映射到平面上的球体内部的纹理,所有失真都在发生。

我的问题是,如何将 360 视频纹理的 2D 平面上的这些 x 和 y 坐标转换为 Unity3D 中可以在 3D 中理解的坐标?

我的第一个想法是使用二维笛卡尔坐标并将它们转换为球坐标,但我似乎在笛卡尔坐标中缺少一​​个 z 轴来完成这项工作。

z 轴是简单的 0 还是从球体中心到 x/y 坐标的半径?z轴代表什么?可能有两个坐标系。一个是平面上的坐标,一个是球心的坐标?

这是我到目前为止的转换代码:

这是我的第一篇文章,所以如果我做错了什么,请原谅我,让我知道如何改进。

0 投票
0 回答
69 浏览

c++ - 萤火虫笛卡尔转换

我正在尝试使用萤火虫的算法,基于下一个来源:

https://github.com/firefly-cpp/Firefly-algorithm--FFA-

我的问题是它给了我萤火虫的最高点,我需要修改代码,让萤火虫给我在笛卡尔平面上的一个点。你能给我一个关于如何开始做这个的建议吗