现在我有一组轮廓点。我的光线L
从Pn
开始,与水平轴顺时针有ALPHA
角。我想计算从Pn
开始并在光线L
与轮廓相交的点结束的线的长度,在这种情况下是Pn-2
和{{1}之间的一个点}。那么我怎样才能有效而快速地计算这个长度呢?
答案 0 :(得分:0)
您可以compute the intersection只有using openCV的光线L
所有线段都包含任意一对相邻的轮廓点。
当然,您可能希望通过按Pn
或其他任何距离排序来优化此过程。根据countour(凹形?),可能有多个交叉点,因此您必须选择正确的交叉点(内部,外部......)。
计算交点的Instea你也可以绘制轮廓和光线(例如{{3}})并使用逻辑和找到交点。
答案 1 :(得分:0)
没有算法能够以比线性时间更快的速度解决这个问题,因为交叉点的数量可能是线性的,输出的大小也是如此。我可以建议以下算法,实现起来非常方便和有效: