C輔導(dǎo):三視圖的畫法

字號:

#include
    int dx[12]=; /*確定組合體X坐標(biāo)*/
    int dy[12]=;/*確定組合體Y坐標(biāo)*/
    int dz[12]=;/*確定組合體Z坐標(biāo)*/
    int ld[24]=;/*確定連接各線的順序*/
    int tl[24]=;
    int i,j,vh=100,vw=120,x,y,x0=250,y0=200;
    main()
    {
    int driver=DETECT,mode=0;
    initgraph(&driver,&mode,"");
    setbkcolor(BLUE);
    setcolor(YELLOW);
    zu();
    fu();
    zo();
    fo();
    getch();
    closegraph();
    }
    zu()/*主視圖*/
    {
    for(i=0;i<24;i++)
    {
    j=ld[i];
    x=x0-dx[j];
    y=y0-dz[j];
    if(tl[i]==0)
    moveto(x,y);
    lineto(x,y);
     }
    }
    fu()/*俯視圖*/
    {
    for(i=0;i<24;i++)
    {j=ld[i];
    x=x0-dx[j];
    y=y0+dy[j]+vh;
    if(tl[i]==0)
    moveto(x,y);
    lineto(x,y);
     }
    }
    zo()/*側(cè)視圖*/
    {
    for(i=0;i<24;i++)
    {
     j=ld[i];
     x=x0+dy[j]+vw;
     y=y0-dz[j];
     if(tl[i]==0)
    moveto(x,y);
    lineto(x,y);
     }
    }
    fo()/*軸側(cè)圖*/
    {
    for(i=0;i<24;i++)
    {j=ld[i];
    x=x0-0.7071*dx[j]+0.7071*dy[j]+150;
    y=y0+0.4082*dx[j]+0.4082*dy[j]-0.8165*dz[j]+150;
     if(tl[i]==0)
    moveto(x,y);
    lineto(x,y);
     }
    }