网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

c语言函数曲线的绘制打点 c语言函数绘图

用C语言绘制曲线

楼上的观珠仔很久不见啦(挺挂念那段时光的)!想不到路过此地看到你,这是高科技呀?你还这么老班牙啊,大考小考把你弄糊涂了,高考顺利呀!别忘了我这位老兄了,C语言略懂 ~~~~~~杰

公司主营业务:成都网站制作、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出利辛免费做网站回馈大家。

1.绘制余弦曲线

*程序说明与注释

#includestdio.h

#includemath.h

void main()

{

double y;

int x,m;

for(y=1;y=-1;y-=0.1) /*y为列方向,值从1到-1,步长为0.1*/

{

m=acos(y)*10; /*计算出y对应的弧度m,乘以10为图形放大倍数*/

for(x=1;xm;x++) printf(" ");

printf("*"); /*控制打印左侧的 * 号*/

for(;x62-m;x++)printf(" ");

printf("*\n"); /*控制打印同一行中对称的右侧*号*/

}

}

*运行结果

2.绘制正弦曲线

在屏幕上用“*”显示0-360度的余弦函数sin(x)曲线。

1.

/**//*

sin() line.

62 of line width

*/

#include stdio.h

#include math.h

int main(void)

...{

int j ,k,d,h;

double i ;

for(i=1.0 ; i 0.0; i-=0.1)

...{

k = (int)(asin(i)*10) ;

for(j=0; j k ; j++) /**//*print the left */

printf(\" \");

printf(\"*\");

for( ; j 31-k ; j++)

printf(\" \");

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语言绘制任意函数曲线(双曲线,二次函数,一次函数)??怎么做??

在c的标准库中有graphic.h头文件,实现了很多画图函数 比如 lineto, moveto, arc,(函数名可能记错,好久没用了-.-!)

直线:起点加终点就行。

二次曲线,比如抛物线,那就以定长拆分成小直线。双曲线同理。

抛物线,和双曲线用定长拆分,估计很难计算。要是精度要求不高就根据情况改成定x,或者定y偏移的拆分,要是精度要求高那就去找直线拟合曲线的算法或者双圆弧拟合曲线的算法。


分享文章:c语言函数曲线的绘制打点 c语言函数绘图
链接地址:http://bjjierui.cn/article/ddjiodo.html

其他资讯