绘制心形函数步骤

文章目录

  • 前言
  • 一、绘图库
    • 1.介绍EasyX库
    • 2.引入EasyX库
  • 二、使用步骤
    • 1.引入库
    • 2.写一个函数

前言

很多学习C/C++语言的学生只知道写字符和数字的输入输出,不知道如何绘图,今天给大家带来的是用C语言绘制心形图形。


一、EasyX

1.

EasyX 是什么?

EasyX Graphics Library 是针对 Visual C++ 的免费绘图库,支持 VC6.0 ~ VC2022,简单易用,学习成本极低,应用领域广泛。目前已有许多大学将 EasyX 应用在教学当中。

2.EasyX 绘图库目前支持 VC6.0 ~ VC2019 所有版本。可以到 EasyX 官网 https://easyx.cn 直接下载:

二、使用步骤

1.引用函数库

代码如下(示例):

#include <graphics.h>
#include <conio.h>

graphics 图形库函数

conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。

这里我们需要使用

绘图的

arc

这个函数用于画椭圆弧。

fillpie

这个函数用于画有边框的填充扇形。

initgraph

这个函数用于初始化绘图窗口。

setlinestyle

这个函数用于设置当前设备画线样式。

_getch

用于忽略返回值。

closegraph

这个函数用于关闭绘图窗口。

2.写一个函数

图形函数
void xx(int x, int  y, int r)                        //x是图形的横坐标,y是纵坐标,r是半径
{
    double pi = 3.14159;                        //由于需要画椭圆需定义一个Π值
    arc(-2 * r + x, r + y, x, -r + y, 0, pi);        //前两个参数求椭圆的位置,有一个参数求椭圆的弧度
    arc(2 * r + x, r + y, x, -r + y, 0, pi);
    arc(-2 * r+x, y+3 * r, 4 * r+x, -3 * r+y, pi, pi * 250 / 180);
    arc(-4 * r+x, 3 * r+y, 2 * r+x, -3 * r+y, pi * 290 / 180, pi * 2);
}

试一试效果

绘图先初始化窗口

initgraph(600,400);

再设定线条的属性

setlinestyle(PS_SOLID, 1);

同时为了看到图像,使用忽略返回值函数_getch();

然后关闭窗口 closegraph();

#include <graphics.h>
#include <conio.h>
void xx(int x, int  y, int r)
{double pi = 3.14159;arc(-2 * r + x, r + y, x, -r + y, 0, pi);arc(2 * r + x, r + y, x, -r + y, 0, pi);arc(-2 * r+x, y+3 * r, 4 * r+x, -3 * r+y, pi, pi * 250 / 180);arc(-4 * r+x, 3 * r+y, 2 * r+x, -3 * r+y, pi * 290 / 180, pi * 2);
}
int main()
{initgraph(600,400);setlinestyle(PS_SOLID, 1);xx(100,200,50);_getch();closegraph();return 0;
}


同样我们可以得出图像函数

由于是实心的所以使用扇形函数fillpie

void tx(int x, int y, int r)
{
    double pi = 3.14159;
    fillpie(-2 * r + x, r + y, x, -r + y, 0, pi);
    fillpie(2 * r + x, r + y, x, -r + y, 0, pi);
    fillpie(-2 * r + x, y + 3 * r, 4 * r + x, -3 * r + y, pi, pi * 250 / 180);
    fillpie(-4 * r + x, 3 * r + y, 2 * r + x, -3 * r + y, pi * 290 / 180, pi * 2);
}

现在放到一起看效果

所以。我们可以得出函数是正确的

最终得到函数及其展示

#include <graphics.h>
#include <conio.h>
void xx(int x, int  y, int r)
{double pi = 3.14159;arc(-2 * r + x, r + y, x, -r + y, 0, pi);arc(2 * r + x, r + y, x, -r + y, 0, pi);arc(-2 * r+x, y+3 * r, 4 * r+x, -3 * r+y, pi, pi * 250 / 180);arc(-4 * r+x, 3 * r+y, 2 * r+x, -3 * r+y, pi * 290 / 180, pi * 2);
}
void tx(int x, int y, int r)
{double pi = 3.14159;fillpie(-2 * r + x, r + y, x, -r + y, 0, pi);fillpie(2 * r + x, r + y, x, -r + y, 0, pi);fillpie(-2 * r + x, y + 3 * r, 4 * r + x, -3 * r + y, pi, pi * 250 / 180);fillpie(-4 * r + x, 3 * r + y, 2 * r + x, -3 * r + y, pi * 290 / 180, pi * 2);
}
int main()
{initgraph(600,400);setlinestyle(PS_SOLID, 1);xx(100,200,50);tx(400, 200, 50);_getch();closegraph();return 0;
}

