请c语言高人帮忙下做个输出图形!急~~~

王朝知道·作者佚名  2009-11-15
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

y|

|

| . . . .

|

| .

|

|_____________________x

第一点(1,0.5) 第二点(2,1) 第三点(3,1)....到无穷 要光滑曲线连接 谢谢~~~~~

參考答案:

#include "Conio.h"

#include "graphics.h"

#define closegr closegraph

void initgr(void) /* BGI初始化 */

{

int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */

registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */

initgraph(&gd, &gm, "");

}

void DrawCoord();

void Drawstg();

void Drawcurve();

int main(void)

{

initgr(); /* BGI初始化 */

DrawCoord();

Drawstg();

Drawcurve();

getch(); /* 暂停一下,看看前面绘图代码的运行结果 */

closegr(); /* 恢复TEXT屏幕模式 */

return 0;

}

void DrawCoord() /*画坐标系*/

{

line(50,40,50,400); /*y轴*/

line(50,400,600,400); /*x轴*/

line(50,40,45,50); /*箭头*/

line(50,40,55,50);

line(600,400,590,395);

line(600,400,590,405);

outtextxy(35,45,"y");

outtextxy(590,410,"x");

outtextxy(40,410,"O");

}

void Drawstg() /*画标尺*/

{

int x,y,i;

x=50,y=400;

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

{

line(x+5,y,x,y);

y-=20;

}

x=50,y=400;

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

{

line(x,y-5,x,y);

x+=20;

}

}

void Drawcurve()/*画图示例*/

{

line(50,400,500,400-250);

}

//以上只是一个示例,你没有说清楚这条曲线的具体情况,我只能做一个示例

//只是帮你画你出了坐标系.还有你要将离散的点拟合成一条曲线,直接画出

//是做不出平滑效果的,可以采用一些插值算法将中间的点拟合出来,再画.

//这样就可以做出平滑效果了,如果不懂的,可以去查一下科学计算的有关书

//籍.另外对于做这种图,个人推荐使用MatLab,它以自动帮你进行平滑.

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航