21xrx.com
2024-06-03 06:11:33 Monday
登录
文章检索 我的文章 写文章
用C++编写心形图案
2023-07-05 01:51:59 深夜i     --     --
C++ 心形图案 编程 循环语句 输出函数

如果你正在学习编程,那么写一些有趣的图案可以让你更好地理解编程语言中的控制结构和循环语句。在本文中,我们将介绍如何使用C++编写一个令人惊叹的心形图案。

首先,让我们一起来看看心形图案的形状。心形图案由两个圆弧相交而成,这需要用到一些数学公式来计算圆的位置和弧线的角度。幸运的是,C++已经提供了很多函数和库来处理这些问题。

在本例中,我们将使用C++的图形库`graphics.h`来绘制我们的心形图案。该库提供了一系列用于绘图的函数,包括`circle()`、`arc()`和`line()`等等。

下面是一段C++代码来绘制一个基本的圆型:


#include<graphics.h>

int main() {

 int gd = DETECT, gm;

 initgraph(&gd, &gm, "");

 circle(100, 100, 50);

 getch();

 closegraph();

 return 0;

}

在上面的代码中,`initgraph()`函数用于初始化图形模式,并打开一个新的绘图窗口,然后我们使用`circle()`函数画出一个半径为50的圆。最后,我们使用`getch()`函数暂停程序,等待用户按下任意键后退出,使用`closegraph()`函数关闭图形模式。

有了基本的圆形绘制知识,现在让我们开始画心形图案。我们将使用下面这个函数来计算圆弧的弧度:


float degreesToRadians(float degrees) {

 return degrees * 3.14159 / 180.0;

}

上面的函数通过将一个角度度数转换为弧度度数来计算圆弧。我们将在心形图案的绘制函数中使用该函数。

现在,让我们来写一个函数来绘制心形图案:


#include<graphics.h>

#include<math.h>

float degreesToRadians(float degrees) {

 return degrees * 3.14159 / 180.0;

}

void drawHeart() {

 int gd = DETECT, gm;

 initgraph(&gd, &gm, "");

 for (int i = 0; i <= 360; i++) {

  int x = round(16 * pow(sin(degreesToRadians(i)), 3));

  int y = round(13 * cos(degreesToRadians(i)) - 5 * cos(degreesToRadians(2 * i)) - 2 * cos(degreesToRadians(3 * i)) - cos(degreesToRadians(4 * i)));

  putpixel(200 + x, 200 - y, WHITE);

  delay(10);

 }

 getch();

 closegraph();

}

int main() {

 drawHeart();

 return 0;

}

在上面的代码中,`drawHeart()`函数采用了一个循环来迭代弧度,使用心形图案的数学公式计算出每个点的坐标(x,y),然后使用`putpixel()`函数将这些点绘制在屏幕上。 在这个例子中,我们使用的是putpixel()显示,也可以使用其他的方式来显示图案.

我们的心形图案绘制函数就完成了,现在我们只需要调用该函数即可看到无尽的爱心。

好了,现在你已经知道了C++编写心形图案所需要的所有知识和技巧。快拿起你的代码编辑器试试吧!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复