c语言实现旋转矩阵
时间: 2023-07-13 12:05:11 浏览: 167
旋转矩阵可以用来对二维平面上的点进行旋转操作,其数学表达式为:
```
[x'] = [cos(θ) -sin(θ)] [x]
[y'] [sin(θ) cos(θ)] [y]
```
其中,θ为旋转角度,(x, y)为原点坐标,(x', y')为旋转后的点坐标。
在C语言中,可以使用以下代码实现旋转矩阵:
```c
#include <stdio.h>
#include <math.h>
int main() {
double x, y, theta, x_rotate, y_rotate;
// 输入原点坐标和旋转角度
printf("Enter x: ");
scanf("%lf", &x);
printf("Enter y: ");
scanf("%lf", &y);
printf("Enter theta: ");
scanf("%lf", &theta);
// 计算旋转后的点坐标
x_rotate = cos(theta) * x - sin(theta) * y;
y_rotate = sin(theta) * x + cos(theta) * y;
// 输出旋转后的点坐标
printf("Rotated point: (%.2f, %.2f)\n", x_rotate, y_rotate);
return 0;
}
```
在上述代码中,使用了`cos()`和`sin()`函数来计算旋转矩阵中的cos(θ)和sin(θ),从而得到旋转后的点坐标。注意,输入的旋转角度需要使用弧度制而非角度制。
阅读全文