标签: intersection

Java中两个字符串的交集

需要一个Java函数来查找两个字符串的交集.即字符串共有的字符.

例:

String s1 = new String("Sychelless");
String s2 = new String("Sydney");
Run Code Online (Sandbox Code Playgroud)

java algorithm intersection

15
推荐指数
3
解决办法
3万
查看次数

使用Linq与自定义IEqualityComparer相交

长话短说:我有2个对象集合.一个包含好的值(让我们称之为"好"),其他默认值(先生"默认").我希望联盟的相交在良好和默认之间,以及默认.换句话说:相交(联合(良好,默认),默认).有人可能认为它解析为默认值,但这里是棘手的:我使用自定义IEqualityComparer.

我得到了以下课程:

class MyClass
{
    public string MyString1;
    public string MyString2;
    public string MyString3;
}

class MyEqualityComparer : IEqualityComparer<MyClass>
{
    public bool Equals(MyClass item1, MyClass item2)
    {
        if(item1 == null && item2 == null)
            return true;
        else if((item1 != null && item2 == null) ||
                (item1 == null && item2 != null))
            return false;

        return item1.MyString1.Equals(item2.MyString1) &&
               item1.MyString2.Equals(item2.MyString2);
    }

    public int GetHashCode(MyClass item)
    {
        return new { item.MyString1, item.MyString2 }.GetHashCode();
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是我的收藏品Good和Default集合的特征:

默认值:它是一个很大的集合,包含所有想要的{MyString1,MyString2}对,但是你可以猜测,MyString3值是默认值.

好:它是一个较小的集合,主要包含默认集合中的项目,但具有一些好的MyString3值.它还有一些{MyString1,MyString2},它们位于想要的集合之外.

我想要做的是:只获取Good中默认的项目,但将Default中的其他项目添加到默认项目中.

这是我认为最好的尝试:

HalfWantedResult = Good.Union(Default, …
Run Code Online (Sandbox Code Playgroud)

c# linq intersection intersect

14
推荐指数
2
解决办法
2万
查看次数

用于确定点是否在3D网格内的算法

什么是用于确定点是否在3D网格内的快速算法?为简单起见,您可以假设网格是所有三角形并且没有孔.

到目前为止我所知道的是,确定光线是否穿过网格的一种流行方法是计算光线/三角形交叉点的数量.它必须很快,因为我将它用于触觉医疗模拟.所以我无法测试光线交叉的所有三角形.我需要某种散列或树数据结构来存储三角形,以帮助确定哪个三角形是相关的.

另外,我知道如果我对顶点进行任意2D投影,则需要进行简单的点/三角交点测试.但是,我仍然需要知道哪些三角形是相关的,此外,哪些三角形位于该点的前面并且仅测试这些三角形.

algorithm intersection point mesh

14
推荐指数
1
解决办法
1万
查看次数

Python - matplotlib:找到线图的交集

我有一个可能很简单的问题,让我已经安静了一段时间.有没有一种简单的方法可以在python matplotlib中返回两个绘制的(非分析)数据集的交集?

为了详细说明,我有这样的事情:

x=[1.4,2.1,3,5.9,8,9,23]
y=[2.3,3.1,1,3.9,8,9,11]
x1=[1,2,3,4,6,8,9]
y1=[4,12,7,1,6.3,8.5,12]
plot(x1,y1,'k-',x,y,'b-')
Run Code Online (Sandbox Code Playgroud)

此示例中的数据完全是任意的.我现在想知道是否存在一个我一直缺少的简单构建函数,它会返回两个图之间的精确交点.

希望我清楚自己,并且我也没有错过任何明显的东西......

python intersection matplotlib

14
推荐指数
1
解决办法
8263
查看次数

两个Shape对象之间的Java碰撞检测?

我想知道判断Shape对象是否与另一个形状相交的最佳方法.目前我在我的游戏中进行了碰撞检测,只要它涉及一个与矩形相交的形状,反之亦然.我遇到的问题是Shape类中的intersects()方法只能将Rectangle或Point作为参数,而不是另一个Shape.有没有一种有效的方法来测试两个Shape对象是否以任何方式重叠?我尝试过的一种方法是使用for循环生成一个点区域来测试它们是否在形状中,然后构建一个Point对象数组以发送到另一个形状进行测试,但这显着降低了我的帧率因为所有不必要的比较.

我在这里寻找并寻找类似的东西,但没有找到任何真正的东西.如果这是重复,请提前抱歉.

java 2d intersection shape collision

14
推荐指数
2
解决办法
3万
查看次数

Python中nD线与凸包的交点

我使用scipy.spatial.ConvexHull创建了一个凸包.我需要计算凸包和光线之间的交点,从0开始并在某个其他定义点的方向上.已知凸包含0,因此应保证交叉.问题的维度可以在2到5之间变化.我尝试了一些谷歌搜索,但没有找到答案.我希望这是计算几何中已知解决方案的常见问题.谢谢.

python intersection convex-hull computational-geometry

14
推荐指数
2
解决办法
2094
查看次数

python日期间隔交集

作为一个普遍感兴趣的问题,我想知道是否有更优雅/有效的方法来做到这一点.我有一个函数比较两个日期的开始/结束元组,如果它们相交,则返回true.

from datetime import date
def date_intersection(t1, t2):
    t1start, t1end = t1[0], t1[1]
    t2start, t2end = t2[0], t2[1]

    if t1end < t2start: return False
    if t1end == t2start: return True
    if t1start == t2start: return True
    if t1start < t2start and t2start < t1end: return True
    if t1start > t2start and t1end < t2end: return True
    if t1start < t2start and t1end > t2end: return True
    if t1start < t2end and t1end > t2end: return True
    if t1start > t2start …
Run Code Online (Sandbox Code Playgroud)

python datetime intersection

13
推荐指数
3
解决办法
9870
查看次数

找到两个3D多边形的交集

又称3D中的多边形裁剪算法

又找到2个碰撞多边形之间的碰撞流形

大多数用于多边形裁剪的算法都针对2D进行了详细描述,并且描述为可扩展到3D但没有细节.例如sutherland-hodgman裁剪算法

我无法在互联网上找到任何3D实现或伪代码,我现在在这里问(并试图回答我自己的问题)

该算法将采用两种形状,如下所示: 绿色形状由蓝色形状截去

并输出两个形状的交集,如下所示: 两个形状的交点

请注意,尽管Sutherland-Hodgman算法找到了两个多边形的交集,但它(和大多数其他多边形)在剪切多边形和剪切多边形之间进行了区分.修剪的多边形可以是凹的或凸的,但是修剪的形状必须是凸的.然而,我在扩展到3D时的实现要求两个形状都是凸的,这表明它不是真正的3D sutherland-hodgman算法,并且其他答案(使用任何算法)提升这个要求将非常感激

java intersection clipping polygons collision

13
推荐指数
1
解决办法
3089
查看次数

具有给定集合的集合集合中的最大集合交集的算法/数据结构

我有几百万套C的大集合.我的集合的元素来自大约2000个可能元素的宇宙.我需要知道,对于给定的集合,s,C中的集合与s的交集最大?(或者k在C中设置k个最大的交叉点).我将依次针对不同的s进行许多这些查询.

我知道这样做的显而易见的方法是循环遍历C中的每个集合并计算交集并取最大值.是否有任何智能数据结构/编程技巧可以加快我的搜索速度?如果我能比O(C)更快地做到这一点会很棒.

编辑:大致的答案也没关系

algorithm intersection set set-intersection data-structures

13
推荐指数
1
解决办法
765
查看次数

TypeScript中扩展和交叉接口之间的区别?

假设定义了以下类型:

interface Shape {
  color: string;
}
Run Code Online (Sandbox Code Playgroud)

现在,请考虑以下方法为此类型添加其他属性:

延期

interface Square extends Shape {
  sideLength: number;
}
Run Code Online (Sandbox Code Playgroud)

路口

type Square = Shape & {
  sideLength: number;
}
Run Code Online (Sandbox Code Playgroud)

两种方法有什么区别?

而且,为了完整性和出于好奇,有没有其他方法可以产生可比较的结果?

extends types intersection typescript

13
推荐指数
1
解决办法
2939
查看次数