⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawroad.c

📁 c语言绘图程序(这里还引入了C语言从磁盘文件读取数据进行处理后在屏幕上会出曲线)
💻 C
字号:
            /****======================****\
             ****---实现画赛道中心线---****
            \****======================****/
 #include<graphics.h>
 #include<stdio.h>
 #include<math.h>
 #include<conio.h>
 #define MAXLINE   45
 #define MAXCOLUMN 39
            /*****======================*****\
            ****---图形界面初始化函数---****
            \*****======================*****/
 void grap_ini(void)
 {
    int gd=DETECT,gm;
    initgraph(&gd,&gm,"");
    cleardevice();
  }

            /*****======================*****\
            ********---画坐标函数---*******
            \*****======================*****/
 void axis(float Xo,float Yo,float XL,float YL)
 {
    char linenum,columnnum;
    setcolor(RED);
    line(Xo,Yo,Xo+XL,Yo);
    line(Xo,Yo,Xo,Yo+YL);
    line(Xo,Yo,Xo,Yo+YL);
    line(Xo+XL,Yo,Xo+XL,Yo+YL);
    line(Xo,Yo+YL,Xo+XL,Yo+YL);

  /*  for(columnnum=0;columnnum<MAXCOLUMN;columnnum++)
      {
        line(Xo+columnnum*16,Yo,Xo+columnnum*16,Yo+YL);
        if(columnnum==19)
          {
           settextstyle(0,0,1);
           outtextxy(Xo+columnnum*16-3,Yo-10,"O");
           }
        if(columnnum==11)
          {
           settextstyle(0,0,1);
           outtextxy(Xo+columnnum*16-3,Yo-10,"L");
          }
        if(columnnum==27)
          {
           settextstyle(0,0,1);
           outtextxy(Xo+columnnum*16-3,Yo-10,"R");
          }
      }
    for(linenum=0;linenum<MAXLINE;linenum++)
      {
        line(Xo,Yo+linenum*10,Xo+XL,Yo+linenum*10);
      }*/
 }

main()
{
    int i;
    char Div1[22];  /*一阶导数*/
    char Div2[11];  /*二阶导数*/
    char Road[MAXLINE];
            /*---读取数据---*/
    FILE *fp;
    /*从磁盘读数据到内存*/
    if((fp=fopen("data.txt","r"))==NULL)
       {
         printf("can't open file\n");
         exit(0);
       }

      for(i=0;i<MAXLINE;i++)
         {
           fscanf(fp,"%x ",&Road[i]);
           printf("%d,",Road[i]);
         }
       fclose(fp);
       getch();

            /*---画图----*/
    grap_ini();
    axis(10,20,608,440);
    setbkcolor(BLUE);
    setcolor(WHITE);
    for(i=1;i<MAXLINE;i++)
      {
        line(10+16*Road[45-i],20+10*(i-1),10+16*Road[44-i],20+10*i);
      }
    getch();
    closegraph();

    for(i=1;i<45;i=i+2)
    {
        Div1[(i-1)/2]=Road[i+1]-Road[i];

        if(Div1[i]>0){Div1[i]=1;}
        else if(Div1[i]<0){Div1[i]=-1;}
        else{Div1[i]=0;}
    }

    for(i=0;i<22;i=i+2)
    {
        Div2[(i+1)/2]=Div1[i+1]-Div1[i];

        if(Div1[i]>0){Div1[i]=1;}
        else if(Div1[i]<0){Div1[i]=-1;}
        else{Div1[i]=0;}
    }
    printf("DIV1:\n");
    for(i=0;i<22;i++)
    {
        printf("%d  ",Div1[i]);
    }
    printf("\n");
    printf("DIV2:\n");
    for(i=0;i<11;i++)
    {
        printf("%d  ",Div2[i]);
    }

   getch();
 }


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -