如何找到手绘多边形的边和顶点

| 我想制作一个形状识别程序,该程序可以跟踪鼠标并在每1/2秒记录一次鼠标的位置。我如何使用这些点来找到粗糙的多边形?换句话说,如果您只是绘制一个类似于三角形或正方形的形状,则很有可能是50-100角,如何简化以得到我尝试绘制的形状?我知道您可以执行遗传算法,但是不知道确切的工作方式,我想知道任何其他选择。 编辑:凸包将不起作用,需要保留凹度。     
已邀请:
        对于沿100角的每个点,找到由该点和任一侧的点组成的小三角形的面积。删除创建最小三角形的点。重复直到最小的三角形大于某个阈值。     
        我会试一试。 让我们在鼠标单击事件发生时调用位置START 每个间隔取一个称为CURR的位置 让我们调用上一个CURR,PREV 计算CURR和PREV之间的斜率(δy /δx), 计算CURR和START之间的直线斜率 为两个斜率之间的差异定义一些阈值 如果斜率超过阈值, 将START和CURR之间的线存储为SIDE 将CURR定义为新的START 重复此操作,直到CURR在原始START的特定半径内或越过前一个边 您可能只需要计算边数就可以确定形状。     

要回复问题请先登录注册