利用C语言绘制正弦函数
在已经会利用C语言绘制余弦函数的基础上,我们来进一步探索如何利用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π)这一段图形的横坐标。(详细分析过程见文章最后的附图)
具体程序:
#include <stdio.h> //详细分析过程见文章最后的附图
#include <math.h>
#define PAI 3.141592
int main()
{
double y;
double x,m;
double n;
for(y = 1; y >= 0; y -= 0.1)
{
m = asin(y)*10;
for(x = 1; x < m; x++)
{
printf(" ");
}
printf("*");
for( ; x < 31-m; x++)
{
printf(" ");
}
printf("*\n");
}
for( ; y >= -1; y -= 0.1)
{
n = asin(-y);
m = (PAI + n)*10;
for(x = 1;x < m; x++)
{
printf(" ");
}
printf("*");
for( ; x < 94-m; x++)
{
printf(" ");
}
printf("*\n");
}
return 0;
}
运行结果:
详细分析过程:
利用C语言绘制正弦函数相关推荐
- Python:利用python语言绘制多个子图经典案例、代码实现之详细攻略
Python:利用python语言绘制多个子图经典案例.代码实现之详细攻略 目录 利用python语言绘制多个子图代码实现.经典案例 1.绘制多个子图框架 多个子图绘制的经典案例 1.绘制多个直方图 ...
- lisp 非对称缓和曲线_利用AutoLISP语言绘制带缓和曲线的铁路曲线平面图
利用 AutoLISP 语言绘制带缓和曲线的铁路曲线平面图 [ 摘要 ] 通过 AutoLISP 编程方法的剖析 , 探讨了基于 Visual LISP(VLISP) 编程软件环境下 , 利用 Aut ...
- 利用C语言绘制余弦函数
绘制余弦曲线 要求:在屏幕上用"*"(星号)显示0°~360°的余弦函数cos(x)曲线.(不使用数组) 问题分析与算法设计 对一般的显示器来说,只能按行输出,即:输出第一行信息后 ...
- 利用C语言绘制操作系统图像界面
阅读博客的朋友可以参看视频: Linux kernel Hacker, 从零构建自己的内核 有了C语言这一利器后,不多多拿来用,那就太对不起前面的一系列努力了.那么怎么表现C语言的强大功能呢,如果还只 ...
- 利用c语言绘制漫天星空-动画
运行的效果如下: 源代码: // 程序名称:星空 // 编译环境:Visual C++ 6.0,EasyX 2011惊蛰版 // 最后更新:2009-2-22 // #include <grap ...
- linux下c语言写界面,利用C语言绘制操作系统图像界面
有了C语言这一利器后,不多多拿来用,那就太对不起前面的一系列努力了.那么怎么表现C语言的强大功能呢,如果还只是一味的在界面上输出几行字符,那太没意思,考虑到,我们的目标是做出像windows那样具备舒 ...
- 4 利用matlab语言绘制 三角孔,MATLAB在机械教学中的新探索 - 黄山学院学报
?122? 黄山学院学报2010生 例如考虑在500Hz频率条件下所采集的信号号的特征频率分量,编程过程如图3所示. 数据,同时形成了包含频率分别为10Hz.30Hz和60Hz的周期信号,并夹杂进一些 ...
- 利用R语言绘制时间序列图
数据 GDP.csv文件,存储1879~2019年河南省GDP数据 绘图 # 读取数据, 首先将excel 格式的转化为 csv 格式 再读取 h <- read.table(file = &q ...
- R语言绘制棒棒糖图(火柴杆图)
本博客介绍几种利用R语言绘制棒棒糖图(火柴杆图)的方法. 2. 使用原生ggplot方法 最容易也是最简单想到的方法是直接使用ggplot2包进行更新,这里需要使用ggplot本身的特性,通过图层叠加 ...
最新文章
- 树的懒加载怎么用ajax调接口,ElementUI tree树形控件的懒加载使用
- 『高级篇』docker容器来说什么是微服务(三)
- 判断某个点是否在不规则图形内
- linux多线程和锁
- 在VS2003下把一个DataTable Update 到数据库
- Python---通配符的使用
- unable to locate adb , android studio无法识别模拟器和手机
- 富文本编辑器 CKeditor 配置使用 (带附件)
- 【量子机器学习】HHL算法: Quantum algorithm for solving linear systems of equations
- C语言dnf辅助开发,自己会写辅助:10台机器,稳赚额外收入
- 【实习日报】2019年5月 前端开发实习工作日报汇总
- 作业二:wireshark抓包与ping操作
- python数据库开发 dga_使用深度学习检测DGA(域名生成算法)——LSTM的输入数据本质上还是词袋模型...
- (转)2018最新Web前端经典面试试题及答案
- LED驱动芯片AiP650
- android分辨率 尺寸 dpi换算
- 关于Discuz论坛整合问题
- 邻接矩阵存储图并进行深度优先遍历
- 2020王者营地服务器维护,至尊宝重磅返场,王者营地服务器崩溃,只因玩家等待了五年的它...
- 美国有超级计算机的学校,美国计算机排名 - 目前最牛的超级计算机前五名分别是?...
热门文章
- 5. 求cosx计算公式
- empress和queen区别_王后和皇后有什么区别?
- Maven私库使用常见问题:本地安装三方Jar文件
- [Springboot]发送邮件、重置密码业务实战
- 2021年全球手持式工业红外线测温仪行业调研及趋势分析报告
- html图标 白块,桌面图标变成白块了?不用怕,1分钟就搞定!
- 面向数据结构的分析设计方法(JSD)
- 记录一次docker基础操作错误Error response from daemon: You cannot remove a running container
- 垃圾佬收的thinkpad T480
- Unity3D性能优化——工具篇