我想制作一个形状识别程序,可以跟踪鼠标并每 1/2 秒记录一次鼠标的位置。我怎样才能使用这些点来找到一个粗糙的多边形?换句话说,如果你只是画一个类似三角形或正方形的形状,它很可能是 50-100 边形,我怎样才能简化它以获得我想要绘制的形状?我知道你可以做一个遗传算法,但不知道它是如何工作的,我想知道任何替代方案。
编辑:凸包不起作用,需要保留凹面。
我想制作一个形状识别程序,可以跟踪鼠标并每 1/2 秒记录一次鼠标的位置。我怎样才能使用这些点来找到一个粗糙的多边形?换句话说,如果你只是画一个类似三角形或正方形的形状,它很可能是 50-100 边形,我怎样才能简化它以获得我想要绘制的形状?我知道你可以做一个遗传算法,但不知道它是如何工作的,我想知道任何替代方案。
编辑:凸包不起作用,需要保留凹面。
我会试一试。
您也许可以通过计算边数来确定形状。
对于沿 100 边形的每个点,找到由该点和两侧的点形成的小三角形的面积。删除创建最小三角形的点。重复直到最小的三角形大于某个阈值。