Ios 如何将一系列拖动点与一系列CGPoint路径相匹配?

Ios 如何将一系列拖动点与一系列CGPoint路径相匹配?,ios,swift,swiftui,Ios,Swift,Swiftui,我一直致力于将一系列拖动点与预先绘制的路径相匹配,以帮助人们学习如何书写像“a”这样的字符 我很难理解如何可视化/处理创建算法的问题,该算法将给出“是,用户正确绘制了角色”或“否,用户没有正确绘制角色” 我在这里发表了另一篇文章:关于寻找点和线之间的距离。对于每个阻力点,我计算距离,通过计算,我回答了“它们是否离我创建的路径集太远了”的问题 但是,我对第二部分有困难,那就是“他们画了每一条线吗?”。例如,使用“A”,他们可以像/一样只画一条对角线,算法输出正确,因为距离计算很好,但他们缺少所有其

我一直致力于将一系列拖动点与预先绘制的路径相匹配,以帮助人们学习如何书写像“a”这样的字符

我很难理解如何可视化/处理创建算法的问题,该算法将给出“是,用户正确绘制了角色”或“否,用户没有正确绘制角色”

我在这里发表了另一篇文章:关于寻找点和线之间的距离。对于每个阻力点,我计算距离,通过计算,我回答了“它们是否离我创建的路径集太远了”的问题

但是,我对第二部分有困难,那就是“他们画了每一条线吗?”。例如,使用“A”,他们可以像/一样只画一条对角线,算法输出正确,因为距离计算很好,但他们缺少所有其他线

我希望能够实现一些东西,看看一系列用户绘制的CGPoint,然后是一个CGPoint数组,它表示一个字符和字符的路径

  • 确认点的距离(完成)
  • 确认他们画了所有必要的线
  • 这是我现在遇到麻烦的第二部分,我唯一想到的是生成一系列的点,基本上是角色放大,然后确保用户点与生成的大量点重叠。然而,这是痛苦的缓慢和真正减缓绘图/确认

    func generateAllPointsOnStraightPath(点:[CGPoint])->[CGPoint]{
    //生成直线路径上的所有点+添加边界点
    //y=mx+b
    //linspace是最小/最大x坐标
    var allPointsOnStraightPath:[CGPoint]=[]
    var prevPoint=第一个点
    点对点{
    设x1=Int(prevPoint!.x)
    设y1=Int(上一点!.y)
    设x2=Int(点x)
    设y2=Int(点y)
    //邻域
    设minX=min(x1,x2)
    设maxX=max(x1,x2)
    //y=mx+b,首先求解m
    如果(x2-x1)==0{
    //垂直线,所以只需附加相同的x和y增量
    if(y2
    我知道有一个解决方案存在,因为我见过这些语言学习应用程序,但我很难找到一个资源来概述它的工作原理/方法是什么。任何帮助或见解都将不胜感激