用c++代码写一个逆时针自转的三角形从屏幕左上角沿着正弦曲线移动到屏幕右下角的代码
时间: 2024-05-08 18:21:23 浏览: 59
以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <windows.h>
#define PI 3.14159265358979323846
int main() {
int i;
int x, y;
double angle = 0.0;
const int width = 80;
const int height = 25;
const double frequency = 1.0 / 20.0;
const double amplitude = height / 4.0;
const double phaseShift = PI / 2.0;
while (1) {
system("cls");
for (y = 0; y < height; y++) {
for (x = 0; x < width; x++) {
int dx = x - width / 2;
int dy = y - height / 2;
double distance = sqrt(dx * dx + dy * dy);
double displacement = amplitude * sin(2 * PI * frequency * distance + angle + phaseShift);
int newX = x + (int)displacement;
if (newX < 0) newX += width;
if (newX >= width) newX -= width;
if (newX == width - 1) printf("*\n");
else printf("*");
}
}
angle += 0.1;
Sleep(50);
}
return 0;
}
```
这个程序使用正弦曲线来控制三角形的位置,它不断地在屏幕上旋转并沿着正弦曲线移动。您可以尝试更改不同的频率、振幅和相位移位来生成不同的运动效果。
阅读全文