我已经在信号处理堆栈交换上问过这个问题,但没有得到任何答案。你是我唯一的希望 StackOverflow。请帮忙谢谢:
作为数学论文的一部分,我正在编写一个程序来检测用输入的形状绘制的线的交点。
例如,在下面的形状中,多边形是给定大小的输入图像。光线已从多边形内部开始绘制到多边形上。如何检测光线穿过多边形边界的次数。
此外,多边形始终是闭合多边形。
请看这里的图片:
我最初想到的一个想法是用与边框相同的颜色(黑色)填充多边形。然后计算光线遇到黑色然后遇到白色的次数。
我对这种方法的问题是我真的不知道如何沿着一条线追踪并检查每个点,而且我猜测沿着这条线连续检查将是一个非常昂贵的过程。
我现在正在使用 Processing 3,但我可以使用除 MatLab 之外的任何其他软件/平台,因为我现在无法访问它。