利用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 //详细分析过程见文章最后的附图
#include
#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张图片


详细分析过程:

利用C语言绘制正弦函数_第2张图片

你可能感兴趣的:(C语言)