亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ddex1.cpp

?? 人工智能遺傳算法,經過改進,希望對大家有幫助,常常聯系啊.
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
						};
	for(int l=0;l<6;l++)
	{	i[l][0]+=i[l][4];
		i[l][2]+=i[l][4];
		i[l][1]+=i[l][5];
		i[l][3]+=i[l][5];
		rectFill(ddsd,i[l][0],i[l][1],i[l][2],i[l][3],color);
		color+=0x39e7;
	}
	for(l = 0;l<6;l++)
	{	if( i[l][0]== 0||i[l][0]==639||i[l][2]==0||i[l][2]==639)
		{	i[l][4] = -i[l][4];
			if(i[l][1] == 0||i[l][1]==479||i[l][3]==0||i[l][3]==479)
				i[l][5]= -i[l][5];
			continue;
		}
		if(i[l][1] == 0||i[l][1]==479||i[l][3]==0||i[l][3]==479)
		{	i[l][5]= -i[l][5];
			continue;
		}
		for(int j=0;j<6;j++)
		{	if(l!=j)
			{	if(i[l][1]<=i[j][3]&&i[l][3]>=i[j][1])
				if(i[l][0]==i[j][2]||i[l][0]+i[l][4]==i[j][2]||i[l][2]==i[j][0]||i[l][2]+i[l][4]==i[j][0])
				{	i[l][4]=-i[l][4];
					break;
				}
			}
		}
		for(j=0;j<6;j++)
		{	if(l!=j)
			{	if(i[l][0]<=i[j][2]&&i[l][2]>=i[j][0])
				if(i[l][1]==i[j][3]||i[l][1]+i[l][5]==i[j][3]||i[l][3]==i[j][1]||i[l][3]+i[l][5]==i[j][1])
				{	i[l][5]=-i[l][5];
					break;
				}
			}
		}
	}
}

void polygonDemo1(DDSURFACEDESC* ddsd)
{	static unsigned char rrr=0,ggg=80,bbb=160;
	WORD color=RGBto16bit(&ddsd->ddpfPixelFormat,rrr,ggg,bbb);
	rrr+=2;ggg+=1;bbb+=2;
	static POINT points[5]={	{340,80},
						{490,180},
						{400,300},
						{250,330},
						{120,200}
					};
	static int range[5][6]={	{300,60,360,120,1,1},
						{440,110,600,210,-1,1},
						{380,270,460,380,-1,1},
						{200,280,320,440,-1,-1},
						{100,150,200,260,1,-1}
					};
	for(int i=0;i<5;i++)
	{	points[i].x += range[i][4];
		points[i].y += range[i][5];
		if(points[i].x <= range[i][0]||points[i].x >= range[i][2])
			range[i][4] = -range[i][4];
		if(points[i].y <= range[i][1]||points[i].y >= range[i][3])
			range[i][5] = -range[i][5];
	}
	drawPolygon(ddsd,points,5,color);
}

void polygonDemo2(DDSURFACEDESC* ddsd)
{	static unsigned char rrr=0,ggg=80,bbb=160;
	WORD color=RGBto16bit(&ddsd->ddpfPixelFormat,rrr,ggg,bbb);
	rrr+=2;ggg+=1;bbb+=2;
	static POINT points[5]={	{320,100},
						{100,250},
						{210,440},
						{500,390},
						{500,150}
					};
	static int range[5][6]={	{210,-50,400,120,1,1},
								{-50,130,210,380,-1,1},
								{150,410,280,540,1,-1},
								{460,360,560,460,-1,-1},
								{480,130,700,260,1,-1}
							};
	for(int i=0;i<5;i++)
	{	points[i].x += range[i][4];
		points[i].y += range[i][5];
		if(points[i].x <= range[i][0]||points[i].x >= range[i][2])
			range[i][4] = -range[i][4];
		if(points[i].y <= range[i][1]||points[i].y >= range[i][3])
			range[i][5] = -range[i][5];
	}
	polygonFill(ddsd,points,5,color);
}

typedef struct { float x,y; }Complex;
inline Complex complexSquare(Complex c)
{	Complex cSq;
	cSq.x = c.x*c.x - c.y*c.y;
	cSq.y = 2*c.x*c.y;
	return cSq;
}

inline int iterate(Complex zInit,int maxIter)
{	Complex z=zInit;
	int cnt = 0;
	while((z.x*z.x+z.y*z.y<=4.0)&&(cnt < maxIter))
	{	z = complexSquare(z);
		z.x += zInit.x;
		z.y += zInit.y;
		cnt++;
	}
	return cnt;
}

