91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 281KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-12
  • 語言: C/C++
  • 標簽: opengl??C++??算法??

資源簡介

VC++6.0項目,運用DDA算法畫線,直線的斜率為任意值,代碼可以直接運行。

資源截圖

代碼片段和文件信息

/*
DDA畫線算法:方程y=kx+b
已知線段的起點(x0y0)和終點(x1y1);x0y0x1y1為int類型
計算出兩端點間的水平和垂直的差值dx=x1-x0,dy=y1-y0

如果dx>dyx方向上的像素數目steps=fabs(dx)
x方向的增量xI=dx/stpes=1,y方向的增量yI=dy/stpes

設第P個點為(xpyp)?下一個點Q則為(xp+xIyp+yI)
每一步描點都要對y進行四舍五入取整,即Q(xp+xIround(yp+yI))

*/

#include
#include

void?init(void);
int?round(float?a); //四舍五入
void?setPixel(int?xint?y);//描點
void?Algorithm(int?x0int?y0int?x1int?y1);//算法
void?lineDDA(void);//數據測試

void?init(void){
glClearColor(1.01.01.00.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0600.00.0400.0);
}

int?round(float?a){ //四舍五入
return?int(a+0.5);
}

void?setPixel(int?xint?y){ //描點
glBegin(GL_POINTS);
glVertex2i(xy);
glEnd();
}
void?Algorithm(int?x0int?y0int?x1int?y1){??//算法

int?dxdysteps;
float?xIyIxy;

x=x0;
y=y0;
dx=x1-x0;?
dy=y1-y0;

if(fabs(dx)>=fabs(dy)){ //0°-45°??45°??145°??145°-180°
steps=fabs(dx);
}else{ //45°-90°??90°??90°-145°
steps=fabs(dy);
}
xI=float(dx)/float(steps); //x的單位步進
yI=float(dy)/float(steps); //y的單位步進

setPixel(round(x)round(y)); //描起點
for(int?i=0;i<=steps;i++){
x+=xI;
y+=yI;
setPixel(round(x)round(y));
}
}

void?lineDDA(void){ //數據測試

glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f0.0f0.0f);
glPointSize(2);

Algorithm(15050450350); //45°斜上
Algorithm(45050150350); //45°斜下

Algorithm(150200450200); //橫
Algorithm(30050300350); //豎

Algorithm(15050450200); //0°-45°
Algorithm(450350150200);

Algorithm(30050450350); //45°-90°
Algorithm(30035015050);

Algorithm(30035045050); //90°-145°
Algorithm(30050150350);

Algorithm(15020045050); //145°-180°??
Algorithm(450200150350);

glFlush();
}

void?main(int?argcchar?**argv){

glutInit(&argcargv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowPosition(350100);
glutInitWindowSize(600400);
glutCreateWindow(“DDA?line?drawing?algorithm“);

init();
glutDisplayFunc(lineDDA);

glutMainLoop();
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-04-03?09:52??DDA畫線算法\
?????文件????????4340??2016-04-02?11:35??DDA畫線算法\DDA畫線算法.dsp
?????文件?????????530??2016-04-02?11:35??DDA畫線算法\DDA畫線算法.dsw
?????文件???????41984??2016-04-03?09:50??DDA畫線算法\DDA畫線算法.ncb
?????文件???????48640??2016-04-03?09:50??DDA畫線算法\DDA畫線算法.opt
?????文件????????1317??2016-04-03?09:50??DDA畫線算法\DDA畫線算法.plg
?????目錄???????????0??2016-04-03?09:52??DDA畫線算法\Debug\
?????文件??????196677??2016-04-03?09:50??DDA畫線算法\Debug\DDA畫線算法.exe
?????文件??????252772??2016-04-03?09:50??DDA畫線算法\Debug\DDA畫線算法.ilk
?????文件??????332816??2016-04-02?15:21??DDA畫線算法\Debug\DDA畫線算法.pch
?????文件??????459776??2016-04-03?09:50??DDA畫線算法\Debug\DDA畫線算法.pdb
?????文件????????7607??2016-04-03?09:50??DDA畫線算法\Debug\lineDDA.obj
?????文件???????33792??2016-04-03?09:50??DDA畫線算法\Debug\vc60.idb
?????文件???????45056??2016-04-03?09:50??DDA畫線算法\Debug\vc60.pdb
?????文件????????2242??2016-04-03?09:50??DDA畫線算法\lineDDA.cpp

評論

共有 條評論