Kênh Tên Miền chuyên cung cấp tên miền đẹp, giá rẻ! Hãy liên hệ kỹ thuật: 0914205579 - Kinh doanh: 0912191357 để được tư vấn, hướng dẫn miễn phí, Cảm ơn quý khách đã ủng hộ trong thời gian qua!
Wednesday, August 27, 2014

Hướng dẫn vẽ hình lưới ma trận bằng C++ Kỹ thuật đồ họa



Code tham khảo:
Code 1:




/*
Name: Tran Lam Anh
Copyright: None
Share to: http://www.code.tavn.net/
*/

#include<stdio.h>
#include<graphics.h>
#include<dos.h>
void matrix(int numc, int numl, int high, int width, int sizec, int sizel, int timedelay, int sizeline)
{
    setlinestyle(0,0,sizeline);
    for(int i=0;i<=numc;i++)
        {
        setcolor((i<=7)?i:((i%7==0)?5:i%7));
        line(i*sizec,0,i*sizec,high);
        delay(timedelay);
        }
    for(int i=0;i<=numl;i++)
        {
         setcolor((i<=7)?i:((i%7==0)?5:i%7));
        line(0,i*sizel,width,i*sizel);
        delay(timedelay);
        }
}
void diagonal(int numc, int numl, int high, int width, int sizec, int sizel, int timedelay, int sizeline)
{
        setlinestyle(0,0,sizeline);
        int xs=0,ys=0,xe=0,ye=0;
           for (int i=1;i<=(numl+numc-1);i++)
           {
               setcolor((i<=7)?i:((i%7==0)?5:i%7));
               (xs<numc)?xs++:ys++;
               (ye<numl)?ye++:xe++;
               line(xs*sizec,ys*sizel,xe*sizec,ye*sizel);
               delay(timedelay);
           }
            xs=numc; ys=0; xe=numc; ye=0;
            for (int i=1;i<=(numl+numc-1);i++)
           {
                setcolor((i<=7)?i:((i%7==0)?5:i%7));
                (xs>0)?xs--:ys++;
                (ye<numl)?ye++:xe--;
                line(xs*sizec,ys*sizel,xe*sizec,ye*sizel);
               delay(timedelay);
           }
}
main()
{
    int numc,numl,width,high;
    printf("\t- Kich thuoc cua so (WIDTH x HIGH): "); scanf("%d x %d",&width,&high);
    printf("\t- Nhap kich thuoc luoi (ROW x COLUMN): "); scanf("%d x %d",&numl,&numc);
    initwindow(width,high);
    int sizec=width/numc, sizel=high/numl, time=300, sizeline=3;
    matrix(numc, numl, high, width, sizec, sizel, time, sizeline);
    diagonal(numc, numl, high, width, sizec, sizel, time, sizeline);
    getch();
}



Code 2:



/*
Name: Tran Lam Anh
Copyright: None
Share to: http://www.code.tavn.net/
Tag: trinh dien, hinh luoi, so do, ve hinh, do hoa, hinh vuong, hinh chu nhat, luoi vuong, luoi chu nhat
*/

#include<stdio.h>
#include<graphics.h>
#include<dos.h>
void paint(int numr, int numc, int sizel, int sizer, int time, int border)
{
    setlinestyle(0,0,border);
    for (int i=0;i<numr;i++)
    {
        for(int j=0;j<numc;j++)
        {
            setcolor((j+1<=7)?j+1:(((j+1)%7==0)?5:(j+1)%7));
            line(j*sizel,i*sizer,j*sizel,(i+1)*sizer);
            line(j*sizel,i*sizer,(j+1)*sizel,i*sizer);
            line((j+1)*sizel,i*sizer,(j+1)*sizel,(i+1)*sizer);
            line((j+1)*sizel,(i+1)*sizer,j*sizel,(i+1)*sizer);
            line(j*sizel,i*sizer,(j+1)*sizel,(i+1)*sizer);
            line((j+1)*sizel,i*sizer,j*sizel,(i+1)*sizer);
             delay(time);
        }
    }
}
main()
{
    int high,width,numr,numc;
    printf("\t- Nhap vao kich thuoc cua so (WIDTH x HIGH): ");
    scanf("%d x %d",&width,&high);
    printf("\t- Nhap kich thuoc luoi (ROW x COLUMN): ");
    scanf("%d x %d",&numr,&numc);
    initwindow(width,high);
    int sizer=high/numr, sizel=width/numc;
    int time=100, border=2;
    paint(numr,numc,sizel,sizer,time,border);
    getch();
}






Tags: ve hinh luoi, ve doa hoa, lap trinh, do hoa, c++ do hoa, hinh vuong, luoi vuong, luoi chu nhat, hinh chu nhat

0 comments:

Post a Comment

Popular Posts