首页 新闻 会员 周边 捐助

怎样判断鼠标移动的范围是一个圆形?

0
[待解决问题]

按下鼠标,把鼠标移动过程中经过的点坐标记下来,等松开鼠标后,判断一下画的是不是圆圈。

该怎样判断呢?

lijing297的主页 lijing297 | 菜鸟二级 | 园豆:223
提问于:2017-07-24 11:22
< >
分享
所有回答(6)
0

an下鼠标,每个x时间获取鼠标坐标,然后再用集合中的点判断是不是圆.

猝不及防 | 园豆:2878 (老鸟四级) | 2017-07-24 11:25

坐标点已经获取到了,现在就是不知道该怎样判断是不是圆?

支持(0) 反对(0) lijing297 | 园豆:223 (菜鸟二级) | 2017-07-24 11:28
0

三点确定一个圆,得到圆心坐标和半径,再反推判断坐标是否在圆上,允许误差就计算方差

TCG2008 | 园豆:1150 (小虾三级) | 2017-07-24 12:57
0

他是要判断是不是圆圈.

另外说一下.除非是矢量图.

不然电脑里任何图形上的圆.都是多边型.你先理解这个吧.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-07-24 15:09
0

opencv之类的库有图形检测函数。

花飘水流兮 | 园豆:13617 (专家六级) | 2017-07-24 16:17
0

有案例吗?分享出来大家一起看看,我感觉还是能够实现的!我来说说我的看法。

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的值(比对时的误差可以由你自行控制)

感觉自己完全在胡说八道,但是细细想来还是有那么一点道理....

好来污影后 | 园豆:287 (菜鸟二级) | 2017-07-24 16:51
0

厉害了,用鼠标也能画圆,给你一个园,你照着上面拖动鼠标,都不太可能画出一个园

老年游侠 | 园豆:364 (菜鸟二级) | 2017-07-24 22:41

我补充一下,近似圆,可以有误差

支持(0) 反对(0) lijing297 | 园豆:223 (菜鸟二级) | 2017-07-25 09:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册