我需要启发一下可能是一个简单的问题。Wpf数学边界逻辑
鉴于作为边界坐标XN和YN的一个圆,给控制中心在X1和Y1坐标。如何检查控制是否位于边界内?
我尝试,
X2 X3 & =以X轴的术语的圆的左右&峰。
Y2 & Y3 = Y轴方向顶部的圆底峰值。
If(X1 > X2 && X1 < X3 && Y1 > Y2 && Y1 < Y3)
return true;
然而,这显然不为四角圆的工作时,它不是假设将返回true。有任何想法吗?
我需要启发一下可能是一个简单的问题。Wpf数学边界逻辑
鉴于作为边界坐标XN和YN的一个圆,给控制中心在X1和Y1坐标。如何检查控制是否位于边界内?
我尝试,
X2 X3 & =以X轴的术语的圆的左右&峰。
Y2 & Y3 = Y轴方向顶部的圆底峰值。
If(X1 > X2 && X1 < X3 && Y1 > Y2 && Y1 < Y3)
return true;
然而,这显然不为四角圆的工作时,它不是假设将返回true。有任何想法吗?
你可以使用类似r = sqrt(xn * xn + yn * yn)来确定圆的半径吗?当yn = 0时,更容易的是r = xn。然后你可以计算r1 = sqrt(x1 * x1 + y1 * y1)来确定是否r1 < r。如果是,那么它在圈内。
如何确定圆的半径并控制帮助以确保控件在圆内? – Sydnal
你有一个由(xn,yn)定义的圆的外部极限。如果你的点(x1,y1)在该半径之外,那么控制不在圆内。这假定圆的中心和控件的中心是相同的。或者我可能完全脱离基地。 – user973572
没有。 :( 控件的中心是不同的,它会动态地改变,所以我在做的是移动控件,并希望控件只能在圆内移动(: – Sydnal
你能解释一下**坐标Xn和Yn作为边界**的意思吗? – Blender
画一个360点的圆,我有360点的坐标。所以我希望这个圈子能够起到广告边界的作用,所以我的控制,比如图像,将永远留在圈内,不能退出。这就是我想表达的意思。 – Sydnal
这与[WPF](http://stackoverflow.com/tags/wpf/info)有什么关系? –