在我的应用程序中,我现在能够通过检查以下所有条件是否真实来确定用户的水龙头是否在矩形区域内:
但是,我现在必须确定用户是否在循环区域内轻敲。目前我在屏幕上有一个圆形的形状,只是检查它的边界矩形,这有效,但显然不是很好。
任何帮助都将不胜感激。
答案 0 :(得分:2)
二维distance between two points定义为
dist = sqrt((x2-x1)^2 + (y2-y1)^2)
要检查您的分接点是否在圆圈内,请将圆圈的中心设为(x1,y1),将“分接位置”设为(x2,y2),然后检查是否
sqrt((x2-x1)^2 + (y2-y1)^2) < R
R是圆的半径。
修改强>
正如约翰所提到的,从计算的角度来看,与R ^ 2进行比较更有意思,以避免每次点击的sqrt。因此条件变为:
(x2-x1)^2 + (y2-y1)^2 < R^2