计算使用<;绘制的圆弧的边界矩形;弧段>;在XAML中

计算使用<;绘制的圆弧的边界矩形;弧段>;在XAML中,xaml,math,Xaml,Math,我试图使用XAML中ArcSegment元素的属性来计算圆弧的边界矩形 ArcSegment元素具有以下属性: 1) 起点:弧的起点 2) 点:圆弧的端点 3) 尺寸:椭圆的X和Y半径 4) 旋转角度:定义弧相对于X轴的椭圆旋转角度 5) IsLargeArc:指示要绘制椭圆的哪一部分的标志(即,小圆弧或大圆弧) 5) 扫掠方向:指定顺时针或逆时针方向 请注意,如果无法使用“大小”属性中指定的半径和“旋转角度”属性中指定的旋转角度的组合来渲染圆弧,则将缩放椭圆 任何人都能说出他们是如何计算上述情

我试图使用XAML中ArcSegment元素的属性来计算圆弧的边界矩形

ArcSegment元素具有以下属性: 1) 起点:弧的起点 2) 点:圆弧的端点 3) 尺寸:椭圆的X和Y半径 4) 旋转角度:定义弧相对于X轴的椭圆旋转角度 5) IsLargeArc:指示要绘制椭圆的哪一部分的标志(即,小圆弧或大圆弧) 5) 扫掠方向:指定顺时针或逆时针方向

请注意,如果无法使用“大小”属性中指定的半径和“旋转角度”属性中指定的旋转角度的组合来渲染圆弧,则将缩放椭圆


任何人都能说出他们是如何计算上述情况下的比例因子的。

他们实际上参考的是半长轴和半短轴,而不是半径。终点是固定的。这意味着,如果以下两个角度都是固定的(而且都是固定的),则必须调整比例:圆弧所对的角度以及长轴和x轴所对的角度。您不能指定所有这些参数,仍然可以在下面自由选择a和b,这只是椭圆的参数形式[旋转回与Y轴和X轴对齐]

x(θ),y(θ)=(a cosθ,b sinθ)

这意味着比例因子就是c值,这样

对于φ的初始值,x(φ),y(φ)=(ca-cosφ,cb-sinφ)=(x1,y1)


(ca cosφ,cb sinφ)=(x2,y2)表示φ的最终值。显然,这里给出的解释只有在椭圆旋转时才是正确的。但一个点围绕另一个点旋转不太可能给您带来太多麻烦。

它们实际上是指半长轴和半短轴,而不是半径。终点是固定的。这意味着,如果以下两个角度都是固定的(而且都是固定的),则必须调整比例:圆弧所对的角度以及长轴和x轴所对的角度。您不能指定所有这些参数,仍然可以在下面自由选择a和b,这只是椭圆的参数形式[旋转回与Y轴和X轴对齐]

x(θ),y(θ)=(a cosθ,b sinθ)

这意味着比例因子就是c值,这样

对于φ的初始值,x(φ),y(φ)=(ca-cosφ,cb-sinφ)=(x1,y1)

(ca cosφ,cb sinφ)=(x2,y2)表示φ的最终值。显然,这里给出的解释只有在椭圆旋转时才是正确的。但是一个点围绕另一个点旋转不太可能给您带来太多麻烦