流程
展示结果
代码
解析
结束
最终运行结果
代码展示
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
void drawlove() //画出爱心核心模块
{
for (double x = -2; x <= 0; x = x + 0.001)
{
double y = sqrt(1 + x * 0.5);
for (int k = 0; k <= y * 170; k++)
{
putpixel(x * 100, k, RED);
}
y = -(sqrt(1 - (pow(x + 1, 2))));
for (int k = y * 100; k <= 0; k++)
{
putpixel(x * 100, k, RED);
}
}
for (double x = 0; x <= 2; x = x + 0.001)
{
double y = sqrt(1 - x * 0.5);
for (int k = 0; k <= y * 170; k++)
{
putpixel(x * 100, k, RED);
}
y = -(sqrt(1 - (pow(x - 1, 2))));
for (int k = y * 100; k <= 0; k++)
{
putpixel(x * 100, k, RED);
}
}
}
void TWINKLE() //随机设置背景颜色
{
int k = rand()%8 + 1;
switch (k)
{
case 1:setbkcolor(WHITE);
break;
case 2:setbkcolor(BLUE);
break;
case 3:setbkcolor(GREEN);
break;
case 4:setbkcolor(CYAN);
break;
case 5:setbkcolor(MAGENTA);
break;
case 6:setbkcolor(BROWN);
break;
case 7:setbkcolor(BROWN);
break;
case 8:setbkcolor(LIGHTCYAN);
break;
default:setbkcolor(YELLOW);
break;
}
}
int main()
{
srand((unsigned int)time(NULL));
initgraph(640,640);
setorigin(320,320);
while (1)
{
drawlove();
TWINKLE(); //闪烁屏幕
Sleep(400);
clearcliprgn();
}
_getch(); //按任意键继续
closegraph();
return 0;
}
解析
首先你需要EasyX图形库的基本知识。
那么解析开始。
我把爱心图形分成三部分来绘画<两个半圆和一个特殊函数>,使用了一些数学函数知识参考链接:https://blog.csdn.net/Eric_Eric__/article/details/119901332 注:abs()是求绝对值的函数,sqrt()是求算数平方根的值
解析是跟着函数一步一步走的
最后就在死循环一直重复这个过程。
结束语
再次提醒需要去下载EasyX,下载地址:https://easyx.cn/download/EasyX_20220901.exe (官网地址:https://easyx.cn)
嗯!应该没漏什么。