void fsDemo1(DDSURFACEDESC* ddsd)
{	int nx,ny,maxIter;
	WORD color;
	static int l=0;
	float realMin,realMax,imagMin,imagMax;
	static int c[6][2]={	{0xf81f,-0x0800},{0x001f,0x0040},{0x07ff,-0x0001},
					{0x07e0,0x0800},{0xffe0,-0x0040},{0xf800,0x0001}
				};
	nx = 640,ny = 480,maxIter = 186;
	realMin = -0.78937,realMax=-0.78928,imagMin=0.16434,imagMax=0.16443;
	//realMin = -0.790,realMax=-0.788,imagMin=0.161,imagMax=0.163;
	float realInc = (realMax - realMin)/nx;
	float imagInc = (imagMax - imagMin)/ny;
	Complex z;
	int x,y;
	int cnt;
	//for(x=l,z.x=realMin+realInc*l;x<nx;x+=201,z.x+=realInc*201)
	x=l,z.x=realMin+realInc*l;
		for(y=0,z.y=imagMin;y<ny;y++,z.y+=imagInc)
		{	cnt = iterate(z,maxIter);
			if(cnt == maxIter)
				writePixel(ddsd,x,y,0x0000);
			else
			{	color = c[cnt/31][0] + c[cnt/31][1]*(cnt%31);
				writePixel(ddsd,x,y,color);
			}
		}
	l++;
	if(l>=640)
		l = 0;
}

void demo3d(DDSURFACEDESC* ddsd)
{	DDSURFACEDESC       ddsdZBuf;
	ddsdZBuf.dwSize = sizeof(ddsdZBuf);
	HRESULT ddrval;
	UINT i;
	p1.rotatePoints(&m4,CONVERTALL);
	face.updataParams(&p1,CONVERTALL);
	p1.clearConvert();
	face.clearConvert();
	face.judgeSide(&p1,&pot);
//	face.calLight(&vLight,groundLight,spotLight,CONVERTSIGNED);
//	face.calLightSpot(&potLight,&p1,groundLight,spotLight-4,CONVERTSIGNED);
	face.calLightMirror(&potLight,&p1,groundLight,spotLight,CONVERTSIGNED);
	p2.copy(&p1);
	p2.convertPoints(&m2,CONVERTSIGNED);
	while ((ddrval=lpDDSZBuffer->Lock(NULL, &ddsdZBuf, 0, NULL)) == DDERR_WASSTILLDRAWING)
				;
	if(ddrval == DDERR_SURFACELOST )
	{	lpDDSZBuffer->Restore();
		return;
	}
	for(i=0;i<face.topPos;i++)
	{	
		if(face.shouldConvert[i])
		{//	fillTriangle3dWithZ(ddsd,&ddsdZBuf,&p2,&face.faces[i],lightLevel[face.faces[i].light]);
			fillTriangle3dWithZLT(ddsd,&ddsdZBuf,&p2,&face.faces[i],face.faces[i].light);
		//	drawTriangle3dWithT1(ddsd,&p2,&face.faces[i],0xffff);
		}
	}
	lpDDSZBuffer->Unlock(NULL);
}

void demo3d2(DDSURFACEDESC* ddsd)
{	DDSURFACEDESC       ddsdZBuf;
	ddsdZBuf.dwSize = sizeof(ddsdZBuf);
	HRESULT ddrval;
	UINT i;
	static UINT ii=0;
	ii++;
	if((ii/110)%2 == 0)
		p3.rotatePoints(&m5,CONVERTALL);
	else
		p3.rotatePoints(&m8,CONVERTALL);
	face1.updataParams(&p3,CONVERTALL);
	p3.clearConvert();
	face1.clearConvert();
	face1.judgeSide(&p3,&pot2);
	face1.calLight(&vLight,groundLight,spotLight,CONVERTSIGNED);
	p4.copy(&p3);
	p4.convertPoints(&m7,CONVERTSIGNED);
//	while ((ddrval=lpDDSZBuffer->Lock(NULL, &ddsdZBuf, 0, NULL)) == DDERR_WASSTILLDRAWING)
//				;
//	if(ddrval == DDERR_SURFACELOST )
//	{	lpDDSZBuffer->Restore();
//		return;
//	}
	//for(i=0;i<p2.topPos;i++)
	for(i=0;i<face1.topPos;i++)
	{	//drawTriangle3d(ddsd,&p2,&face.faces[i],0xffff);
		if(face1.shouldConvert[i])
		{	//fillTriangle3d(ddsd,&p2,&face.faces[i],lightLevel[face.faces[i].light]);
		//	fillTriangle3dWithZT1(ddsd,&ddsdZBuf,&p4,&face1.faces[i],lightLevel[face1.faces[i].light]);
			fillTriangle3dWithT1(ddsd,&p4,&face1.faces[i],lightLevel[face1.faces[i].light]);
		//	fillTriangle3dWithT1(ddsd,&p4,&face1.faces[i],lightLevel[face1.faces[i].light]);
		}
	}
//	lpDDSZBuffer->Unlock(NULL);
}

