我有一個簡單的圖表,用戶可以根據這個圖表確定一個以弧度表示的開始結束方向&。然後控件使用覆蓋OnRender
繪製圖表。我正在用StreamGeometryContext.ArcTo
繪製弧線。此方法具有一個IsLargeArc
屬性,該屬性確定如何繪製圓弧(對於> 180度(PI)爲真,對於180度爲假爲假)。我從工作正常的條件確定此值:弧度兩個角度的差異?
//Rule does not exceed 180 degrees in direction (radian), IsLargeArc= False else true
if (Start < Math.PI && (End - Start) < Math.PI || //currently unknow condition in here to deal with < PI when start angle is > then end angle?)
{
//IsLargeArc = false;
}
else
{
//IsLargeArc= true;
}
問題來開始<結束的時候。例如從270度到120度。在這種情況下,我需要一個條件來滿足超過180度的角度(PI)。數學不是我的強項。我想我需要添加PI * 2到最後,然後以某種方式比較這兩個值,但不知道如何實現這一目標?
一整圈(即360度),等於'2 * pi'弧度,爲你注意。 –
「問題出現在開始<結束時,例如從270度到120度,在這種情況下,我需要一個滿足180度角(PI)的條件」 - 您能詳細說明嗎?預計什麼? – Ian