【问题标题】:Sampling captured point data采样捕获的点数据
【发布时间】:2011-09-11 16:54:40
【问题描述】:

我正在创建一个允许用户在画布上绘图(使用鼠标或触摸事件)的 Web 应用程序。

捕获用户用鼠标或画布绘制的路径的方法与 TLC 演示的 in this blog post 非常接近。

现在我想做的不同是:

  • 存储捕获的绘制坐标 在一个数组中(并将其用于绘图)

  • “采样”捕获的数据,即仅 使用一些点进行绘图 用户绘制的路径 屏幕

我目前确定的是我将如何“采样”点数组。

所以为了更好地解释我自己,以下是我的想法:

  1. 用户在画布上绘制路径(用手指或鼠标)

  2. mouseover/touchmove 事件共捕获 20 个点

  3. 如果我们要使用所有 20 个点来绘制路径,它将非常锯齿且不平滑。所以我想要的是将点数从 20 个减少到 8 个,并使用贝塞尔曲线连接它们?

只是想看看是否有人实现了类似的东西。如果有人在 ipad/iphone 上玩过飞行控制,当用户为飞机绘制路径时,他们会通过使用一些 touchmove 点而不是全部来实现这一点。也许他们使用计时器?

【问题讨论】:

    标签: html canvas


    【解决方案1】:

    我正在寻找的答案原来是Ramer–Douglas–Peucker algorithm

    如果有人感兴趣,这里是算法的 javascript 实现 - https://gist.github.com/826148

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-11
      • 1970-01-01
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多