Maison >développement back-end >C++ >Comment faire pivoter un point 2D autour d'un autre point ?
Rotation d'un point autour d'un autre point (2D)
Pour déterminer les points qui définissent une forme pour la détection de collision, il est nécessaire de faire pivoter les points autour d’un point pivot. Dans ce cas, le point pivot est le centre de la forme.
Pour faire pivoter un point p autour d'un autre point (cx, cy) d'un angle en radians, suivez ces étapes :
Traduisez le point jusqu'à l'origine en soustrayant (cx, cy):
p.x -= cx; p.y -= cy;
Faites pivoter le point dans le sens inverse des aiguilles d'une montre:
float xnew = p.x * cos(angle) - p.y * sin(angle); float ynew = p.x * sin(angle) + p.y * cos(angle);
Traduisez le point en ajoutant (cx, cy ):
p.x = xnew + cx; p.y = ynew + cy;
En utilisant cette méthode, vous pouvez faire pivoter n'importe quel point autour de n'importe quel autre point et déterminer la forme d'un objet pour la détection de collision.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!