栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言绘制余弦、正弦曲线

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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)的对用关系。

程序说明与注释




#include 
#include 
 
int main()
{
  double y;   
  int x,m;   
  for(y = 1;y >= -1;y -= 0.1) 
  {
    m=acos(y)*10;      
    for(x = 1;x < m;x++)  
      printf(" ");    
    printf("*");      
    for(;x < 62-m;x++)   
      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π)这一段图形的横坐标。




#include 
#include 
#define PI 3.14159
 
int main()
{
  double y;   
  int x,m;   
  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 -= 0.1;y >= -1;y -= 0.1)
  {
    m=(PI+asin(-y))*10;   
    for(x=1;x

运行结果:

[root@localhost 1_drawingcos]# ./drawingsin 
* *
     *     *
    **
   *  *
   *   *
  *    *
  *     *
 *      *
 **
* *
* *
  **
   *      *
   *     *
    *    *
    *   *
     * *
      **
*     *
  **

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/62395.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号