坐标中c语言作正弦图,C语言绘制余弦、正弦曲线
绘制余弦曲线
要求:在屏幕上用“*”(星号)显示0°~360°的余弦函数cos(x)曲线。(不使用数组)
问题分析与算法设计
对一般的显示器来说,只能按行输出,即:输出第一行信息后,想能向下一行输出,不能再返回到上一行。为了获得一个周期(0°~360°)的余弦函数图形,j就必须在一行中一次输出两个“*”。
为了同时得到余弦函数cos(x)图形在一行上的两个点,考虑利用cos(x)的左右对称性。将屏幕行方向定义为x,列方向定义为y。若定义图形的总宽度为62行,计算出x行0°~180°时y点坐标m,那么在同一行与之对称的180°~360°的y点坐标就应为62-m。程序中利用反余弦函数acos计算坐标(x,y)的对用关系。
程序说明与注释
/****************绘制0~2PI区间内的余弦曲线****************/
/***********编者:董炳政******编写时间2018/07/20**********/
/*******************************************************/
#include
#include
int main()
{
double y; /*纵坐标y*/
int x,m; /*横坐标x*/
for(y = 1;y >= -1;y -= 0.1) /*纵轴y从1~-1,步长为0.1*/
{
m=acos(y)*10; /*利用math.h中的反余弦函数,求对应横坐标的值,此时m为int型变量*/
for(x = 1;x < m;x++) /*开始逐行打点*/
printf(" "); /*在曲线定点右侧,打印空格*/
printf("*"); /*第一个曲线定点打印“*”*/
for(;x < 62-m;x++) /*开始打印对称曲线定点,由于对称性x的终值为62-m*/
printf(" "); /*在两定点之间打印空格*/
printf("*\n"); /*第二个曲线定点打印“*”,并换行*/
}
return 0;
}
运行结果:
[root@localhost 1_drawingcos]# ./drawingcos
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
**
绘制正弦曲线
在已经会绘制余弦曲线的基础上,我们来进一步探索如何利用C语言绘制正弦函数。
问题分析:
很自然的,我们想到将acos(y)换成asin(y),不就可以把画余弦函数换成画正弦函数了吗。可是,事实并没有那么简单。首先,0°~360°的正弦函数并不是一个简单的左右对称的图形;其次,反三角函数x=asin(y)的值域为(-π/2,π/2),所以并不能通过简单的求反三角函数值计算出(π,2π)这一段图形的横坐标。
这里提供一种方法。我们可以通过计算asin(y)来得到(0,π/2)这一段图形的横坐标;利用(0,π/2)的图形和(π/2,π)关于x=π/2轴对称,来得到(π/2,π)这一段图形的横坐标;通过计算π+asin(-y)的值,来得到(π,2π)这一段图形的横坐标。
/****************绘制0~2PI区间内的弦曲线****************/
/***********编者:董炳政******编写时间2018/07/20**********/
/*******************************************************/
#include
#include
#define PI 3.14159
int main()
{
double y; /*纵坐标y*/
int x,m; /*横坐标x*/
for(y = 1;y >= 0;y -= 0.1) /*先求0~PI,纵轴y从1~0,步长为0.1*/
{
m=asin(y)*10; /*利用math.h中的反正弦函数,求对应横坐标的值,此时m为int型变量*/
for(x = 1;x < m;x++) /*开始逐行打点*/
printf(" "); /*在曲线定点右侧,打印空格*/
printf("*"); /*第一个曲线定点打印“*”*/
for(;x < 31-m;x++) /*开始打印对称曲线定点,由于0~PI的对称性x的终值为31-m*/
printf(" "); /*在两定点之间打印空格*/
printf("*\n"); /*第二个曲线定点打印“*”,并换行*/
}
for(y -= 0.1;y >= -1;y -= 0.1)
{
m=(PI+asin(-y))*10;
for(x=1;x
printf(" ");
printf("*\n");
for(;x
printf(" ");
printf("*\n");
}
return 0;
}
运行结果:
[root@localhost 1_drawingcos]# ./drawingsin
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
**
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。
坐标中c语言作正弦图,C语言绘制余弦、正弦曲线相关推荐
- c语言中栈区运用原理形象图,C语言实现使用动态数组来构造栈结构
我在面前一篇博客<C语言实现使用静态数组来构造栈结构>中使用了静态数组来模拟栈的操作.静态数组的大小是在代码中写死的.是存储在用户栈上面的,使用起来不灵活.在这篇博客中我会使用动态数组来构 ...
- R语言acres92 region_R语言作Circos图之进阶篇:圈圈套圈圈的法门
如果把一组数据表组成一个列表(list),panel.fun则迭代用于各个数据表.再随机生成一个list来观察它的结构: bedlist = list( bed01=generateRandomBed ...
- r语言remarkdown展示图_R语言中的十个小技巧
一.switch函数 我喜欢swith().它基本上是根据另一个变量的值来选择其值的if语句的一个方便的缩写.我发现当我编写代码时,根据您先前的选择需要加载不同的数据集时,它特别有用.例如,如果您有一 ...
- c语言窗口贴图,c语言添加图片
<c语言添加图片>由会员分享,可在线阅读,更多相关<c语言添加图片(10页珍藏版)>请在人人文库网上搜索. 1.3.1背景如何实现首先将制作好的背景图片("BackG ...
- r语言remarkdown展示图_R语言—自动报告Markdown笔记
一句话介绍:Markdown是一种轻量级标记语言,内容是代码与文本的混合,类似HTML,但语法比HTML简单. &. 比如:如果你写: 4<5 ,Markdown将会把他转换为: 4&l ...
- MATLAB中,信号的频谱图该怎么绘制?横坐标如何标注出频率值?
一.什么是频谱? 频谱的全称是频率谱密度.在对时域信号进行认识和研究的过程中非常不便,那我们该如何更直观地认识信号,更清楚地了解信号的特点呢? 利用傅里叶变换将时域信号变换到频域. 我们知道,在通信领 ...
- r语言 精美rda图_R语言动态图可视化:如何、创建具有精美动画的图
原文链接:http://tecdat.cn/?p=8003tecdat.cn 演示数据集library(gapminder) head(gapminder) ## # A tibble: 6 x 6 ...
- matlab中怎么画五维图,使用MatLab绘制散点图的方法
使用MatLab绘制散点图的方法: 1.首先从给出的excel表格中采用数据筛选方法,将所有某类型地区的相关数据全部筛选 出来.例如第1类区域的数据如下: 4043 1895 14 1 9.17 24 ...
- r语言remarkdown展示图_R语言knitr之rmarkdown
R语言knitr之rmarkdown 数据报告是作为数据分析师必不可少的工作之一,而目前大部分数据分析师所处环境可能是excel画图制表,然后制作成word或者email的方式.对于周期性的报告,每次 ...
- r语言remarkdown展示图_R语言学习笔记--R bookdown图表设置中英文双标题
一. 测试文档,该文档修改自 bookdown 的官方中文模板. 该方案可以实现同时生成pdf和html两种格式的文件,pdf文件中实现双标题,html文件可正常生成单个标题. 二. 结合 CTEX ...
最新文章
- PLY库-实现最简单的sql语法的数据库
- IHelloWorldService
- 深度学习的三种硬件方案:ASIC,FPGA,GPU;你更看好?
- 将某个字段改为不重复(unique)
- java 创建以太坊代币_以太坊 (五)编写智能合约-建立简易加密代币
- codemirror java代码_codemirror使用(示例代码)
- Linux读写执行权限
- Android设计模式(十五)--备忘录模式
- Python多级菜单
- php判断汉字是否相等,JavaScript
- 华为认证hcia含金量_华为hcna认证含金量高吗 华为hcna认证用处大吗
- 通过蓝牙连接进行ActiveSync同步
- div中img居中显示
- 深度学习数据集—鞋子、凉鞋和靴子图片数据集介绍
- read/write 阻塞/非阻塞
- 导出单帧图片以及时间线介绍(PR)
- 使用python+selenium谷歌浏览器驱动查排名
- 第1131期AI100_机器学习日报(2017-10-23)
- CSS3 制作正方体
- 什么是强化学习呢,来涨波知识