Apple の CoreGraphics ライブラリは、円弧を記述するための 2 つの関数を定義します。
- CGPathAddArc は、中心点、半径、および角度のペアに基づいて円弧を追加します。
- CGPathAddArcToPoint は、半径と接線のペアに基づいて円弧を追加します。
詳細はCGPath API リファレンスで説明されています。なぜ2つの機能?シンプルな便利?一方は他方よりも効率的ですか?一方は他方の観点から定義されていますか?
Apple の CoreGraphics ライブラリは、円弧を記述するための 2 つの関数を定義します。
詳細はCGPath API リファレンスで説明されています。なぜ2つの機能?シンプルな便利?一方は他方よりも効率的ですか?一方は他方の観点から定義されていますか?
CGContextAddArc
これを行います:
ここで、赤い線は描画されるもの、sA はstartAngle
、eA はendAngle
、r はradius
、x と y はx
とy
です。前のポイントがある場合、関数はこのポイントから円弧の開始点まで線を引きます (この線が円弧と同じ方向に向かわないように注意しない限り)。
CGContextAddArcToPoint
次のように動作します:
ここで、P1 はパスの現在のポイントであり、x1、x2、y1、y2 は関数x1
、x2
、y1
、y2
および r と一致しますradius
。円弧は、現在の点 と の間の線と同じ方向に開始し、 と の間の(x1, y1)
方向で終了します。円の端で止まります。(x1, y1)
(x2, y2)
(x2, y2)
前者は円の一部 (実際には 1 の近似値) を取得しますが、後者はベジエ パスを作成しているという事実を明らかにします。実際に何を描いているかによって、どちらか一方の方が便利な場合があります。両方とも CGPathAddCurveToPoint の便利さを考えることができます。