问题标签 [line-intersection]
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.
math - 相交线的平面模型
我在看平面模型的“交叉?” 模型库中的方法,以确定两条线是否相交。
这个模型似乎大部分都在起作用。但是,我认为我发现了一个问题。我没有数学技能来解决这个问题。
本质上,考虑一个连接的节点 A 和 B,以及连接的 C 和 D。
当交点位于端点之一时,AB 垂直于 CD 时会出现此问题。
例如,
关于如何扩展模型来描述这个边界条件的任何想法?我在数学上没有那么自信来描述这种情况何时发生......我想要一个替代相交线示例的方法,它计算线的方程并求解 x 并检查 x 是否在端点内其中一条线。
math - 定义有界平面以使线交叉变得容易的好方法是什么?
我想定义一个有界平面,即 3d 空间中的矩形。我意识到它可以通过声明它的 4 个顶点来定义,但是我将在这个形状上多次使用线相交算法,所以我希望这个定义对这个目的有点有用。有没有一些标准的方法来定义这样的东西?
c# - GPS 圈速和分段计时器
我一直在寻找一段时间,但还没有找到我正在寻找的东西。
我正在开发一个将用于赛车的应用程序。它将使驾驶员能够按下按钮来标记开始/终点线。它还将有一个按钮,允许驾驶员设置分段时间。
请记住,轨道可以是我首先要处理的椭圆形。它可能是道路路线,也可能是起点线和终点线不在同一位置的自动十字路口。他们可能彼此相距 50 英尺左右,但汽车永远不会越过它的起点。
我有我的 gps 数据,我将 NMea 消息转换为我的类,并存储 Lat、Lon、Speed、Course 等。在我的研究中,我遇到了这个有趣的问题。GPS将安装在屋顶外以获得更好的信号。它每秒产生 10 次命中。(加明格洛)
http://www.drdobbs.com/windows/gps-programming-net/184405690?pgno=1
它很旧,但它谈到了 UTM 和笛卡尔坐标系。所以使用 DecDeg2UTM,我也将 Lat & Lon 转换为 X & 坐标。
我也一直在尝试使用我找到的 Intersect 公式Here I take the intersect 并尝试将其转换为 C#,我将在最后发布。但是,喂食椭圆形轨道的坐标,它似乎不起作用。另外,我不确定它应该做什么。但是当它在距轨道所在位置 1000 英里的海洋中执行诸如 -35.xxx 和 98.xxxx 之类的操作时返回的坐标。
我正在寻找以下问题的答案。
- 我假设我需要在按下开始/完成或分段按钮时记录的位置,并计算一条垂直于汽车方向的线,以便能够进行某种线交点计算。笛卡尔坐标似乎可以很好地计算方位。但这里的问题是如何获得“左右坐标”。另外,请记住,椭圆形轨道可能有 60 英尺宽。但如前所述,自动交叉轨道可能只有 20 英尺宽,部分轨道可能有 50 英尺宽。请注意,我可以指示设置点,汽车需要慢速行驶或停在点上才能获得一个准确的坐标。有些轨道必须在行走时设置。
- 基于此,我应该尝试使用十进制纬度还是使用基于 UTM 的笛卡尔坐标系是我想要做的更准确的方法?
- 是否有一个 .Net 库或基于 C 的库,其源代码具有进行这些计算的方法?
- 这要如何准确处理。(数学不是很好,代码示例的链接会很有帮助。)
- 接下来,在我获得开始/结束和路段所需的线路或任何东西之后,当我从赛车中获得 GPS 信号时,我需要找出最准确的方法来判断汽车何时越过这些路段。再次,如果我很幸运,我每秒会获得 10 次点击,但它可能会更低。然后,根据轨道和车辆的类型,车辆速度可能会有很大差异。因此,GPS 命中可能是一段“左或右”的许多英尺。此外,它可能在一段之前或之后有很多英尺。
同样,如果那里有一个 GIS 库,我可以提供坐标并计算所有这些,只要它是高性能的,它就会工作得很好。如果不是再次,我试图决定是否最好将坐标分解为 XY 或一些几何公式以十进制格式的坐标。Mods,我认为有确凿的数据来支持任何一种方式的答案,这并不是回应并不完全主观的意见。
这是我从上面的脚本页面中获得的 C# 代码。我开始觉得 UTM 和笛卡尔坐标系在准确性和性能方面会更好。但是,如果存在相反的证据,我再次持开放态度。
谢谢
PS 注意 GeoCoordinate 来自 .Net System.Device.Location 组合。GpsData 只是我用来将 NMEA 消息转换为 Lat、Lon、Course、NumSats、DateTime 等的一个类。
度弧度方法是如下的扩展。
python - 熊猫列线交叉点
我有一个 pandas 数据框,其中每一列代表从 1 到 0 的下降线的 y 值,索引代表 x 值。现在我有兴趣找到这些线和给定常数(线性插值)之间的交点。
所需输出的示例:
我的数据由大约 400 行和 50.000 列组成。
可能的解决方案:
我找到了这个 SO answer,它使用以下方法找到两条线之间的交点:
我认为这可以调整为适用于我的数据框,但我不知道如何从这里开始:
由于人们似乎误解了这个问题,我有兴趣找到以下几点:
可以通过对两个最近的点进行线性插值来找到。
解决方案: BM让我朝着正确的方向迈出了一步:
javascript - 测试是两条线相交
所以这个问题已经有很多答案了,但我无法为我的具体问题找到答案。我有一个非常特殊的情况,只有正整数,其中一行总是具有相同的 x 值或相同的 y 值。我有两条这样的线,现在只需要知道是否有相交,而不是在哪里。我知道我可以使用任何正常的算法,但我相信这完全是过度的。如果不告诉我。我已经拥有的代码是我的第三次尝试,它完全是一团糟,我认为它没有正确的方法。
r - 使用加权最小二乘法的 3D 矢量交集
我想在 3D 空间中找到与多条线/向量最近的交点,但我想根据每个向量的长度加权每个向量的影响(长度越大,影响越大)。我正在使用 R。这个问题的答案非常适合找到与多个向量最近的交点,但缺少加权分量。我需要在哪里插入我的权重矩阵?
这张(第 4张幻灯片)暗示了在哪里,但我没有成功找到这部分在 Dan 的代码中的位置(我很少使用线性代数的方式来完全理解发生了什么)。
可以在此答案和Wikipedia中找到有关线-线相交的理论。
这是我在 R中对 Dan 的MATLAB 代码的翻译:
因此,如果我将四个向量描述为:
在这种情况下,我想给出以下权重:
google-maps - 确定线是否与谷歌地图上的其他线相交
我知道关于线交叉及其背后的数学有各种讨论。我对数学很熟悉。
这篇文章很好地解释了一种可以实现的算法:确定两条线是否相交
但是,我想知道是否可以直接在 Google 地图中执行此操作。我在谷歌地图上绘制各种线,我的目标是确定任何给定线交叉/相交的线数,如果是,则在地理上交叉点发生在哪里。我想使用一组标准自动渲染线条,该标准会惩罚交叉点并考虑其他优化标准。计算速度是一个因素,因为我有数千行。
下面是我的应用程序的示例图片,其中包含有趣的线条。