Professional Documents
Culture Documents
#include <winbgim.h>
#include<conio.h>
#define DELAY 10
int color = 2;
void Bresenham(int x1, int y1, int x2, int y2){
int Dx = abs(x2 - x1);
int Dy = abs(y2 - y1);
int p = 2*Dy - Dx;
int c1 = 2*Dy;
int c2 = 2*(Dy-Dx);
int x = x1;
int y = y1;
int x_unit = 1, y_unit = 1;
putpixel(x,y,color);
while(x != x2){
delay(DELAY);
if (p<0) p += c1;
else{
p += c2;
y += y_unit;
}
x += x_unit;
putpixel(x, y, color);
}
}
int main(){
int x1,y1,x2,y2;
int gd,gm=VGAMAX; gd=DETECT;
initgraph(&gd,&gm,NULL);
// setbkcolor(4);
Bresenham(50,150, 300, 200);
delay(9000);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <graphics.h>
#include <math.h>
int c = WHITE;
void dda(float x1,float x2,float y1,float y2) {
int i,step;
float dx=x2-x1;
float dy=y2-y1;
if (abs(dy)>=abs(dy) || abs(dx)<abs(dy)) {
for (i=0;i<=abs(step);i++) {
putpixel(round(x1),round(y1),c);
x1+=inc_x;
y1+=inc_y;
delay(10);
int main() {
float x1,x2,y1,y2;
printf("Toa do A(x1,y1),B(x2,y2)");
printf("\n x1=");scanf("%f",&x1);
printf("\n x2=");scanf("%f",&x2);
printf("\n y1=");scanf("%f",&y1);
printf("\n y2=");scanf("%f",&y2);
initwindow(1000,1000);
dda(x1,x2,y1,y2);
getch() }
#include<winbgim.h>
#include<math.h>
int Dx,Dy,pi,x,y,p;
x=x1;
y=y1;
Dx=-(x2-x1);
Dy=y2-y1;
p=2*Dy-Dx; //tinh vi tri tuong doi cua diem Midpoint so voi duong thang
}else{
y++;
x++;
delay(10);
int main(){
initwindow(600,600);
midpoint(10,10,400,400,15);
getch();
// 3 7 1 5 9
#include <conio.h>
#include <iostream>
#include <graphics.h>
#include <stdlib.h>
struct ToaDo
int x,y;
};
int i;
for(i=0;i<v; i++){
p[i].x=p[0].x;
p[i].y=p[0].y;
for(int i=0;i<v;i++)
line(p[i].x,p[i].y,p[i+1].x,p[i+1].y);
int xmin,xmax,ymin,ymax,c,mang[50];
xmin=xmax=p[0].x;
ymin=ymax=p[0].y;
if(ymax<p[i].y) ymax=p[i].y;
}
float y;
y=ymin+0.01;
while(y<=ymax){
int x,x1,x2,y1,y2,tg;
c=0;
for(int i=0;i<v;i++){
x1=p[i].x;
y1=p[i].y;
x2=p[i+1].x;
y2=p[i+1].y;
if(y2<y1){
tg=x1;x1=x2;x2=tg;
tg=y1;y1=y2;y2=tg;
if(y<=y2&&y>=y1){
if(y1==y2) x=x1;
else{
x=((y-y1)*(x2-x1))/(y2-y1);
x+=x1;
mang[c++]=x;
}
for(int i=0; i<c;i+=2){
delay(30);
line(mang[i],y,mang[i+1],y);
y++;
int main()
int cl,v;
do{
}while(v<3);
ToaDo p[v];
nhapDaGiac(p,v);
initwindow(500,600);
veDaGiac(p,v);
setcolor(cl);
ScanLine(p, v);
getch();
#include <winbgim.h>
#include <iostream>
struct ToaDo
int x,y;
};
int MauBien ;
{
setcolor(mauto);
int j;
line(a[i].x,a[i].y,a[j].x,a[j].y);
delay(100);
putpixel(x,y,mauto);
ToLoang(x-1,y,mauto);
ToLoang(x,y-1,mauto);
ToLoang(x+1,y,mauto);
ToLoang(x,y+1,mauto);
delay(100);
int main()
int x,y,n,Gd,Gm=VGAMAX;
ToaDo a[10];
NhapDaGiac(n,x,y,a);
Gd=DETECT;
initgraph(&Gd,&Gm,"");
VeDaGiac(n,a,15);
delay(1000);
MauBien=getpixel(x,y);
ToLoang(x,y,10);
getch();
closegraph();