在已经会利用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语言绘制正弦函数相关推荐

  1. Python:利用python语言绘制多个子图经典案例、代码实现之详细攻略

    Python:利用python语言绘制多个子图经典案例.代码实现之详细攻略 目录 利用python语言绘制多个子图代码实现.经典案例 1.绘制多个子图框架 多个子图绘制的经典案例 1.绘制多个直方图 ...

  2. lisp 非对称缓和曲线_利用AutoLISP语言绘制带缓和曲线的铁路曲线平面图

    利用 AutoLISP 语言绘制带缓和曲线的铁路曲线平面图 [ 摘要 ] 通过 AutoLISP 编程方法的剖析 , 探讨了基于 Visual LISP(VLISP) 编程软件环境下 , 利用 Aut ...

  3. 利用C语言绘制余弦函数

    绘制余弦曲线 要求:在屏幕上用"*"(星号)显示0°~360°的余弦函数cos(x)曲线.(不使用数组) 问题分析与算法设计 对一般的显示器来说,只能按行输出,即:输出第一行信息后 ...

  4. 利用C语言绘制操作系统图像界面

    阅读博客的朋友可以参看视频: Linux kernel Hacker, 从零构建自己的内核 有了C语言这一利器后,不多多拿来用,那就太对不起前面的一系列努力了.那么怎么表现C语言的强大功能呢,如果还只 ...

  5. 利用c语言绘制漫天星空-动画

    运行的效果如下: 源代码: // 程序名称:星空 // 编译环境:Visual C++ 6.0,EasyX 2011惊蛰版 // 最后更新:2009-2-22 // #include <grap ...

  6. linux下c语言写界面,利用C语言绘制操作系统图像界面

    有了C语言这一利器后,不多多拿来用,那就太对不起前面的一系列努力了.那么怎么表现C语言的强大功能呢,如果还只是一味的在界面上输出几行字符,那太没意思,考虑到,我们的目标是做出像windows那样具备舒 ...

  7. 4 利用matlab语言绘制 三角孔,MATLAB在机械教学中的新探索 - 黄山学院学报

    ?122? 黄山学院学报2010生 例如考虑在500Hz频率条件下所采集的信号号的特征频率分量,编程过程如图3所示. 数据,同时形成了包含频率分别为10Hz.30Hz和60Hz的周期信号,并夹杂进一些 ...

  8. 利用R语言绘制时间序列图

    数据 GDP.csv文件,存储1879~2019年河南省GDP数据 绘图 # 读取数据, 首先将excel 格式的转化为 csv 格式 再读取 h <- read.table(file = &q ...

  9. R语言绘制棒棒糖图(火柴杆图)

    本博客介绍几种利用R语言绘制棒棒糖图(火柴杆图)的方法. 2. 使用原生ggplot方法 最容易也是最简单想到的方法是直接使用ggplot2包进行更新,这里需要使用ggplot本身的特性,通过图层叠加 ...

最新文章

  1. 树的懒加载怎么用ajax调接口,ElementUI tree树形控件的懒加载使用
  2. 『高级篇』docker容器来说什么是微服务(三)
  3. 判断某个点是否在不规则图形内
  4. linux多线程和锁
  5. 在VS2003下把一个DataTable Update 到数据库
  6. Python---通配符的使用
  7. unable to locate adb , android studio无法识别模拟器和手机
  8. 富文本编辑器 CKeditor 配置使用 (带附件)
  9. 【量子机器学习】HHL算法: Quantum algorithm for solving linear systems of equations
  10. C语言dnf辅助开发,自己会写辅助:10台机器,稳赚额外收入
  11. 【实习日报】2019年5月 前端开发实习工作日报汇总
  12. 作业二:wireshark抓包与ping操作
  13. python数据库开发 dga_使用深度学习检测DGA(域名生成算法)——LSTM的输入数据本质上还是词袋模型...
  14. (转)2018最新Web前端经典面试试题及答案
  15. LED驱动芯片AiP650
  16. android分辨率 尺寸 dpi换算
  17. 关于Discuz论坛整合问题
  18. 邻接矩阵存储图并进行深度优先遍历
  19. 2020王者营地服务器维护,至尊宝重磅返场,王者营地服务器崩溃,只因玩家等待了五年的它...
  20. 美国有超级计算机的学校,美国计算机排名 - 目前最牛的超级计算机前五名分别是?...

热门文章

  1. 5. 求cosx计算公式
  2. empress和queen区别_王后和皇后有什么区别?
  3. Maven私库使用常见问题:本地安装三方Jar文件
  4. [Springboot]发送邮件、重置密码业务实战
  5. 2021年全球手持式工业红外线测温仪行业调研及趋势分析报告
  6. html图标 白块,桌面图标变成白块了?不用怕,1分钟就搞定!
  7. 面向数据结构的分析设计方法(JSD)
  8. 记录一次docker基础操作错误Error response from daemon: You cannot remove a running container
  9. 垃圾佬收的thinkpad T480
  10. Unity3D性能优化——工具篇