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 =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值