Итак, у меня есть фрагмент кода, который сдвигает точку (x, y) в соответствии с вводом пользователем смещения x, смещения y и поворота (тета). точка является структурным типом pointA с float x и float y. Я создал функции для смещения x и y, но я не уверен, как приблизиться к повороту с учетом угла, я знаю, что мне нужно передать структуру через функцию, чтобы получить выходные данные x и y, но я не уверен, как это сделать -А совет, пожалуйста. Вот мой код:
#include <stdio.h>
#include <math.h>
float xNew(float x, float x2);
float yNew(float y, float y2);
float Rotate(float x, float y, float angle);
voide main()
{
typedef struct
{
float x;
float y;
}coordinate;
cooardinate pointA;
float x, y, x2, y2;
printf("Enter coordinates>");
scanf("%f%f, &pointA.x, &pointA.y);
printf("Enter x offset>");
scanf(%f, &x2);
x = xNew(pointA.x, x2);
printf("Enter y offset>");
scanf("%f", &y2);
y = yNew(PointA.y, y2);
/*enter rotation call function here*/
printf("offsets were %f%f\n", x2, y2);
printf("rotation was %f degrees\n", theta);
pointA.x = x;
pointA.y = y;
printf("struc coords are now %f%f", pointA.x, pointA.y);
}
printf("new coords are%f%f\n", x, y);
float xNew(float x, float x2)
{
float xpos;
xpos = x + x2;
return(xpos);
}
float yNew(float y, float y2)
{
float ypos;
ypos = y + y2;
return(ypos);
/enter rotation function declaration here*/
}