C语言-绘图-心形函数相关推荐

  1. matlab实例——动态心形函数及其涉及的知识点

    心形 特别感谢 心形函数1 心形函数2 知识点 figure(...)函数的一些用法 第一种用法最简单 第二种用法 第三种用法 最后一种用法 set函数 num2str(n)解释 ezplot一维绘图 ...

  2. 绘制动态心形图案::R语言绘制心形图

    原始方程源于此贴一楼:直通车 整理修改后: 被窝修改成这样: x<-seq(-1.1,1.1,length = 3000) rep<-30 y<-matrix(,3000,rep) ...

  3. 心形函数用计算机怎么画,怎么用几何画板画爱心,真神奇!

    原标题:怎么用几何画板画爱心,真神奇! 爱心的形状除了能用一些普通的画图工具绘制,还可以借助强大的几何绘图软件--几何画板,千万不要以为几何画板只能画一些基本几何图形,其实它的功能强大着呢. 其实在使 ...

  4. 笛卡尔心形函数表达式_几何画板制作笛卡尔心形函数的详细操作方法

    朋友们或许不知道几何画板怎样制作笛卡尔心形函数的详细操作,那么今天绿软吧就讲解几何画板制作笛卡尔心形函数的详细操作方法哦,希望能够帮助到大家呢. 1.新建参数.右键绘图区空白处,"新建参数& ...

  5. 逐行分析如何用C语言输出心形图案(详细教学)

    逐行分析如何用C语言输出心形图案 相信你看完之后,会有收获的! 首先我先在每行代码上标上序号 (已自动标志) #include<stdio.h>int main() {float a,x, ...

  6. matlab绘制心形函数

    matlab 7.0 绘制二维.三维心形函数 又到周六,下周就要迎来春节小长假了,想想都有些激动.在外漂了一整年,总于可以回家和父母团聚了,还有吃好吃的...,哎呀~想想都流口水呢.不过先不要激动,假 ...

  7. OpenGL绘制心形函数

    OpenGL绘制心形函数 用的最后一个 r =(float) (r_beishu*(Math.sin(Math.PI*i/180f)*Math.sqrt(Math.abs(Math.cos(Math. ...

  8. vbs画动态爱心代码_用C语言实现心形表白程序[酷炫动态版]

    前几天给大家放一个C语言实现心形表白功能的程序,许多小白觉得有意思,今天给大家再放一个更炫酷的表白程序,有需要的童鞋拿去吧~ 先看看效果图吧: 因为是动图,所以只能象征性给大家截图啦~ 怎么样?童鞋们 ...

  9. C语言实现心形表白程序

    版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.csdn.net/qq_42680327    C语言实现心形表白程序[酷炫动态版] : 效果图如下: 源码如下: #in ...

最新文章

  1. vue-cli3 一直运行 /sockjs-node/info?t= 解决方案
  2. python爬虫用到的一些东西
  3. Java clone浅复制与深复制的区别
  4. 【转】函数调用时堆栈变化
  5. android记事本项目案例,Android实现记事本项目完整实例源代码
  6. iview实现多文件上传,前段到后台
  7. win32api window2con 模块 -系统注册表操作
  8. android画面传输到电视,如何将手机内容投屏到电视上?
  9. 电脑唯一标识_什么是电脑网卡物理地址以及2种查询物理地址的方法?
  10. CentOS7设置环境变量
  11. .vbb文件转换为.txt文件
  12. 维视智造机器视觉表面缺陷检测技术
  13. 巨头争云存储祭免费旗 或重演视频业消耗战
  14. 计算机源代码可以用中文吗,为什么很多人说电脑程序不能使用中文呢?
  15. 【三 HLS】HLS实现肤检测
  16. android闹钟报告分析,Android AlarmClock 闹钟应用 简单分析
  17. font-awesome样式只显示方框
  18. win10彻底关闭windows defender的两种方法
  19. jsp页面九大隐含对象
  20. 深信服上网行为管理开启snmp_深信服上网行为管理部署方式及功能实现配置说明....

热门文章

  1. java毕业设计洗衣美源码+lw文档+mybatis+系统+mysql数据库+调试
  2. 鸿蒙系统开发火吗,有人不想华为鸿蒙系统火起来,但我就想吹爆!
  3. java中 Integer.parseInt()和Integer.valueOf(“str”).intValue()方法的应用
  4. oracle 检索行号,sql使用row_number()查询标记行号
  5. SonicWall端口映射
  6. Spring 线程池使用
  7. [新知速递04] flex布局设置主轴/侧轴对其方式 总结梳理
  8. ios自用url整理
  9. 什么蓝牙耳机质量好,2021最好的蓝牙耳机排行榜
  10. [转帖] 搞笑段子 生活需要娱乐.