Déplacer un point autour d’un chemin circulaire

J’ai un point avec des coordonnées 2D. Je dois modifier les valeurs des coordonnées des points afin de suivre une trajectoire circulaire.

Comment pourrais-je implémenter cela en utilisant C?

utiliser le péché et le cos

 for (double t = 0; t < 2*Pi; t += 0.01) { x = R*cos(t) + x_0; y = R*sin(t) + y_0; } 

où:

  • (x_0, y_0) est le centre du cercle
  • R est le raduis

Vous pouvez utiliser les coordonnées polaires:

 X = R * cos (phi) + center_X Y = R * sin (phi) + center_Y 

et changez le phi dans la boucle.

Ou en angle au lieu de radians …

 #include  void Circle(float center_x, float center_y, float radius) { float point_x, point_y; int ctr; for (ctr = 0; ctr < 360; ctr += 1) { point_x = radius * cos(ctr * 3.1415926f / 180.0f) + center_x; point_y = radius * cos(ctr * 3.1415926f / 180.0f) + center_y; } } 

Trace un cercle autour d'un point central, 1 degré à la fois. Vous pouvez incrémenter ctr de n’importe quel montant pour ajuster la taille du pas.

Je crois que vous avez confondu cos () avec sin () avec l’axe des ordonnées. Le code doit être: point_y = rayon * sin (ctr * 3.1415926f / 180.0f) + center_y;