几条直线,意思是所知的点不多是么
把这个问题转化为图像处理的问题就很容易了。若干条直线形成了若干个区域,每个区域是一个连通域。选中区域内一点即选中区域,然后找到区域的边界角点。
图形学算话应该能更快更好一点,不过对其不是很熟悉,暂时没想到。
想到的思路1:从直线集合中选择几条可以形成闭合区域包含“选择的点”的直线作为结果集,然后通过判断剩余的直线(候选结果集)是否通过该闭合区域,如果通过,更新形成闭合区域的结果集;如果不通过,从候选结果集中删除;遍历至获选结果集,最终在结果集中的直线计算交点;
思路2:找到与“选择的点”最近的直线,从该直线与“选择的点”的垂线交点向两端找与其他直线的最近交点位置,再从相交的线找其他线,每次查找到的交点都记录下来,作为结果集合;
时间复杂度没有考虑,我只是想了一下思路,希望对你有帮助
已知所有直线,所以已知所有直线交点。
给定一点(X),通过勾股定理,计算出X点与所有直线交点的距离,得到与X点距离最近的交点(A)。
通过A点,得到A点所在直线(1),然后根据X和A的相对位置,可以得到直线1上另一个交点(B)。
通过B点,得到B点所在的另一条直线(2),依此类推直到重新找到A点。
这个应该用到图的数据结构