line-intersection相关内容
如何确定两条线是否相交,如果相交,在 x,y 点的什么位置? 解决方案 有一个很好的方法来解决这个问题,它使用向量叉积.将二维向量叉积 v × w 定义为 vx wy - vy wx. 假设两条线段从 p 到 p + r 和从 q 到 q + s.然后第一行上的任何点都可以表示为 p + t r(对于标量参数 t)和第二行上的任意点为 q + u s(对于标量参数 u). 如果
..
如何使用 numpy 计算两条线段的交点? 在代码中我有 segment1 = ((x1,y1),(x2,y2)) 和 segment2 = ((x1,y1),(x2,y2)).注意 segment1 不等于 segment2.因此,在我的代码中,我也一直在计算斜率和 y 截距,如果可以避免这种情况就好了,但我不知道如何做. 我一直将 Cramer 规则与我用 Python 编写的函数
..
我在 3D 空间的某处有一条线和一个三角形.换句话说,我有 3 个点(每个 [x,y,z])用于三角形,还有两个点(也是 [x,y,z])用于直线. 我需要想办法,希望使用 C++,来确定这条线是否曾经穿过三角形.一条平行于三角形的直线,且有一个以上的共同点,算作“不相交". 我已经编写了一些代码,但它不起作用,即使视觉表示清楚地显示了一个交叉点,我也总是出错. ofVec3f P1
..
我有一组线段(不是线),(A1, B1),(A2, B2),(A3, B3),其中A,B是线段的终点.每个A和B都有(x,y)坐标. 问题: 我需要知道point O和line segments之间的最短距离,如代码行中所示的图所示.我真正能理解的代码是伪代码或Python. 代码:很遗憾,我尝试使用此代码解决问题,但该代码无法正常工作. def dist(A, B, O):
..
我在3D空间中的某处有一条直线和一个三角形.换句话说,我的三角形有3个点(每个[x,y,z]),直线有2个点(也有[x,y,z]). 我需要找出一种方法,希望使用C ++来确定直线是否与三角形相交.平行于三角形且有多个共同点的直线应算作“不相交". 我已经编写了一些代码,但是它不起作用,即使视觉表示清楚地显示了相交点,我也总是会报错. ofVec3f P1, P2; P1 = r
..
我有一张骨架图像(如下所示). 我想得到直线的交点.我在下面尝试了以下方法,skeleton是一个openCV图像,该算法返回坐标列表: def getSkeletonIntersection(skeleton): image = skeleton.copy(); image = image/255; intersections = list(); fo
..
我正在尝试从两侧的两个线性polyfit(应该相交)获得组合的拟合线,这是拟合线的图片: 我正在尝试使两条拟合线(蓝色)相交并产生组合的拟合线,如下图所示: 请注意,波峰可以在任何地方发生,所以我不能假设它在中心. 以下是创建第一个绘图的代码: xdatPart1 = R; zdatPart1 = z; n = 3000; ln = length(R); [sX,In]
..
我正在尝试解决此Cyberchef挑战: 在一个平面上给您N个点(编号1到N);对于每个有效i,第i个点为Pi =(i,Ai).它们之间有N-1个线段(编号1到N-1).对于每个有效的i,通过连接点Pi和Pi + 1形成第i条线段. 您将获得Q条水平线段.每个查询水平线段由两个点表示,从点(x1,y)到点(x2,y)(在该点停止并且不再传播).对于“每个水平线段",您必须从与之相撞
..
我使用了此处发布的代码。再次是以下代码: 来自__future__进口部门 定义行(p1,p2): A =(p1 [1]-p2 [1])$ b $ b B =(p2 [0]-p1 [0]) C =(p1 [0] * p2 [1] -p2 [0] * p1 [1])$ b $ b返回A,B,-C 定义交集(L1,L2): D = L1 [0] * L2 [1]-L1
..
有 N 条线段,它们是水平或垂直的。现在,我需要找出相交的总数和每个线段的相交的总数。 N 最多可以为 100000 。我尝试检查每对线。答案是正确的,但是我需要减少它所花费的时间。 这是我的代码: 使用命名空间std; typedef struct Point { long long int x; long long int y; }; 布尔乐趣(点p0
..
我有QPainterPath.我需要通过x查找QPainterPath的y坐标. 我在QPainterPath中找到了intersected()方法.因此,我创建了新的QPainterPath,它是路径边界rect的从左到右沿x坐标的线,以找到作为交集结果的点. intersects()方法返回true.但是intersected()返回空路径. 一切正常,如果我使用height
..
我有4条线段,A,B,C和D.每条线表示为两个点.例如.线A表示为点A1和点A2. 我想要的是 X点,A线与B线相交的点 X和A1(原点)之间的距离 测试相交时,线A射线不应该 与线段D相交 与线段C相交 我该怎么做? 解决方案 最后使它可以在OpenCV C ++上运行.基于此 https://stackoverflow.com/a/32146853/4
..
如何使用numpy计算两条线段之间的交点? 在代码中,我有segment1 =((x1,y1),(x2,y2))和segment2 =((x1,y1),(x2,y2)).注意段1不等于段2.因此,在我的代码中,我还一直在计算斜率和y截距,如果可以避免,那将是很好的选择,但我不知道该怎么做. 我一直在使用Cramer规则和我在Python中编写的函数,但我想找到一种更快的方法. 解
..
我在stackoverflow上看到了很多帖子,都在讨论这个话题.我从stackoverflow那里获得了一个解决方案,但是找不到发布信息.就是说:如果两条线相交,则叉积将为左侧和右侧产生两个不同的结果.一正一负.否则,两者具有相同的符号.到目前为止,还可以. 使用的公式是,其中AB是一行,而CD是另一行. dotproductleft =(B.x-A.x)(C.y-B.y)-(B.y-A.
..
我在空间中有两个点L1和L2,它们定义了一条线上的两个点. 我在空间上有3个点P1,P2和P3,在平面上有3个点. 因此,有了这些输入,线在哪一点与平面相交? Fx.平面方程A * x + B * y + C * z + D = 0为: A = p1.Y * (p2.Z - p3.Z) + p2.Y * (p3.Z - p1.Z) + p3.Y * (p1.Z - p2.Z
..
我有两条三次贝塞尔曲线, 曲线1:-:第一锚点(a1x,a1y),第一控制点(c1x,c1y),第二控制点(c2x,c2y),第二锚点(a2x ,a2y) 曲线2:-:第一锚点(a3x,a3y),第一控制点(c2x,c3y),第二控制点(c4x,c4y),第二锚点(a4x ,a4y) 现在,我想找到这两条贝塞尔曲线之间的交点; 该怎么做? 任何带有算法的参考文件都会对我有所
..
我创建了一个函数来计算两条线段的交点. 不幸的是,如果该段之一是verticale,下面的代码将无法工作 public static Point intersection(Segment s1, Segment s2) { double x1 = s1.getP1().getX(); double y1 = s1.getP1().getY() ; dou
..
如何使用Boost Geometry来表示线? 我不需要有限的分段,但是我需要无限的行(也许线串是否可以扩展?) 据我了解,我可以使用boost::geometry::intersects,但是我不知道如何定义无限行. 解决方案 如果要测试无限线A是否与线段B相交,可以使用template struct line { boost::geomet
..
我尝试过搜索一个javascript函数,它会检测两条线是否相互交叉。 该函数将获取两个行的x,y值每一行的结束点(我们称之为A行和B行)。 如果相交则返回true,否则返回false。 功能示例。如果答案使用矢量对象,我很高兴。 函数isIntersect(lineAp1x,lineAp1y,lineAp2x,lineAp2y,lineBp1x,lineBp1y,line
..
在C#或Java中是否存在任何现有的Bentley-Ottmann算法实现/库? 解决方案
..