
#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=0i<17i++)
{
line(x+5,y,x,y)
y-=20
}
x=50,y=400
for(i=0i<26i++)
{
line(x,y-5,x,y)
x+=20
}
}
void Drawcurve()/*画图示例*/
{
line(50,400,500,400-250)
}
因为你没有分数,我就不写程序了,我就只给你说过方向如果是C语言的画,画直线的头文件是包含在#include"graphics.h"中
现在,我们来定义4个变量x1,y1,x2,y2
我现在假定你的a b数组是相等的,并且长度已知为length
那么 我用for循环
for(int i=0i<length-1i++)
{
x1=a[i]y1=b[i]
x2=a[i+1]y2=b[i+1]
line(x1,y1,x2,y2)
}
完成画图
希望以上对你有帮助
c语言本身是无法调整的,但是如果为了使用原点为左下角的坐标系完全可以用坐标变换实现,你只需要自己写一个自己的直线函数,即参数为以左下角为原点的直线的端点
的直线函数。并在函数中作一次坐标变换就可以了,举个例子:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
/*直线函数*/
void myline(int x1, int y1, int x2, int y2)
{
int ymax = getmaxy()/*获得屏幕最低点的y坐标*/
y1 = ymax - y1/*坐标变换*/
y2 = ymax - y2
line(x1, y1, x2, y2)
}
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode
int xmax, ymax
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "h:\\work\\tc3\\bgi")
/* read result of initialization */
errorcode = graphresult()
/* an error occurred */
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode))
printf("Press any key to halt:")
getch()
exit(1)
}
setcolor(getmaxcolor())
xmax = getmaxx()
ymax = getmaxy()
/* 这是原来的直线函数*/
line(0, 0, xmax, ymax)
/* 这是变换后的直线函数*/
myline(0,0,xmax,ymax)
/* clean up */
getch()
closegraph()
return 0
}
不过不推荐使用这种方法,其实,坐标原点在哪里都是一样的,用习惯就好了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)