void demoEnd()
{	static int startPosition=390, startLine = 0;
	HDC         hdc;
	RECT rcRect;
	rcRect.left = 0;
	rcRect.top = 120;
	rcRect.right = 640;
	rcRect.bottom = 390;
	if (lpDDSBack->GetDC(&hdc) == DD_OK)
	{	SetBkColor( hdc, RGB( 0, 0, 255 ) );
		int	oldBkMode = SetBkMode(hdc,TRANSPARENT);
		int pos = startPosition;
		for(int i=startLine;i<lines;i++)
		{	if(pos > 390)
				break;
			SetTextColor( hdc, RGB( 255, 255, 0 ) );
			//TextOut( hdc, 20,pos, txt[i], lstrlen(txt[i]) );
			 ExtTextOut(hdc,20,pos,ETO_CLIPPED,&rcRect,txt[i],lstrlen(txt[i]),0);
			pos += 30;
		}
		SetBkMode(hdc,oldBkMode);
		lpDDSBack->ReleaseDC(hdc);
	}
	if(startPosition > 90)
		startPosition--;
	else
	{	startPosition += 30;
		if(startLine < lines-1)
			startLine++;
		else
		{	startPosition=390;
			startLine = 0;
		}
	}
}

DWORD WINAPI demo(LPVOID lpparm)
{	HDC         hdc;
	HRESULT ddrval;
	DDSURFACEDESC       ddsd;
	ddsd.dwSize = sizeof(ddsd);
	while(1){
		if( bQuit )
			return -1;
			//ExitThread(-1);
		if( bActive )
		{	
			DDBLTFX ddbltfx;
			ddbltfx.dwSize = sizeof(ddbltfx);
			ddbltfx.dwFillColor = 0;
			if(bClear){
			lpDDSBack->Blt(NULL,NULL,NULL,DDBLT_COLORFILL|DDBLT_WAIT, &ddbltfx);
			if(phase == 11)
			{	ddbltfx.dwFillDepth = MAX_ZDEPTH;
				lpDDSZBuffer->Blt(NULL,NULL,NULL,DDBLT_DEPTHFILL|DDBLT_WAIT, &ddbltfx);
			}
			while ((ddrval = lpDDSBack->Lock(NULL, &ddsd, 0, NULL)) == DDERR_WASSTILLDRAWING)
				;
			frames++;
			if( ddrval == DD_OK )
			{	switch (phase)
				{	case 0:
						lineDemo1(&ddsd);
						break;
					case 1:
						lineDemo2(&ddsd);
						break;
					case 2:
						circleDemo1(&ddsd);
						break;
					case 3:
						circleDemo2(&ddsd);
						break;
					case 4:
						ellipseDemo1(&ddsd);
						break;
					case 5:
						ellipseDemo2(&ddsd);
						break;
					case 6:
						rectDemo1(&ddsd);
						break;
					case 7:
						rectDemo2(&ddsd);
						break;
					case 8:
						polygonDemo1(&ddsd);
						break;
					case 9:
						polygonDemo2(&ddsd);
						break;
					case 10:
						fsDemo1(&ddsd);
						break;
					case 11:
						demo3d(&ddsd);
						break;
					case 12:
						demo3d2(&ddsd);
						break;
					case 13:
					{	RECT rcRect;
						rcRect.left = 0;
						rcRect.top = 0;
						rcRect.right = 640;
						rcRect.bottom = 480;
						lpDDSBack->Unlock(NULL);
						lpDDSBack->Blt(&rcRect,lpDDSEndBmp,&rcRect, FALSE, NULL);
						//lpDDSBack->BltFast(0,0,lpDDSEndBmp,&rcRect,FALSE);
						demoEnd();
					}
						break;
					default:
						;
				}
				lpDDSBack->Unlock(NULL);
			}
			if (lpDDSBack->GetDC(&hdc) == DD_OK)
			{
				SetBkColor( hdc, RGB( 0, 0, 255 ) );
				SetTextColor( hdc, RGB( 255, 255, 0 ) );
				TextOut( hdc, 10, 10, szFrontMsg[phase], lstrlen(szFrontMsg[phase]) );
				TextOut( hdc, 330, 420, szMsg, lstrlen(szMsg) );
				TextOut( hdc, 330, 450, szMsg1, lstrlen(szMsg1) );
				if(time(NULL)>tt)
				{	tt = time(NULL);
					rate = frames;
					frames=0;
				}
				char cc[40];
				sprintf(cc,"屏幕刷新率為:%ld幅/秒",rate);
				TextOut( hdc, 120, 10, cc, lstrlen(cc) );
				lpDDSBack->ReleaseDC(hdc);
			}
			while( 1 )
			{
			    ddrval = lpDDSPrimary->Flip( NULL, 0 );
		        if( ddrval == DD_OK )
			    {
				    break;
				}
				if( ddrval == DDERR_SURFACELOST )
				{
					ddrval = lpDDSPrimary->Restore();
					if( ddrval != DD_OK )
					{
						break;
					}
				}
				if( ddrval != DDERR_WASSTILLDRAWING )
				{
					break;
				}
			}
			}
			else
			{	while ((ddrval = lpDDSPrimary->Lock(NULL, &ddsd, 0, NULL)) == DDERR_WASSTILLDRAWING)
				;
				frames++;
				if( ddrval == DD_OK )
				{	switch (phase)
					{	case 10:
							fsDemo1(&ddsd);
							break;
						default:
							;
					}
					lpDDSPrimary->Unlock(NULL);
				}
				if (lpDDSPrimary->GetDC(&hdc) == DD_OK)
				{
					SetBkColor( hdc, RGB( 0, 0, 255 ) );
					SetTextColor( hdc, RGB( 255, 255, 0 ) );
					TextOut( hdc, 10, 10, szFrontMsg[phase], lstrlen(szFrontMsg[phase]) );
					TextOut( hdc, 330, 420, szMsg, lstrlen(szMsg) );
					TextOut( hdc, 330, 450, szMsg1, lstrlen(szMsg1) );
					if(time(NULL)>tt)
					{	tt = time(NULL);
						rate = frames;
						frames=0;
					}
					char cc[40];
					sprintf(cc,"屏幕刷新率為:%ld幅/秒",rate);
					TextOut( hdc, 120, 10, cc, lstrlen(cc) );
					lpDDSPrimary->ReleaseDC(hdc);
				}
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜视频在线观看一区| 国产精品网站在线播放| 亚洲午夜私人影院| 91国偷自产一区二区三区成为亚洲经典| 欧美韩日一区二区三区四区| 国产成人a级片| 中文字幕一区二区三区四区| 99精品黄色片免费大全| 最新热久久免费视频| 一道本成人在线| 亚洲国产一区二区三区| 3751色影院一区二区三区| 亚洲电影在线免费观看| 欧美一区二区福利在线| 激情综合五月天| 国产精品视频看| 91精彩视频在线| 日韩精品乱码av一区二区| 久久综合色之久久综合| 成人成人成人在线视频| 亚洲电影你懂得| 精品国产乱码久久久久久老虎| 国产成人日日夜夜| 亚洲欧美色一区| 日韩一二三区不卡| 成人小视频免费观看| 亚洲综合一区在线| 欧美成人精精品一区二区频| 国产成人精品亚洲777人妖| 亚洲欧美另类久久久精品2019| 欧美三级日韩三级| 狠狠久久亚洲欧美| 亚洲欧美日韩国产手机在线| 日韩一区二区三区免费观看| 波多野结衣在线aⅴ中文字幕不卡| 一区二区三区日本| 久久精品日产第一区二区三区高清版 | 亚洲一区在线观看免费观看电影高清| 欧美日韩aaa| jizzjizzjizz欧美| 久久国产精品露脸对白| 亚洲女同一区二区| 久久婷婷综合激情| 欧美久久久影院| 国产 日韩 欧美大片| 天堂久久一区二区三区| 国产精品入口麻豆九色| 欧美一二三区在线| 色悠久久久久综合欧美99| 狠狠色狠狠色综合| 日韩综合小视频| 中文字幕一区免费在线观看| 欧美精品一区二区三区很污很色的 | 不卡的电影网站| 男女激情视频一区| 亚洲另类色综合网站| 久久久蜜桃精品| 欧美午夜电影网| 成人av影院在线| 国产剧情在线观看一区二区| 日韩av电影天堂| 亚洲一二三区不卡| 伊人夜夜躁av伊人久久| 国产欧美日韩精品在线| 日韩欧美色综合| 6080日韩午夜伦伦午夜伦| 日本久久一区二区| 成人免费电影视频| 国内精品伊人久久久久av影院| 三级一区在线视频先锋| 亚洲精品国产品国语在线app| 国产精品全国免费观看高清| 精品福利一区二区三区| 日韩一级二级三级| 69av一区二区三区| 欧美一区日韩一区| 在线播放91灌醉迷j高跟美女 | 精品视频1区2区| 色婷婷av一区| 在线亚洲高清视频| 色88888久久久久久影院野外| 91亚洲国产成人精品一区二三| 成人h动漫精品一区二| 成人性视频免费网站| 成人精品电影在线观看| 国产成人精品三级| 成人动漫一区二区三区| 99久久伊人精品| 91丨九色丨蝌蚪丨老版| 色女孩综合影院| 色老汉av一区二区三区| 欧美视频自拍偷拍| 欧美日韩午夜影院| 91精品国产综合久久香蕉的特点| 91精品国产美女浴室洗澡无遮挡| 在线综合+亚洲+欧美中文字幕| 777欧美精品| 精品国产乱码91久久久久久网站| 久久亚洲欧美国产精品乐播| 国产女人18水真多18精品一级做| 欧美国产激情一区二区三区蜜月| 中文字幕高清不卡| 1区2区3区欧美| 亚洲一二三专区| 午夜私人影院久久久久| 免费视频一区二区| 国产成人午夜视频| 一本大道综合伊人精品热热| 欧美性感一类影片在线播放| 欧美日韩一区二区三区不卡| 欧美一区二区人人喊爽| 久久久久久综合| 亚洲精品福利视频网站| 日韩黄色一级片| 国产成人h网站| 欧美系列亚洲系列| 久久久久国产精品人| 亚洲美女在线一区| 美国三级日本三级久久99| 国产激情偷乱视频一区二区三区| 99精品国产99久久久久久白柏| 欧美三级蜜桃2在线观看| 久久美女高清视频| 亚洲一区二区美女| 国产精品伊人色| 91福利国产精品| 久久精品人人做人人综合 | 欧美日韩久久一区| 久久精品视频免费| 亚洲一区精品在线| 国产精品一区二区黑丝| 欧美日韩国产一级| 国产精品久久久久久久蜜臀| 香蕉久久夜色精品国产使用方法| 国产乱码精品一品二品| 欧美亚洲一区二区在线| 久久精品亚洲精品国产欧美| 午夜激情综合网| 99久久婷婷国产| 久久久午夜精品理论片中文字幕| 有坂深雪av一区二区精品| 国产在线不卡一区| 337p亚洲精品色噜噜| 综合久久综合久久| 国产精品一二三| 91精品国产入口| 亚洲国产成人porn| 91玉足脚交白嫩脚丫在线播放| 久久久久久久久99精品| 亚洲v精品v日韩v欧美v专区 | 麻豆免费精品视频| 欧洲一区在线电影| 国产精品久久久久久亚洲毛片| 久草在线在线精品观看| 精品视频在线看| 一区二区理论电影在线观看| 成人黄色网址在线观看| 久久夜色精品国产欧美乱极品| 日韩制服丝袜先锋影音| 色88888久久久久久影院野外| 亚洲国产精品黑人久久久| 国模少妇一区二区三区| 3d成人动漫网站| 日日夜夜免费精品| 欧美午夜精品一区| 亚洲成av人片在线| 欧美性受xxxx| 一区二区三区av电影| 色婷婷国产精品久久包臀| 亚洲欧美激情插| 99久久伊人精品| 国产精品进线69影院| 国产99精品国产| 中文字幕高清一区| 94色蜜桃网一区二区三区| 综合网在线视频| 91亚洲男人天堂| 亚洲一区二区三区四区在线 | 欧美日韩成人综合在线一区二区| 亚洲一区二区四区蜜桃| 欧美色综合网站| 亚洲超碰精品一区二区| 日韩一区国产二区欧美三区| 九九热在线视频观看这里只有精品| 日韩三级精品电影久久久| 看电视剧不卡顿的网站| 精品奇米国产一区二区三区| 精品一区二区影视| 国产日韩欧美一区二区三区综合| 国产黄色精品视频| 国产人久久人人人人爽| a在线播放不卡| 亚洲精品国产品国语在线app| 欧美日韩视频在线观看一区二区三区| 亚洲一区二区三区四区在线| 日韩精品综合一本久道在线视频| 国产乱理伦片在线观看夜一区| 亚洲天堂久久久久久久| 欧美日韩黄视频| 国内精品免费在线观看|