#include <stdio.h>
#include <math.h>
#define PI 3.14159265
void rotatePoint( float * x, float * y, float angle) {
// Convert angle from degrees to radians
float rad = angle * ( PI / 180.0 ) ;
// Rotation matrix
float x_new
= * x
* cos ( rad
) - * y
* sin ( rad
) ; float y_new
= * x
* sin ( rad
) + * y
* cos ( rad
) ;
* x = x_new;
* y = y_new;
}
int main( ) {
float x, y, angle;
// Input original point coordinates
printf ( "Enter the x coordinate of the point: " ) ; printf ( "Enter the y coordinate of the point: " ) ;
// Input rotation angle
printf ( "Enter the rotation angle (in degrees): " ) ;
// Rotate the point
rotatePoint( & x, & y, angle) ;
// Display the new coordinates
printf ( "New coordinates after rotation: (%.2f, %.2f)\n " , x
, y
) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgojZGVmaW5lIFBJIDMuMTQxNTkyNjUKCnZvaWQgcm90YXRlUG9pbnQoZmxvYXQgKngsIGZsb2F0ICp5LCBmbG9hdCBhbmdsZSkgewogICAgLy8gQ29udmVydCBhbmdsZSBmcm9tIGRlZ3JlZXMgdG8gcmFkaWFucwogICAgZmxvYXQgcmFkID0gYW5nbGUgKiAoUEkgLyAxODAuMCk7CiAgICAKICAgIC8vIFJvdGF0aW9uIG1hdHJpeAogICAgZmxvYXQgeF9uZXcgPSAqeCAqIGNvcyhyYWQpIC0gKnkgKiBzaW4ocmFkKTsKICAgIGZsb2F0IHlfbmV3ID0gKnggKiBzaW4ocmFkKSArICp5ICogY29zKHJhZCk7CiAgICAKICAgICp4ID0geF9uZXc7CiAgICAqeSA9IHlfbmV3Owp9CgppbnQgbWFpbigpIHsKICAgIGZsb2F0IHgsIHksIGFuZ2xlOwoKICAgIC8vIElucHV0IG9yaWdpbmFsIHBvaW50IGNvb3JkaW5hdGVzCiAgICBwcmludGYoIkVudGVyIHRoZSB4IGNvb3JkaW5hdGUgb2YgdGhlIHBvaW50OiAiKTsKICAgIHNjYW5mKCIlZiIsICZ4KTsKICAgIHByaW50ZigiRW50ZXIgdGhlIHkgY29vcmRpbmF0ZSBvZiB0aGUgcG9pbnQ6ICIpOwogICAgc2NhbmYoIiVmIiwgJnkpOwoKICAgIC8vIElucHV0IHJvdGF0aW9uIGFuZ2xlCiAgICBwcmludGYoIkVudGVyIHRoZSByb3RhdGlvbiBhbmdsZSAoaW4gZGVncmVlcyk6ICIpOwogICAgc2NhbmYoIiVmIiwgJmFuZ2xlKTsKCiAgICAvLyBSb3RhdGUgdGhlIHBvaW50CiAgICByb3RhdGVQb2ludCgmeCwgJnksIGFuZ2xlKTsKCiAgICAvLyBEaXNwbGF5IHRoZSBuZXcgY29vcmRpbmF0ZXMKICAgIHByaW50ZigiTmV3IGNvb3JkaW5hdGVzIGFmdGVyIHJvdGF0aW9uOiAoJS4yZiwgJS4yZilcbiIsIHgsIHkpOwoKICAgIHJldHVybiAwOwp9