Domanda

Apple CoreGraphics libreria definisce due funzioni per descrivere un arco.

  • CGPathAddArc aggiunge un arco sulla base di un punto centrale, un raggio e un paio di angoli.
  • CGPathAddArcToPoint aggiunge un arco sulla base di un raggio e un paio di tangenti.

I dettagli sono spiegati in il CGPath API di riferimento.Perché due funzioni?Semplice convenienza?È una più efficiente rispetto agli altri?È quello definito in termini di altri?

È stato utile?

Soluzione

L'ex si ottiene una porzione di un cerchio (in realtà, un'approssimazione di uno), mentre il secondo espone il fatto che si sta creando una curva di Bézier percorso.A seconda di che cosa si sta effettivamente disegno, uno o l'altro potrebbe essere più conveniente.Si potrebbe davvero prendere in considerazione entrambe le convenienze per CGPathAddCurveToPoint.

Altri suggerimenti

CGContextAddArc significa questo:

addArc

dove la linea rossa è ciò che verrà disegnata, sA startAngle, eA è il endAngle, r è radius, e x e y sono x e y.Se si dispone di un punto precedente, la funzione di linea da questo punto di partenza dell'arco (a meno che non si sta attenti a questa linea, non ci va nella stessa direzione come l'arco).

CGContextAddArcToPoint funziona in questo modo:

addArc

Dove P1 è il punto corrente del percorso, la x1, x2, y1, y2 corrispondono le funzioni x1, x2, y1, y2 e r si radius.L'arco avrà inizio nella stessa direzione, come la linea tra il punto corrente e (x1, y1) e la direzione tra (x1, y1) e (x2, y2).non linea (x2, y2) Si fermerà alla fine del cerchio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top