Trình diễn code vẽ hình lưới bằng C++
March 07, 2023
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: https://gimi.vn/
*/
#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: https://gimi.vn/
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();
}
Name: Tran Lam Anh
Copyright: None
Share to: https://gimi.vn/
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
Post a Comment