问题标签 [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.
precision - 平面上两个三角形的交点
两个三角形的交点要么是空的,要么是 n 边形(n 最多为 6)。
理论上,很容易想出一个算法来计算交叉区域。可以计算所有线段的可能交点,并将它们与三角形角点的点结合起来。
在实践中,存在一些数字问题。如果线段(几乎)平行,它们可能有也可能没有交点,并且其计算可能不精确(通常除以矩阵的行列式,然后近似为零)。
有什么建议可以避免这些数值不稳定性吗?
line-intersection - 用于查找两条线之间的交点的代码背后的逻辑
这是(fluent-CFD 软件)中用户定义函数的代码的一部分,用于使网格变形。
评论说它找到了两条线之间的交点。
我的问题是:
1.t1和t2的值是否代表交点的X和Y坐标?
2.它是如何找到交点的?(帮我做数学,我无法识别为(*t1 和 *t2)编写的公式)。如果您可以对公式进行一些几何解释,那就太好了。
python - 试图找出一条线是否与另一条线相交,但即使线确实相交它也会失败
在我的程序开始时,我绘制了六个垂直的直线段,然后我随机绘制了用户想要的任意多的线段。每次绘制它时,我都会检查它是否与这六个段之一相交。问题是,即使它们相交,它也永远不会返回 True。
我正在使用 Python,并对两条线使用 y = mx + b 来找到它们相交的公共点,并检查它是否位于两条线段上。这是代码:
java - 直线与垂直线相交的精度
我正在使用以下函数计算两条线的交点:
然而,随着 d1 或 d2 变大(对于垂直线),结果变得越来越不准确。我怎样才能防止这种情况发生?
就我而言,我有两条相互垂直的线。如果线条旋转 45 度,我会得到准确的结果。如果线在 0 度或 90 度,我会得到不准确的结果(交叉点的一个轴是正确的,另一个轴在整个地方。
编辑
使用叉积:
3d - 相交的 3D 线
如何确定两条 3D 线段是否与每条线的起点和终点的给定 XYZ 坐标相交?如果它们确实相交,那么 XYZ 是什么?
我只能找到二维线的答案:如何检测两条线段相交的位置?
c++ - inf 输出计算线斜率
我对 C++ 很陌生。
我在下面写了这段代码,它应该告诉我 2 条线是否有一个交点,所以我认为 y=Mx+B 方程中具有相等“M”的两条线不应该相交,而其他所有线都会相交。
程序似乎理解这一点,但除非输入线段的斜率为 0,否则它会输出 inf 或 -inf。
为什么会这样?
c++ - 计算两条线的交点在 CSV 文件中返回 -1.#IND
在我的软件中,我尝试计算两条线的交点。我从第一行的四个双变量(x 的两个/y 的两个)开始,第二行的四个双变量开始。数学对我来说很清楚,而且在纸面上它是有效的。为了进一步处理,我必须将交叉点保存在 CSV 文件中。但是当我打开文件时,我所拥有的只是-1.#IND
,据我所知,这意味着negative infinite
或Not A Number
。所以这是我的代码:
所以首先我从两个向量中得到四个点的坐标。
有了坐标,我就可以为两条线建立方程。在下一步中,我将查看变量m1
和m2
. 如果m1
减号m2
为 0,则没有交点。
最后,我只使用for
-loop 将矢量相交保存在 CSV 文件中。
但是当我打开文件时,我刚刚提到了错误。我已经尝试过另一种数据类型,例如 float,但没有任何改变。我知道代码的第一部分和最后一部分是有效的,因为我已经将它与不同类型的数学一起使用,但是我的数学方法被错误地选择了,所以我不得不改变它。所以我认为问题必须在if
-statement 的条件下。
编辑:在评论的帮助下,我现在修改了我的代码。所以这是我的新代码:
当我运行程序时,文件中没有任何交集。获得文件交叉点的唯一方法是修改IsPointInBoundingBox
函数。为了让它工作,我必须使用这个代码:
我的大问题是现在我必须使用不同的输入。通过添加+-0.1
到我的代码中,我将不得不计算边界是否太小,或者可能更小。但我不明白,为什么我失去了所有的交叉点,我原来的功能。我已经手动计算了交叉点,并且总是在设定的边界中找到一个点。
python - 需要在多条线段上迭代找到两条线段的交点
好的,这就是问题所在。我试图通过比较从一系列 csv 文件中读取的多个线段来计算两条线的交点。我已经将每个线段的 x,y 坐标对放入元组内的元组列表中,如下所示:
我试图弄清楚如何沿着连续线和交叉线进行迭代,以找出每条交叉线沿连续线相交的位置。
基本上我想要(下面列出的伪代码):
我讨厌在这方面寻求帮助,因为我对编码太陌生,无法帮助其他人,但希望有人能和我一起解决这个问题。
我确实有一种方法,我认为一旦我找出迭代器就可以计算交集: