c语言中函数曲线的绘制 用c语言绘制函数曲线
C语言编程 绘制曲线,会的来
TC下调试通过
创新互联建站专注于回民网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供回民营销型网站建设,回民网站制作、回民网页设计、回民网站官网定制、成都微信小程序服务,打造回民网络公司原创品牌,更为您提供回民网站排名全网营销落地服务。
/*******************************************************
*Author :Wacs5
*Date :20090105(YYYY-MM-DD)
*Function :画简易的曲线图 *********************************************************/
#include stdio.h
#include conio.h
#include stdlib.h
#include math.h
#include Graphics.h
#define n 8
int main()
{
int i,j;
float data[]={7,3,12,6,9,5,8,11};
char str[40];
int gdrive=DETECT,gmode,errorcode;
int maxx,maxy;
int perx,pery;
int x0,x1,y0,y1;
int coloraxis=2,colorline=3;
float mindata,maxdata,ndata;
initgraph(gdrive,gmode,""); /*初始化设备*/
if ((errorcode=graphresult())!=grOk) /*查错*/
{
printf("Graphics error:%s\nPress any key to exit:",grapherrormsg(errorcode));
getch();
exit(1);
}
maxx=getmaxx();
maxy=getmaxy();
mindata=maxdata=data[0];
for (i=1;in;i++)
{
if (mindatadata[i])
mindata=data[i];
if (maxdatadata[i])
maxdata=data[i];
}
mindata=floor(mindata);
maxdata=ceil(maxdata);
perx=maxx/(n+4);
pery=maxy/(maxdata-mindata+4);
x0=2*perx;
y0=maxy-2*pery;
x1=maxx-2*perx;
y1=2*pery;
setcolor(coloraxis);
line(x0,y0,x1,y0);
line(x0,y0,x0,y1);
line(x1,y0,x1-4,y0+3);
line(x1,y0,x1-4,y0-3);
line(x0,y1,x0+3,y1+4);
line(x0,y1,x0-3,y1+4);
settextjustify(CENTER_TEXT,TOP_TEXT);
for (i=0;in;i+=n/3)
{
j=x0+i*perx;
line(j,y0,j,y0+2); /*刻度线*/
sprintf(str,"%d",i);
outtextxy(j,y0+4,str);
}
settextjustify(RIGHT_TEXT,CENTER_TEXT);
for (i=(maxdata-mindata)/3;i=maxdata-mindata;i+=(maxdata-mindata)/3)
{
j=y0-i*pery;
line(x0,j,x0-2,j); /*刻度线*/
sprintf(str,"%d",(int)mindata+i);
outtextxy(x0-4,j,str);
}
setcolor(colorline);
x1=x0+perx;
y1=y0-(data[0]-mindata)*pery;
circle(x1,y1,2);
moveto(x1,y1);
i=1;
do
{
x1+=perx;
y1=y0-(data[i]-mindata)*pery;
lineto(x1,y1);
circle(x1,y1,2);
moveto(x1,y1);
i++;
}while(in);
getch();
closegraph();
return 0;
}
C语言程序设计问题,大神进,高分悬赏。。。。初等函数曲线图形的简易绘制
可以做一个二维[整形或char类型]数组,行列分别是屏幕的行列数,然后,通过计算在修改对应位置元素的值就可以,然后将数组元素打印出来(这里以char类型为例):
#include stdio.h
#include math.h
#include stdlib.h
#define ROW 25
#define COL 84
char table[ROW][COL];
void initTable()
{
for(int i = 0; i ROW; i++)
{
for(int j = 0; j COL; j++)
{
table[i][j] = ' ';
}
}
}
int main(int argc, char*argv[])
{
// 这里以求cos(x) 为例
// 因为行列数为整形,所以这里对所求结果向下取整
// 这里以第20行为横坐标位置
// 先绘制x,y坐标
for(int row = 0; row ROW; row++)
{
table[row][0] = '|';
}
table[20][0] = '+';
for(int col = 1; col COL; col++)
{
table[20][col] = '-';
}
table[0][0] = '^';
table[20][COL - 1] = '';
// 这里随x计算cos的值,并将对应的坐标处的字符替换为'*';
for(int x = 0; x COL - 1; x++)
{
table[5 * ((int)(cos(x)))][x] = '*';
}
// 接下来就是逐行输出了
for(int i = 0; i ROW; i++)
{
for(int j = 0; j COL; j++)
{
printf("%c", table[i][j]);
}
}
system("pause");
}
采用c语言绘制任意函数曲线(双曲线,二次函数,一次函数)??怎么做??
在c的标准库中有graphic.h头文件,实现了很多画图函数 比如 lineto, moveto, arc,(函数名可能记错,好久没用了-.-!)
直线:起点加终点就行。
二次曲线,比如抛物线,那就以定长拆分成小直线。双曲线同理。
抛物线,和双曲线用定长拆分,估计很难计算。要是精度要求不高就根据情况改成定x,或者定y偏移的拆分,要是精度要求高那就去找直线拟合曲线的算法或者双圆弧拟合曲线的算法。
怎么用C语言把一个函数的曲线画出来?
如果你是想在控制台上显示的话 那你随之xy 确定坐标 使用gotoxy()这种函数
如果想显示窗体的 使用GDI 的API函数就可以了
推荐你看下windows程序设计第五版
文章标题:c语言中函数曲线的绘制 用c语言绘制函数曲线
地址分享:http://azwzsj.com/article/dogpojp.html