问题标签 [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.

0 投票
2 回答
1034 浏览

sql - 在 SQL 中,我们可以使用“Union”来合并两个表。有哪些不同的方法来做“交叉”?

在 SQL 中,有一个运算符可以“联合”两个表。在一次采访中,有人告诉我,假设一个表只有 1 个字段,其中包含 1、2、7、8,而另一个表也只有 1 个字段,其中包含 2 和 7,我如何获得交集。一开始我很震惊,因为我从来没有这样看。

后来发现其实是一个“Join”(内连接),也就是

(虽然“join”这个名字感觉更像是“union”而不是“intersect”)

另一个解决方案似乎是

但它在 MySQL 中不受支持。除了这两种方法之外,还有不同的方法来获得交集吗?

0 投票
1 回答
383 浏览

erlang - 使用 ETS Select 形成交叉口

我有以下 ets 结构:

我想使用 ets:select 和 fun2ms 获得 set1 和 set2 的交集,结果将是 [item1, item2]。

我花了好几个小时试图用 ets:select 和 fun2ms 来完成它,但没有成功。你能帮我使用 ets:select 和 fun2ms 吗?

感谢所有答案!

ps:我知道sets模块,但我必须使用ets和这个确切的数据结构。

0 投票
6 回答
4247 浏览

python - 找到两个圆共有的所有点

在 Python 中,如何找到两个圆共有的所有整数点?

例如,想象一个维恩图式的两个(大小相等的)圆的交集,圆的中心点为(x1,y1)(x2,y2),半径为r1=r2。此外,我们已经知道圆的两个交点是(xi1,yi1)(xi2,yi2)

如何(x,y)以一种有效的方式生成包含在两个圆圈中的所有点的列表?也就是说,绘制一个包含交叉点的框并遍历它会很简单,检查给定点是否在两个圆内,但是有更好的方法吗?

0 投票
1 回答
1799 浏览

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),我需要检查路径中是否有障碍物。

我目前的算法是:

  1. 从(2.2/3.1)开始
  2. 计算运动的角度(即70度)
  3. 朝那个方向移动 0.1 步
  4. 检查我在哪个瓷砖上(地板(pX)/地板(pY))
  5. 从 2 开始重复

该算法有效,但对我来说它看起来不是很有效,因为障碍物只能是完整的瓷砖,而不是瓷砖的一部分(单位不会碰撞)。如果我增加步长,我开始错过仅略微交叉的瓷砖(即您只穿过左下角)。即使步长为 0.1,仍然有可能错过障碍。

我试图找到一个解决方案来获取子地图(所有带有角落的瓷砖(地板(start.X)/地板(start.Y))和(ceil(start.X)/ceil(start.Y)),移动穿过每块瓷砖并在数学上检查它是否越过。遗憾的是,我似乎缺乏这项检查所需的数学知识。

我的最后一个想法是将图块的所有 4 个边界作为一条线并进行线相交,但这似乎比我原来的方法慢。

有什么提示吗?

谢谢。

0 投票
1 回答
6622 浏览

latex - 如何在 PGF/TikZ 中找到与椭圆的交点

我试图在 PGF/TikZ 中显示一个球体来说明大圆圈的概念。

我当前结果的代码是:

我如何

  1. 找到两个红色椭圆的两个交点(注释为大圆 1 和 2),
  2. 找到一条线(起源于中心 (0,0))与椭圆的交点,以及
  3. 在那里放一个小圆圈或矩形?

放置一个小圆圈或矩形没有问题。非常感谢你!

0 投票
8 回答
15531 浏览

java - 有效地找到可变数量的字符串集的交集

我有可变数量的 ArrayList,我需要找到它们的交集。字符串组数的实际上限可能在 35 左右,但可能更多。我不想要任何代码,只是想知道什么是有效的。我有一个即将开始编码但想听听其他想法的实现。

目前,只要考虑我的解决方案,看起来我应该有一个 Θ(n 2 ) 的渐近运行时间。

谢谢你的帮助!

切丝

编辑:澄清一下,我真的只是想知道是否有更快的方法来做到这一点。比 Θ(n 2 )快。

0 投票
7 回答
1371 浏览

python - 在python中取任意数量列表的交集

假设我有一个相同的元素列表列表(我将int在本例中使用 s )

什么是取这些列表的交集的好方法和/或有效的方法(所以你会得到每个列表中的每个元素)?例如:

0 投票
2 回答
502 浏览

c++ - 与组的交集正则表达式,如何推导分组位的交集?

我目前正在尝试解决类似于测试两种常规语言的交集的问题,但我知道如何进行交集,但有一个额外的要求。

我打算使用的交集逻辑是 Dragon Book 用于将 NFA 转换为 DFA 的算法,但同时在两个 NFA 上执行。由于所有 DFA 都是 NFA(但几乎没有不确定性),因此您可以根据需要对更多交叉点重复此操作。

我的问题是我的一个正则表达式具有可以作为新正则表达式的一部分进一步使用的组。具体来说:

bin/x86/a.out: obj/x86/.*\.o

obj/{[a-zA-Z0-9]+}/{.*}.o: src/\2.c

在第一行的末尾,我有一个匹配 x86 目标的所有对象的正则表达式。在第二行中,我有一个正则表达式,它指定了一个可能的构建行,它应该与第一个组与固定的“x86”匹配,第二个组与它后面的任何给定字符串匹配。在示例中,第一个匹配项尚未使用,但它应该是可检索的。为了确保匹配结束(并允许递归规则),我想使用从第一个正则表达式获得的信息来匹配第二个。通过从第一行获取第二个正则表达式和从第二行获取第一个正则表达式来选择规则,并确定两者的交集(由交集产生的 DFA)是否具有接受状态。如果是这样,则有两个都可以解析的句子,因此该组可以采用一些值。

一般来说,是否有可能从第一个正则表达式中提取信息以用于匹配第二个正则表达式的组?

如果不是一般情况,我需要添加哪些限制?

0 投票
9 回答
28893 浏览

algorithm - 判断两条射线是否相交

我在 2D 平面上有两条射线,它们延伸到无穷远,但都有一个起点。它们都由一个起点和一个延伸到无穷远的射线方向上的向量来描述。我想知道两条射线是否相交,但我不需要知道它们在哪里相交(这是碰撞检测算法的一部分)。

到目前为止,我所看到的所有内容都描述了找到两条线或线段的交点。有没有快速的算法来解决这个问题?

0 投票
2 回答
1297 浏览

intersection - 射线三角相交

如何测试intersession ray和triangle,如果存在如何获得从射线原点到交点的距离?如果在我的程序中我必须检查 1 条射线到 ~10000 个三角形,我可以使用什么优化?