草庐IT

c# - 求两条3D线段交点的算法

找到两条二维线段的交点很容易;theformulaisstraightforward.但是,恐怕不是找到两条3D线段的交点。什么是算法,最好是在C#中找到两个3D线段的交点?我找到了一个C++implementationhere.但我不相信这个解决方案,因为它偏爱某个平面(查看perp在实现部分下的实现方式,它假定偏爱zplane.任何通用算法都不能假定任何平面方向或偏好)。有没有更好的解决方案? 最佳答案 大多数3D线不相交。一种可靠的方法是找到两条3D线之间的最短线。如果最短线的长度为零(或距离小于您指定的任何公差),那么您就知

java - 计算线段之间的交点

在stackowerflow上有很多关于线段之间的交叉点的问题,这里还有一个问题!抱歉,但我需要帮助来了解如何计算交叉点。我已经阅读了这里的几个问题并查看了其他网站上的几个示例,但我仍然感到困惑并且不明白!我不喜欢在没有工作原理的情况下复制和粘贴代码。到目前为止,我知道我将比较每个线段的点,例如Ax、Ay、Bx、By、Cx、Cy、Dx、Dy。谁能帮我解释一下我要计算什么,如果有交叉点,计算的结果会是什么?这是我看到的示例代码之一。我想我不需要相交点,只知道线是否相交。publicstaticPointlineIntersect(intx1,inty1,intx2,inty2,intx3

缓和曲线回头曲线交点法坐标计算实例

一、什么是回头曲线回头曲线是一种半径小、转弯急、线型标准低的曲线形式,其转角接近、等于或大于180度。在实际中,我们确实经常在山区道路碰到回头曲线,基本的感觉就是一个急弯,并且转了一百八十度,跟掉差不多。转角小于180度,交点在曲线外侧,可以按一般曲线计算,转角等于180度,没有交点,一般不采用,而当转角大于180度,交点就在曲线内侧,这种情况就是这里要讨论的回头曲线。二、回头曲线的计算某公路设计文件直曲转角表如下图:可以看出JD1转角大于180度,属于回头曲线,按照普通平曲线计算公式计算坐标,结果肯定是不正确的。回头曲线按照普通曲线中桩坐标计算方法不能得到正确的结果,因为其交点在曲线内侧,是

c++ - k路三角形集交点和三角剖分

如果我们有K组可能重叠的三角形,那么计算一组新的、不重叠的三角形的高效计算方法是什么?例如,考虑这个问题:这里我们有3个三角形集合A、B、C,它们有一些相互重叠,并希望得到不重叠的集合A'、B'、C'、AB、AC、BC、ABC,例如AC中的三角形将包含A和C之间完全重叠的曲面;并且A'将包含A的曲面,这些曲面不与任何其他集合重叠。 最佳答案 我(也)提出了一种两步法。1.找出所有三角形边的交点。正如评论中所指出的,这是一个经过充分研究的问题,通常使用线扫描方法来解决。这是veryniceoverview,尤其是Bentley-Ott

python - 如何计算两条线的交点?

我有两条相交的线。我知道两条线的端点。如何在Python中计算交点?#Giventheseendpoints#line1A=[X,Y]B=[X,Y]#line2C=[X,Y]D=[X,Y]#Computethis:point_of_intersection=[X,Y] 最佳答案 与其他建议不同,这很短并且不使用像numpy这样的外部库。(并不是说使用其他库不好......不需要这样做很好,尤其是对于这样一个简单的问题。)defline_intersection(line1,line2):xdiff=(line1[0][0]-line

ruby - RGeo交点函数的问题

我从rgeopolygon交集函数(ruby2.3.0,rgeo0.5.3)得到了奇怪/不正确的结果。例1:我有两个多边形,我相信它们共享一个边界,但不共享任何内部空间(即它们touch但不overlap):wkt_1="POLYGON((-8226874.277821584962626.76394919,-8223358.1745204624961756.817075645,-8223358.1745204624960289.557693501,-8224471.3694283944960289.557693501,-8226874.277821584962253.674727506

c++ - 从2个矩形中获取交点

假设我们有两个矩形,分别定义了它们的左下角和右上角。例如:rect1(x1,y1)(x2,y2)和rect2(x3,y3)(x4,y4)。我正在尝试找到相交矩形的坐标(左下角和右上角)。任何想法、算法、伪代码,将不胜感激。附言我发现了类似的问题,但他们只检查2个矩形是否相交。 最佳答案 如果输入矩形是标准化的,即您已经知道x1,y1(第二个矩形也一样),那么你需要做的就是计算intx5=max(x1,x3);inty5=max(y1,y3);intx6=min(x2,x4);inty6=min(y2,y4);它会给你你的交集为矩形(

c++ - 从2个矩形中获取交点

假设我们有两个矩形,分别定义了它们的左下角和右上角。例如:rect1(x1,y1)(x2,y2)和rect2(x3,y3)(x4,y4)。我正在尝试找到相交矩形的坐标(左下角和右上角)。任何想法、算法、伪代码,将不胜感激。附言我发现了类似的问题,但他们只检查2个矩形是否相交。 最佳答案 如果输入矩形是标准化的,即您已经知道x1,y1(第二个矩形也一样),那么你需要做的就是计算intx5=max(x1,x3);inty5=max(y1,y3);intx6=min(x2,x4);inty6=min(y2,y4);它会给你你的交集为矩形(

如果实现与在线CAD图中的线段实时求交点

​随着web在线CAD图查看的普及,需求也不断涌现,一些需求不再满足的在线图形的查看,而涉及到web端在线图形的几何运算。本文以如果实现与在线CAD图中的线段实时求交点这例,介绍下如何在web端cad图几何运算的功能实现。如果实现与在线CAD图中的线段实时求交点需要实现的功能有在线查看CAD图获取CAD图上面的绘制的所有线段坐标线段相交实时计算相交先上实现效果实现效果图功能实现介绍在线查看CAD图如果在Web网页端展示CAD图形(唯杰地图云端图纸管理平台https://vjmap.com/app/cloud),这个在前面的博文中已讲过,这里不再重复,有需要的朋友可下载工程源代码研究下。获取CA

如果实现与在线CAD图中的线段实时求交点

​随着web在线CAD图查看的普及,需求也不断涌现,一些需求不再满足的在线图形的查看,而涉及到web端在线图形的几何运算。本文以如果实现与在线CAD图中的线段实时求交点这例,介绍下如何在web端cad图几何运算的功能实现。如果实现与在线CAD图中的线段实时求交点需要实现的功能有在线查看CAD图获取CAD图上面的绘制的所有线段坐标线段相交实时计算相交先上实现效果实现效果图功能实现介绍在线查看CAD图如果在Web网页端展示CAD图形(唯杰地图云端图纸管理平台https://vjmap.com/app/cloud),这个在前面的博文中已讲过,这里不再重复,有需要的朋友可下载工程源代码研究下。获取CA