【发布时间】:2011-05-06 23:24:20
【问题描述】:
在 HTML 画布上,我有多个从 1 到 N 的点,这基本上是一个连接点应用程序,并在 touchstart 时激活。
有验证,因此他们只能连接从 1 到 2 的点 (.. n)。问题是现在没有验证这条线是一条直线,我正在寻找一种算法来做到这一点,这是我到目前为止的想法
- 对于 2 个点 (x1,y1) 到 (x2,y2),通过找到斜率并使用公式 y = mx + b 获取所有坐标
- 在 touchmove 上获取 x,y 坐标并确保它是前面步骤中的点之一并画一条线,否则不要画线。
有没有更好的方法来做到这一点,或者我可以采取什么不同的方法?
【问题讨论】:
-
澄清一下:您是要自己连接点,还是要确保用户已正确连接点?
-
@Tikhon Jelvis 我想确保用户已经连接了这些点
-
好吧,要做到这一点,您可以使用我的答案,查看所有用户的坐标并在它们上调用
isValid。您可能希望给用户一点回旋余地,因为绘制 100% 的直线很困难。
标签: javascript algorithm geometry