c 语言绘制坐标图像,真正实现C语言绘制数学函数图像.doc

用C语言画函数图像

横纵坐标单位长度比校正(3:5)

真正的余弦函数

#include

#include

int sishewuru(float a);

void main()

{

int n = 450;

float a[500], b[500];

int i,j;

a[0] = b[0] = 0;

for (i = 1; i < n; i++)

{

a[i] = a[i - 1] + 0.01;

b[i] = cos(a[i]);

}

int A[500],B[500];

for (i = 0; i < n; i++)

{

//printf("sin(%f)=%f\n", a[i], b[i]);

a[i] = 100 * a[i];

b[i] = 55 * b[i];

A[i] = sishewuru(a[i]);

B[i] = sishewuru(b[i])+60;

//printf("sin(%d)=%d\n", A[i], B[i]);

}

for ( i = 100; i >=0; i--)

{

for ( j = 0; j < n; j++)

{

if (i==B[j])

{

printf("*");

}

else

{

printf(" ");

}

}

printf("\n");

}

}

int sishewuru(float a)

{

int m;

if (a-floor(a)<0.5)

{

m = a;

return m;

}

else

{

m = a + 1;

return m;

}

}

程序优化

调节输出框大小,字符显示大小

确定函数的定义域

确定定义域上的步长

计算函数值

确定函数值放大系数

确定定义域恰好落在显示的区间内

确定坐标的单位长度与字符实际长度之间的换算关系

确定打点的顺序与坐标的关系

定义域在的正弦函数图像

定义域在的正切函数图像

定义域在的倒正切函数图像

#include

#include

int sishewuru(float a);

void main()

{

float minx = -2*3.14,

maxx = 2*3.14,dx,

x[500],y[500],k;//确定定义区间

int lx = 500, i,j, Y[500];

dx = (maxx - minx) / 450;

x[0] = minx;

y[0] = 0.1 / sin(x[1]);

for (i = 1; i

{

x[i] = x[i - 1] + dx;

y[i] =0.1/sin(x[i]);

}

k = 0.6/ dx;//扩大系数

for (i = 0; i < lx; i++)

{

Y[i] = sishewuru(k*y[i]);

//printf("%d\n", Y[i]);

}

for (i = 0; i <130; i++)

{

for (j = 0; j < lx; j++)

{

if (i == -Y[j]+65)

{

printf("*");

}

else

{

printf(" ");

}

}

printf("\n");

}

}

int sishewuru(float a)

{

int m;

if (a-floor(a)<0.5)

{

m = a;

return m;

}

else

{

m = a + 1;

return m;

}

}

定义域在半径为的圆

#include

#include

int sishewuru(float a);

void main()

{

float minx = -2*3.14,

maxx = 2*3.14,dx,

x[500],y[2*500],k,r=0.5*maxx;//确定定义区间

int lx = 500, i,j, Y[2*500];

dx = (maxx - minx) / 450;

x[0] = minx;

y[0] = 0.1 / sin(x[1]);

for (i = 1; i

{

x[i] = x[i - 1] + dx;

y[i] =sqrt(r*r-x[i]*x[i]);//确定函数表达式

y[lx + i] = -1*y[i];

}

k =

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值