easyx下绘制心形图案
在网上找了好久一直没找到,在easyx下画心形的代码,一搜全是在C下的printf图案,转都不好转为easyx的工程,实在不能忍,只好去找找心形曲线的函数,自己动手丰衣食足,修修改改弄了好久,终于达到了较为满意的效果,还是蛮像的,效果如下
这只是基础的,为后续心形图案的应用做点前言
完整代码如下:
////////////////////////////////////////////
// 程序名称:心形图案
// 编译环境:Visual Studio 2013,EasyX 2017-9-19
// 程序编写:鼠瓜
// 最后更新:2018-12-11
//
#include <graphics.h>
#include <conio.h>
#include <math.h>
//绘心形函数
//x0,y0,位置
//size:大小
//COLORREF C:颜色
void heart(int x0, int y0, int size, COLORREF C)
{
double m, n, x, y; double i;
for (i = 0; i <= 2*size; i = i + 0.01)
{
//产生极坐标点
m = i;
n = -size * (((sin(i)*sqrt(fabs(cos(i)))) / (sin(i) + 1.4142)) - 2 * sin(i) + 2);
//转换为笛卡尔坐标
x = n*cos(m) + x0;
y = n*sin(m) + y0;
putpixel(x, y, C);
}
}
void main()
{
initgraph(640, 480);
heart(300,150,80 ,RED);
_getch();
closegraph();
}