Wpf 数学边界逻辑
我需要一些关于可能是一个简单问题的启发。
给定一个坐标 Xn 和 Yn 的圆作为边界,并给定控件中心在 X1 和 Y1。如何检查控件是否位于边界内?
我试过,
X2& X3 = 左 &就 X 轴而言,圆的右峰。
Y2& Y3=顶部& Y 轴圆的底部峰值。
If( X1 > X2 && X1 < X3 && Y1 > Y2 && Y1 < Y3)
return true;
然而,这显然不起作用,因为圆的四个角会在不应该返回 true 时返回 true。有什么想法吗?
I need some enlightenment on what might be a simple question.
Given a circle of coordinates Xn and Yn that act as boundary and given the coordinate of a control's center at X1 and Y1. How do I check if the control lies within the boundary?
I tried,
X2 & X3 = the left & right peak of the circle in term of X axis.
Y2 & Y3 = the top & bottom peak of the circle in term of Y axis.
If( X1 > X2 && X1 < X3 && Y1 > Y2 && Y1 < Y3)
return true;
However, this clearly doesn't work as the four corner of the circle will return true when it's not suppose to. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 r = sqrt(xn*xn + yn*yn) 之类的东西来确定圆的半径吗?当 yn = 0 时,更容易的是 r = xn。然后您可以计算 r1 = sqrt(x1*x1 + y1*y1) 来找出是否 r1 <河如果是,那么它就在圆圈内。
Can you use something like r = sqrt(xn*xn + yn*yn) to determine the radius of the circle? Even easier would be r = xn when yn = 0. Then you can calculate r1 = sqrt(x1*x1 + y1*y1) to find out if r1 < r. If it is, then it's inside the circle.