按下鼠标,把鼠标移动过程中经过的点坐标记下来,等松开鼠标后,判断一下画的是不是圆圈。
该怎样判断呢?
an下鼠标,每个x时间获取鼠标坐标,然后再用集合中的点判断是不是圆.
坐标点已经获取到了,现在就是不知道该怎样判断是不是圆?
三点确定一个圆,得到圆心坐标和半径,再反推判断坐标是否在圆上,允许误差就计算方差
他是要判断是不是圆圈.
另外说一下.除非是矢量图.
不然电脑里任何图形上的圆.都是多边型.你先理解这个吧.
opencv之类的库有图形检测函数。
有案例吗?分享出来大家一起看看,我感觉还是能够实现的!我来说说我的看法。
1.确定画布的中心点[x0, y0]
2.记录鼠标从开始移动到结束移动每t毫秒所在的坐标x,y如[t, x, y]并记录一共花了多长时间tTotal
3.根据所记录的坐标,找出y值最小与x最小的两组坐标[x1,y1],[x2,y2]
4.根据找出的两组坐标[x1,y1],[x2,y2]与画布中心点将所画图形居中于画布,此时画布中心点可看做图形中心点
5.计算鼠标移动的起始点与画布中心点的距离作为圆形半径a
6.利用js根据a画圆,将360个坐标点保存在数组bArr中
7.用tTotal除以360度,可以得出每一度花了多长时间
8.在第2步的数组中找出第7步的时间间隔的360个坐标点保存为cArr
9.比对bArr与cArr的值(比对时的误差可以由你自行控制)
感觉自己完全在胡说八道,但是细细想来还是有那么一点道理....
厉害了,用鼠标也能画圆,给你一个园,你照着上面拖动鼠标,都不太可能画出一个园
我补充一下,近似圆,可以有误差