问题标签 [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.
geometry - 你如何检测两条线段相交的位置?
如何确定两条线是否相交,如果相交,在什么 x,y 点?
3d - 3d 空间中的线到线交点
如何在 3d 空间中找到线到线的交点?谁能给我方程式?
c# - C#:2D 子平铺线相交
我在为我的游戏运行算法时遇到了一些问题,希望这里有人可以帮助我。谷歌似乎不是一个很好的帮助,因为大多数解决方案只适用于完整的瓷砖。
在游戏中,单位可以在一个棋子内占据不同的位置,即它们可以在左上角,中心,右下角,... 棋子的位置(2/3),即(2.2/3.1),(2.5/3.5) ), (2.8/3.9)。
如果他们从位置 (2.2/3.1) 移动到 (5.7/4.1),我需要检查路径中是否有障碍物。
我目前的算法是:
- 从(2.2/3.1)开始
- 计算运动的角度(即70度)
- 朝那个方向移动 0.1 步
- 检查我在哪个瓷砖上(地板(pX)/地板(pY))
- 从 2 开始重复
该算法有效,但对我来说它看起来不是很有效,因为障碍物只能是完整的瓷砖,而不是瓷砖的一部分(单位不会碰撞)。如果我增加步长,我开始错过仅略微交叉的瓷砖(即您只穿过左下角)。即使步长为 0.1,仍然有可能错过障碍。
我试图找到一个解决方案来获取子地图(所有带有角落的瓷砖(地板(start.X)/地板(start.Y))和(ceil(start.X)/ceil(start.Y)),移动穿过每块瓷砖并在数学上检查它是否越过。遗憾的是,我似乎缺乏这项检查所需的数学知识。
我的最后一个想法是将图块的所有 4 个边界作为一条线并进行线相交,但这似乎比我原来的方法慢。
有什么提示吗?
谢谢。
line - 帕斯卡中的线交叉代码
我正在尝试编写线交叉代码来检测两条线是否相交。我有东西的形式是有 O 对象可以有 Lo(l 下标 O) 线,每条线有 2 个点,每个点有 ax 和 a y。这是记录格式。
我调用 Code 来遍历我希望测试碰撞的两个对象的每一行组合。
每条线路测试都是这样完成的
但根据我的代码,所有行总是相交.....因此我犯了一个错误......我是否以愚蠢的方式这样做有什么想法我做错了什么?
python - Numpy 和线的交叉点
我将如何使用 numpy 计算两条线段之间的交点?
在我的代码中segment1 = ((x1,y1),(x2,y2))
和segment2 = ((x1,y1),(x2,y2))
. 注意segment1
不等于segment2
。因此,在我的代码中,我也一直在计算斜率和 y 截距,如果可以避免这种情况会很好,但我不知道如何做。
我一直在将 Cramer 规则与我用 Python 编写的函数一起使用,但我想找到一种更快的方法。
algorithm - 找到所有线段的交点
给定一个线段列表,找到交点的最简单方法是遍历线段列表,检查它们是否相交并记录相交点。
但是这种方法的运行时间是O(n^2)
,效率很低。有没有其他算法可以加快这个过程?
algorithm - 两组线段的 Bentley-Ottmann 算法
Bentley-Ottmann 算法用于计算线段的交点。
但是,我不想找到所有线之间的交点,而是要找到两组线之间的交点。也就是说,对于线组中的每条线A
,我都想知道这些线与线组中的线之间的交点B
。
无论如何我可以为此扩展Bentley-Ottmann 算法吗?我已经实现了现有的 Bentley-Ottmann 算法(在 CGAL 库中),我不想修改它。然而,我渴望找到重用和扩展它的方法。
编辑:欢迎任何其他算法(不一定基于 Bentley-Ottmann)。如果这些算法已经在现有库中实现会更好。
javascript - 确定数字的交叉
假设我有这个数据集......
var a = [5,6,7]; 变量 b = [9,8,6];
想象一下,这些值被绘制在 (x,y) 坐标对中的 y 上,而 x 是数组索引,我怎么知道我的两个数组是否在一个点交叉。
谢谢。
math - 基于点的线/平面相交
我在空间中有两个点,L1 和 L2,它们定义了一条线上的两个点。
我在空间中有三个点,P1、P2 和 P3,这 3 个点在一个平面上。
那么给定这些输入,这条线在什么点与平面相交?
外汇。平面方程 A*x+B*y+C*z+D=0 为:
但是其余的呢?
algorithm - 如何移动线段以消除最小移动的交叉点?
以下问题是否有任何算法或相关工作?
给定一组二维线段,如何移动线段(水平或垂直)以消除交叉点,从而最小化整体移动?可以允许端点处的交叉点。