Je veux construire un CGPathRef
par programme en fonction des coordonnées du soleil à différents moments de la journée. Calculer les points n'est pas un problème, mais je veux faire un CGPathRef
qui est lisse et pensé CGPathAddCurveToPoint
serait approprié. Je comprends les paramètres de chemin, de transformation, de x et de y, mais je ne suis pas sûr des autres. Selon la documentation d'Apple, ils sont les points de contrôle, et je suppose qu'ils sont comme vous le verriez dans un programme de dessin vectoriel où vous pouvez ajuster la façon dont la courbe passe à travers le point.Que signifient les paramètres de CGPathAddCurveToPoint?
Ma question est de savoir comment choisir les points qui se rapportent à mes coordonnées sans savoir quelles sont ces coordonnées à l'avance? Je pense peut-être juste soustraire un montant fixe de chacun des premiers points de contrôle et ajouter la même quantité au deuxième point de contrôle, mais cela semble simplifié pour moi. Existe-t-il une méthode standard pour générer des points de contrôle qui "ont du sens" pour une courbe régulière?
void CGPathAddCurveToPoint (
CGMutablePathRef path,
const CGAffineTransform *m,
CGFloat cp1x,
CGFloat cp1y,
CGFloat cp2x,
CGFloat cp2y,
CGFloat x,
CGFloat y
);
Depuis que je trouve cette question tout en ayant ce problème: Si vous utilisez un logiciel de graphiques vectoriels tel que Illustrator, la signification des points de contrôle est légèrement différent de ce qui est utilisé dans Core Graphics. Si vous avez un chemin [(a1, p1, b1), (a2, p2, b2), ...] où pi sont les points et ai sont les points de contrôle visuellement connectés à eux, le chemin équivalent dans Core Graphics commencerait avec [(b1, p2, a2), ...] (après un moveToPoint pour p1). J'espère que cela est utile à quelqu'un. – mrueg