我需要在给定圆(或曲线)上找到一个或多个点来最小化 d0+d1?曲线的半径和中心分别为(0,0)和'r',并且A点和B点的坐标已知。假设 A=(x1,y1) 和 B=(x1,-y1) 和 r> sqrt(x1^2+y1^2) 。 C 是圆的未知点,应最小化长度 d0+d1 d0 - 圆上 A 到 C 之间的距离 d1-圆上B到C的距离
C点沿圆移动。我需要在给定圆(或曲线)上找到一个或多个点来最小化 d0+d1?
最佳答案
如果线 AB 与圆相交,则 C 就是该交点(请注意,可以有两个交点,并且两者的距离 d0+d1
相等!)。
如果AB不与圆相交,则C是圆上与AB上最接近圆心的点的假想线相交的点。
网上有很多文章介绍如何找到一条线上距离另一个点最近的点,以及如何找到两条线之间的交点,这可以解决第二种情况。对于第一种情况,您可以谷歌“线圆交点”
关于optimization - 找到最小距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14851978/