给出两组线段(xa1..N,ya1..N)和(xb1..N,yb1..N),它们代表地质单元的上下表面,以及一个已知点(xc1) ,yc1)在地质单元内,如何找到穿过(xc1,yc1)的(xa,ya)和(xb,yb)之间的最短距离线。
答案 0 :(得分:0)
如果我理解得很清楚,那么您正在通过给定点在两条给定折线之间寻找中间折线。
如果两条源折线具有相同的点数,则可以使用范围[0 1]中的参数t考虑相应线段之间的线性插值。每个新顶点都由
给出Xti = (1 - t) Xai + t Xbi
Yti = (1 - t) Yai + t Ybi
当t = 0时,这给出了上表面,t = 1下表面和其他t中间表面。
现在仍然需要找到使该线通过的t值(xc,yc)。每个段可以通过其参数方程表示,在点i和i + 1(let j)之间,使用一些参数p。这导致以下等式:
Xc= (1 - p) Xti + p Xtj
Yc= (1 - p) Yti + p Ytj
现在,对于每个i-j段,你有一个由两个未知数(t和p)组成的两个方程组。您将保留i-j解决方案,使得p落在[0 1]
的范围内