我希望编写一个C代码,在其中可以找到2D坐标网格中两个点之间的直线上的点的位置。我知道的两个点的位置,以及每个点到新期望点的距离。但是,我不希望使用trig函数,因为事实证明它比我想要的昂贵。我听说过使用1D插值的简单解决方案,但是我不熟悉该解决方案。有人可以阐明这一点吗?谢谢!
答案 0 :(得分:1)
假设以下内容:
让d12为从p1到p2的距离。然后:d12 = d1i + di2。
(或者d12 = sqrt((p2.x-p1.x)*(p2.x-p1.x)+(p2.y-p1.y)*(p2.y-p1.y))通过毕达哥拉斯定理。)
让比率= d1i / d12。
然后:
如果将d1i和di2给出为有符号距离,这也是可行的,其中将正距离解释为“从p1到p2的方向”,而将负距离解释为相反的方向。