Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Geometry 如何计算通过已知点的两组线段之间的最短距离直线?_Geometry_Computational Geometry - Fatal编程技术网

Geometry 如何计算通过已知点的两组线段之间的最短距离直线?

Geometry 如何计算通过已知点的两组线段之间的最短距离直线?,geometry,computational-geometry,Geometry,Computational Geometry,给定表示地质单元上下表面的两组线段(xa1..N,ya1..N)和(xb1..N,yb1..N),以及地质单元内的一个已知点(xc1,yc1),如何找到穿过(xc1,yc1)的(xa,ya)和(xb,yb)之间距离最短的直线 如果我理解得很好,您正在寻找两条给定多段线之间的中间多段线,通过一个给定点 如果两个源折线具有相同的点计数,则可以在范围[0 1 ]中使用参数T来考虑对应段之间的线性插值。每个新顶点由 Xti = (1 - t) Xai + t Xbi Yti = (1 - t) Yai

给定表示地质单元上下表面的两组线段(xa1..N,ya1..N)和(xb1..N,yb1..N),以及地质单元内的一个已知点(xc1,yc1),如何找到穿过(xc1,yc1)的(xa,ya)和(xb,yb)之间距离最短的直线

如果我理解得很好,您正在寻找两条给定多段线之间的中间多段线,通过一个给定点

如果两个源折线具有相同的点计数,则可以在范围[0 1 ]中使用参数T来考虑对应段之间的线性插值。每个新顶点由

Xti = (1 - t) Xai + t Xbi
Yti = (1 - t) Yai + t Ybi
当t=0时,上表面为t=1,下表面为t=1,其他中间表面为t

现在仍然需要查找使线通过的t值(xc,yc)。每个线段都可以用它的参数方程来表示,在点i和i+1(设j)之间,使用一些参数p。由此得出以下方程式:

Xc= (1 - p) Xti + p Xtj
Yc= (1 - p) Yti + p Ytj

现在,对于每个i-j段,有一个由两个未知量(t和p)的两个方程组成的系统。您将保留i-j解决方案,使p在[01]范围内。

如果我理解得很清楚,您正在寻找两条给定多段线之间通过给定点的中间多段线

如果两个源折线具有相同的点计数,则可以在范围[0 1 ]中使用参数T来考虑对应段之间的线性插值。每个新顶点由

Xti = (1 - t) Xai + t Xbi
Yti = (1 - t) Yai + t Ybi
当t=0时,上表面为t=1,下表面为t=1,其他中间表面为t

现在仍然需要查找使线通过的t值(xc,yc)。每个线段都可以用它的参数方程来表示,在点i和i+1(设j)之间,使用一些参数p。由此得出以下方程式:

Xc= (1 - p) Xti + p Xtj
Yc= (1 - p) Yti + p Ytj

现在,对于每个i-j段,有一个由两个未知量(t和p)的两个方程组成的系统。您将保留i-j解决方案,使p在[01]范围内。

这真的是Fortran问题吗?或者这是一个数学/算法问题?地质单元只是一层岩石,因此在2D中,两组线段不相交。是的,这是一个数学/算法问题,但第一次在stackoverflow上,因此不知道如何使用标记位。我用fortran语言编程,所以我选择了它。我需要答案,这样我就可以计算出相对于上下表面的内部点的位置。如果地质单元被折叠,我可以找出如何展开并保留空间关系。由于不清楚是否有解决方案,因此需要进一步澄清。如何知道每个集合中都有点与(xc1和yc1)共线?假设将数据作为一个度量,那么解决方案存在的概率接近于0。这真的是Fortran的问题吗?或者这是一个数学/算法问题?地质单元只是一层岩石,因此在2D中,两组线段不相交。是的,这是一个数学/算法问题,但第一次在stackoverflow上,因此不知道如何使用标记位。我用fortran语言编程,所以我选择了它。我需要答案,这样我就可以计算出相对于上下表面的内部点的位置。如果地质单元被折叠,我可以找出如何展开并保留空间关系。由于不清楚是否有解决方案,因此需要进一步澄清。如何知道每个集合中都有点与(xc1和yc1)共线?假设将数据作为度量,则存在解的概率接近于0。