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

資源簡介

實驗二 (選做)種子填充算法 (選做)掃描線算法

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?

using?namespace?std;

typedef?float?Color[3];
int?ncount=0;
int?numX[100]numY[100];

void?init(void)
{
????glClearColor(0000.0);//清除當前所有顏色
????glMatrixMode(GL_PROJECTION);//投影模型
????gluOrtho2D(05000500);//二維投影,參數越大,直線越小
}

//獲取一點像素的顏色
void?GetPixel(GLint?x?GLint?yColor?color)
{
????glReadPixels(xy11GL_RGBGL_FLOATcolor);
}

//畫像素點
void?SetPixel(GLint?x??GLint?y)
{
????glBegin(GL_POINTS);
????????glVertex2i(x?y);
????glEnd();
}

//比較顏色是否相等
bool?compare(Color?c1Color?c2)
{
???return?(fabs(c1[0]-c2[0])<0.001?&&fabs(c1[1]-c2[1])<0.001?&&?fabs(c1[2]-c2[2])<0.001)?;
}

void?FloodFill4(int?xint?yColor?oldcolorColor?newcolor)
{
????Color?color;
????GetPixel(xycolor);
????if(compare(coloroldcolor))
????{
????????SetPixel(xy);
????????FloodFill4(xy+1oldcolornewcolor);
????????FloodFill4(xy-1oldcolornewcolor);
????????FloodFill4(x-1yoldcolornewcolor);
????????FloodFill4(x+1yoldcolornewcolor);
????}
}

//繪制填充多邊形
void?drawPolygon()
{
????int?i;
????glBegin(GL_POLYGON);
????????for(i=0;i????????{
????????????cout<????????????glVertex2i(numX[i]numY[i]);
????????}
//????????glVertex2i(100100);
//????????glVertex2i(200100);
//????????glVertex2i(200200);
//????????glVertex2i(100200);
????glEnd();
}

void?display()
{
????/*
????*??glClearColor表示清除顏色設為黑色
????*??glclear表示實際完成了把整個窗口清除為黑色的任務
????*/
????Color?oldcolor={1.00.00.0};//紅色
????Color?newcolor={0.01.00.0};//綠色

????glClear(GL_COLOR_BUFFER_BIT);//清除緩沖器顏色
????glColor3fv(oldcolor);//設置畫筆顏色
????drawPolygon();
//????glPointSize(5);//設置點像素大小
????glColor3fv(newcolor);//設置畫筆顏色
????FloodFill4(150150oldcolornewcolor);
????glFlush();//刷新緩沖
}

int?main(int?argcchar**?argv)
{
????string?filenameoneline;
????char?charline[10];
????char?*p;

????cout?<????cin?>>?filename;
????ifstream?infile(filename.c_str());//讀取文件
????while(getline(infileoneline))//讀取一行
????{
????????strcpy(charlineoneline.c_str());//string轉換為char[]
????????p=strtok(charline““);//以分割字符串
????????numX[ncount]=atoi(p);//字符串轉換整數
????????p=strtok(NULL““);//strtok是靜態函數
????????numY[ncount]=atoi(p);
????????ncount++;
//????????cout<????}

????glutInit(&argcargv);//從main函數傳遞參數
????glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);//設置顯示模式,單緩沖,RGB
????glutInitWindowPosition(00);//窗口位置
????glutInitWindowSize(500500);//窗口大小
????glutCreateWindow(“FloodFill4“);//窗口標題

????init();//自定義初始化函數
????glutDisplayFunc(display);?//渲染函數
????glutMainLoop();?//循環消息機制

????return?0;
}


/*
?*測試數據
?*100100
?*200100
?*200200
?*100300
?*50200
*/

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????948236??2014-11-25?17:34??FloodFill4\bin\Debug\FloodFill4.exe

?????文件???????1493??2014-11-25?10:49??FloodFill4\FloodFill4.cbp

?????文件???????5907??2014-11-25?17:35??FloodFill4\FloodFill4.depend

?????文件????????400??2014-11-25?18:38??FloodFill4\FloodFill4.layout

?????文件???????3089??2014-11-25?19:29??FloodFill4\main.cpp

?????文件??????41010??2014-11-25?17:34??FloodFill4\obj\Debug\main.o

?????目錄??????????0??2014-12-20?12:50??FloodFill4\bin\Debug

?????目錄??????????0??2014-12-20?12:50??FloodFill4\obj\Debug

?????目錄??????????0??2014-12-20?12:50??FloodFill4\bin

?????目錄??????????0??2014-12-20?12:50??FloodFill4\obj

?????目錄??????????0??2014-12-20?12:50??FloodFill4

-----------?---------??----------?-----??----

??????????????1000135????????????????????11


評論

共有 條評論