浪漫情人节|C语言画心型
1.前言
新年第一天上班,先祝大家新年快乐,巧的是,今天刚好又是情人节,所以想了下用C实现画心形符号~
2.心形符号数学公式
Heart Curve — from Wolfram MathWorld
这个网站里面的公式,我随便挑了一个

公式如下
3.代码如下
代码里面有注释,不理解的可以自己运行调试
easyx 下载链接如下
#include <stdio.h> #include <easyx.h> #include <math.h> #define X 480 #define Y 480 int main() { int i, j; /*初始化X,Y缓冲区*/ initgraph(X, Y); /*设置背景颜色*/ setbkcolor(WHITE); /*用于清除图形屏幕*/ cleardevice(); for (i = 0; i<X; i++) { for (j = 0; j<Y; j++) { /*i,j就是坐标轴,但是因为没有负数,所以需要做平移操作*/ double t1 = j / 100.0 - 2, t2 = -(i / 100.0 - 2.5); /*判断是否在区间范围内*/ if(pow(pow(t1,2) +pow(t2,2) -1,3) -pow(t1,2)*pow(t2,3) < 0.0) putpixel(j, i, RED); } } getchar(); return 0; }
4.运行结果
5. 换一个方式实现一下
代码如下
#include <iostream> #include <cmath> #include <string> using namespace std; int main() { string s = "I love xiaoyun!"; for (float y = 1.1; y >= -1.1; y -= 0.06) { int index = 0; for (float x = -1.1; x <= 1.1; x += 0.025) if (pow((x*x + y*y - 1.0), 3) - x*x*y*y*y <= 0.0) cout << s[(index++) % s.size()]; else cout << ' '; cout << endl; } getchar(); return 0; }
运行输出如下
原文地址:https://zhuanlan.zhihu.com/p/56680919
相关推荐
-
双色Hanoi塔问题 c/c++
2019-3-28
-
【数据结构】14_线性表的本质和操作 c/c++
2020-6-15
-
不懂C语言回调函数,那就看这篇文章吧! c/c++
2019-3-30
-
基于OpenSSL的HTTPS通信C++实现 c/c++
2019-5-13
-
node.js调用C++函数 c/c++
2019-3-28
-
C/C++ 修改系统时间,导致sem_timedwait 一直阻塞的问题解决和分析 c/c++
2019-9-1
-
C语言 printf详解 c/c++
2019-3-30
-
C语言初学者关于数组指针的深度讨论 c/c++
2019-9-19
-
Balabala函数的启动和退出机制 c/c++
2019-11-2
-
数据结构:图概念与基本图实现 c/c++
2019-3-28