标签: intersection

大圆和菱形线交叉点

我有一个纬度、经度和一个以真北度数表示的行进方向。我想计算我是否会与另外两个纬度/经度点定义的线相交。

我认为定义这条线的两个点将创建我的大圆,而我的位置和方位角将定义我的 Rhumb 线。

我只对几百公里内会发生的交叉路口感兴趣,所以我不需要所有可能的解决方案。

我不知道从哪里开始。

geometry intersection great-circle

0
推荐指数
1
解决办法
4489
查看次数

线段相交、数值稳定测试

我需要对二维中的 2 条线段相交进行精确且数值稳定的测试。有一种可能的解决方案检测 4 个位置,请参见下面的代码。

getInters ( double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double & x_int, double & y_int  )
{
    3: Intersect in two end points,
    2: Intersect in one end point,
    1: Intersect (but not in end points)
    0: Do not intersect 

unsigned short code = 2;

//Initialize intersections
x_int = 0, y_int = 0;

//Compute denominator
    double denom =  x1 * ( y4 - y3 ) + …
Run Code Online (Sandbox Code Playgroud)

c++ testing numerical intersection

0
推荐指数
1
解决办法
7179
查看次数

从矩形交叉点返回一个矩形?

一直在努力想出一个解决方案来返回一个代表两个矩形之间实际交叉点的矩形.

我正在寻找的是这样的: MSDN - Rectangle :: Intersect方法(矩形,矩形)

如图所示,我希望从两个矩形的交叉处返回绿色的矩形.不是某些布尔值true或false.

矩形交叉点数据

我将接受代码示例或简单理论作为答案.提前致谢!

math intersection actionscript-3

0
推荐指数
1
解决办法
750
查看次数

防止画布对象发生碰撞或交叉

我正在画布上绘制 n 个矩形。矩形是可拖动和可缩放的。我想防止它们重叠或相交。最好的情况是,如果它们只是相互咬合。

我想办法检查一下十字路口。在我的示例中,我将触摸对象的不透明度设置为 0.1。

巧合的是,在我尝试解决这个问题时,我的对象在接触另一个对象时无法释放。请参阅http://jsfiddle.net/gcollect/jZw7P/ 这是因为第91行,警报没有执行。 alert(math.abs(distx));

实际上这是一种解决方案,但绝对不是一个优雅的解决方案。

有任何想法吗?

intersection canvas collision-detection html5-canvas fabricjs

0
推荐指数
1
解决办法
8552
查看次数

两个列表的交集与重复

我正在尝试创建一个函数,它会给我两个列表的交集,考虑到可以有重复的项目,我需要它们在输出中.

Console.Write((new[] {1, 2, 2, 3}).Intersect(new[] {1, 2, 2}));
Run Code Online (Sandbox Code Playgroud)

只输出{1,2},我需要的输出是{1,2,2}.

这是我创建的方法:

private static IEnumerable<int> IntersectWithRepetitons(List<int> a, List<int> b)
{
    if (!a.Any() || !b.Any()) return Enumerable.Empty<int>();
    if (a.Count() > b.Count()) return IntersectWithRepetitons(b, a);

    var idx = b.IndexOf(a.First());
    if (idx < 0) return IntersectWithRepetitons(b, a.Skip(1).ToList());

    var tmp1 = new List<int> { a.First() };
    var tmp2 = new List<int>(b);
    tmp2.RemoveAt(idx);
    return tmp1.Concat(IntersectWithRepetitons(tmp2, a.Skip(1).ToList()));
}
Run Code Online (Sandbox Code Playgroud)

我确信这可以高度优化但是,我主要担心(效率明智)是为了保持输入列表完好无损,当我从中删除找到的项目时,我必须复制'b'列表:

var tmp2 = new List<int>(b);
tmp2.RemoveAt(idx);
Run Code Online (Sandbox Code Playgroud)

并且每次递归调用都会发生这种情况.任何想法或想法将非常感激.谢谢.

c# intersection list

0
推荐指数
1
解决办法
249
查看次数

查找数组中由给定线段穿过的单元格

我有一个大小为 10x10 的 2D 单元格数组,以及许多成对浮点值的点,例如:(1.6, 1.54), (4.53, 3.23)。对 (x,y) 使得 x<10 和 y<10

每个单元格取其坐标与单元格坐标具有相同整数部分的点。所以 arr[3][7] 将取 x={3...3.99(9)} 和 y={7...7.99(9)} 的点,例如 (3.5, 7.1) 或 (3.2, 7.6 )。类似地, (1.6, 1.54) 在 arr[1][1] 中,(4.53, 3.23) 在 arr[4][3] 中,等等。

每个点在数组中都有一个很容易找到的指定位置,因为我只需要将 x 和 y 转换为 int 即可去掉小数点。

但我想找到数组中的哪些单元格与两点 A(x,y) 和 B(x,y) 之间的线段相交。

例如:A(1.5, 2.5) 和 B(4.3, 3.2) 用索引 [1][2]、[2][2]、[3,3] 和 [3,4] 交叉数组中的单元格

有什么算法吗?

这是一个类似的问题: 网格中的单元格被一条线交叉(PHP)

algorithm math intersection point line-segment

0
推荐指数
2
解决办法
2580
查看次数

列表中列表的交集

任务是在2个列表中找到相等元素的数量,这些列表包含列表.我有两个看起来像的列表

DNF1=[[4], [12], [20], [28,32], [36], [44], [52,54], [60,4],[60,24]]
DNF2=[[16], [20,60], [24], [28,32], [48], [52], [56,58], [60,4]]
Run Code Online (Sandbox Code Playgroud)

此代码不起作用,因为参数是列表:

 count=sum(1 for k in DNF1 if k in DNF2)
Run Code Online (Sandbox Code Playgroud)

我该怎么写

func(DNF1,DNF2)
Run Code Online (Sandbox Code Playgroud)

将返回

[[28,32],[60,4]]
Run Code Online (Sandbox Code Playgroud)

或只是'2'(交叉点中的元素数量)

python intersection list set python-3.x

0
推荐指数
1
解决办法
37
查看次数

从Scheme中的交集列表中删除重复项

我有一段代码可以得到两个列表的交集.但是,我想删除列表中的所有重复项.我用的是这个功能remove-duplicates().每当我使用它时,drRacket会出现以下错误.

申请:不是程序; 期望一个程序可以应用于给定的参数:(abccd)参数......:[无]

这是我的代码

#lang scheme
(define (intersect lst1 lst2)
  (removedup(lst1 lst2))
    (cond
      ((null? lst1)(quote ()))
      ((isin? (car lst1) lst2)
       (cons (car lst1)
             (intersect (cdr lst1) lst2)))
      (else (intersect (cdr lst1) lst2))))

(define (removedup lst1 lst2)
  (remove-duplicates(lst1))
  (remove-duplicates(lst2))
  )

(define (isin? a lat)
    (cond
      ((null? lat) #f)
      (else (or (equal? (car lat) a)
                (isin? a (cdr lat))))))
Run Code Online (Sandbox Code Playgroud)

我的意见是 > (intersect '(a b c c d) '(c d e f))

任何人都可以帮我解决我的问题吗?提前致谢

scheme intersection list duplicates racket

-1
推荐指数
1
解决办法
254
查看次数

Swift 与多个数组相交

我有一个数组的数组,大小是动态的,我想找到A中的公共元素。

A = [ [1,2,3], [2,4,6,1], [3,6,2,1], [1,1,1],.. ]。

对于上面的数组 A,公共元素是 1

我如何以有效的方式实现?我可以循环查找,但我想知道最有效的解决方案?

arrays intersection

-1
推荐指数
1
解决办法
398
查看次数

python中列表(列表列表)中列表的交集

我有一个列表列表,如下所示:

list = [[1,2,3],[2,3,4],[3,4,5],[3,5,6]]
Run Code Online (Sandbox Code Playgroud)

我想在python 2.7中找到它们的交集

intersect_list = [3]
Run Code Online (Sandbox Code Playgroud)

谢谢。

python intersection list python-2.7

-2
推荐指数
1
解决办法
2476
查看次数

在线性时间复杂度中查找两个数组中的公共元素

我知道这类问题已经在社区中被重复提出,但我的问题与其他问题没什么不同.

我今天面对一家知名公司的采访.他们问我两个技术问题,其中一个问题是......

我已经给出了两个未分类的长度数组,他们要求我找到数组的常用元素,但使用时间复杂度为O(n)的算法.

没有额外的语言相关支持.

我向他们展示了一个时间复杂度为O(n*log(n))的算法,但他们并不满意.我只想知道是否存在任何此类算法.

arrays algorithm intersection time-complexity

-3
推荐指数
1
解决办法
2062
查看次数