用c语言编写动态爱心
时间: 2023-10-02 15:08:20 浏览: 85
好的,下面是一个简单的 C 语言代码,可以实现动态爱心的效果,需要用到 `graphics.h` 头文件:
```c
#include <graphics.h>
#include <stdio.h>
#include <math.h>
#define PI 3.1415926
int main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
int x, y, i, j;
double r, theta, heart_x, heart_y;
x = getmaxx() / 2;
y = getmaxy() / 2;
for (i = 0; i < 360; i++) {
r = 100 * sin(PI * i / 180);
theta = i;
heart_x = x + r * cos(PI * theta / 180);
heart_y = y - r * sin(PI * theta / 180);
putpixel(heart_x, heart_y, RED);
}
for (i = 0; i < 360; i++) {
r = 100 * sin(PI * i / 180);
theta = i + 180;
heart_x = x + r * cos(PI * theta / 180);
heart_y = y - r * sin(PI * theta / 180);
putpixel(heart_x, heart_y, RED);
}
for (i = 0; i <= 100; i++) {
for (j = 0; j <= 100; j++) {
if (sqrt(pow(i - 50, 2) + pow(j - 50, 2)) <= 50 - 2 * sqrt(pow(i - 50, 2) + pow(j - 50, 2)) * sin(45 * PI / 180)) {
putpixel(x - 50 + i, y - 50 + j, RED);
}
}
}
getch();
closegraph();
return 0;
}
```
该程序使用了 `graphics.h` 头文件中的函数来实现动态爱心的效果。首先,程序计算出心形曲线的参数方程,并使用 `putpixel()` 函数在屏幕上绘制出心形曲线。然后,程序使用嵌套的循环来绘制爱心的填充部分。在内部循环中,程序检查当前像素是否在爱心的填充区域内,如果在,则使用 `putpixel()` 函数在屏幕上绘制红色像素点。最后,程序使用 `getch()` 函数等待用户按下任意键后退出程序。
阅读全文