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

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

?? cmaptsp.cpp

?? 《游戲編程中的人工智能技術》書中源代碼和可執行文件
?? CPP
字號:
#include "CmapTSP.h"



//--------------------Create Cities-------------------------
//
//	Evenly spaces the cities on the perimeter of a wheel and
//  returns a vector of their coordinates
//----------------------------------------------------------
void CmapTSP::CreateCitiesCircular()
{
	//first caculate the radius of spread and the origin
	const int margin = 50;
	
	double radius;

	if (m_MapHeight < m_MapWidth)
	{
		radius = (m_MapHeight / 2) - margin;
	}

	else
	{
		radius = (m_MapWidth / 2) - margin;
	}
	
	CoOrd origin(m_MapWidth / 2, m_MapHeight / 2);

	//calculate angle division between adjacent cities.
	double SegmentSize = 2 * pi / m_NumCities;
	
	double angle = 0;
	
	vector<CoOrd> vecCities;
	
	while (angle < 2 * pi)
	{
		CoOrd ThisCity;
		
		ThisCity.x = radius * sin(angle) + origin.x;
		ThisCity.y = radius * cos(angle) + origin.y;
		
		m_vecCityCoOrds.push_back(ThisCity);
		
		angle += SegmentSize;
	}
}
//-------------------------------BestPossibleFitness---------------------------------
//
//	calculates the distance of the optimum route. We use this so we
//	can tell when to stop each run
//----------------------------------------------------------------------
void CmapTSP::CalculateBestPossibleRoute()
{
	m_dBestPossibleRoute = 0;
	
	for (int city=0; city<m_vecCityCoOrds.size()-1; ++city)
	{
		m_dBestPossibleRoute += CalculateA_to_B(m_vecCityCoOrds[city], m_vecCityCoOrds[city+1]);
		
		//add in a small amount to cover any precision errors we may have made
		m_dBestPossibleRoute += EPSILON;
	}
	
	//add in the distance from the last to the first
	m_dBestPossibleRoute += CalculateA_to_B(m_vecCityCoOrds[m_vecCityCoOrds.size()-1], m_vecCityCoOrds[0]);
}

//---------------------Calculate Distance----------------------
//
//	returns the distance between the two given cities
//-------------------------------------------------------------
double CmapTSP::CalculateA_to_B(const CoOrd &city1, const CoOrd &city2)
{
	double xDist = city1.x - city2.x;
	double yDist = city1.y - city2.y;
	
	return sqrt(xDist*xDist + yDist*yDist);
}

//-----------------Calculate Fitness ---------------------------
//
//	calculates the total distance the salesman must travel for
//	the given order of cities
//--------------------------------------------------------------
double CmapTSP::GetTourLength(const vector<int> &route)
{
	double TotalDistance = 0;
	
	for (int i=0; i<route.size()-1; ++i)
	{
		int city1 = route[i];
		int city2 = route[i+1];
		
		TotalDistance += CalculateA_to_B(m_vecCityCoOrds[city1], m_vecCityCoOrds[city2]);
	}
	
	//don't forget this is a closed loop so we need to add in the distance 
	//from the last city visited back to the first
	int last  = route[route.size()-1];
	int first = route[0];
	
	TotalDistance += CalculateA_to_B(m_vecCityCoOrds[last], m_vecCityCoOrds[first]);
	
	return TotalDistance;
}
//--------------------------- Refresh --------------------------------
//
//	used to recalculate the city positions and the best possible tour 
//	if map sizes are changed (eg if user changes window size)
//--------------------------------------------------------------------
void CmapTSP::Resize(const int new_width, const int new_height)
{
	m_MapWidth  = new_width;
	m_MapHeight = new_height;

	m_vecCityCoOrds.clear();

	CreateCitiesCircular();
	
	CalculateBestPossibleRoute();
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品成人佐山爱一区二区| 国产欧美精品国产国产专区| 91精品国产乱码久久蜜臀| 精品国产一区二区三区久久影院| 亚洲精品免费视频| 丰满少妇久久久久久久 | 亚洲三级免费观看| 国产美女精品一区二区三区| 在线观看网站黄不卡| 国产亲近乱来精品视频 | 成人午夜在线免费| 日韩欧美123| 婷婷久久综合九色综合伊人色| 成人a免费在线看| 久久亚洲一级片| 激情五月激情综合网| 555夜色666亚洲国产免| 亚洲永久精品国产| 91热门视频在线观看| 中文字幕va一区二区三区| 国产一区二区精品久久99| 日韩你懂的电影在线观看| 五月天亚洲精品| 欧美色视频在线观看| 亚洲综合色区另类av| 色欧美日韩亚洲| 亚洲女同ⅹxx女同tv| 99久久精品国产毛片| 中文字幕第一区第二区| 国产ts人妖一区二区| 久久夜色精品国产噜噜av| 精品中文字幕一区二区小辣椒| 91精品国产综合久久久久久 | 国产在线精品国自产拍免费| 欧美成人一区二区三区在线观看| 日韩av成人高清| 91精品国产综合久久福利| 日日摸夜夜添夜夜添精品视频| 欧美日韩一区中文字幕| 五月激情丁香一区二区三区| 91精品国产一区二区三区蜜臀| 美腿丝袜在线亚洲一区| 欧美大片免费久久精品三p| 九色综合国产一区二区三区| 精品国产乱码久久久久久闺蜜| 国产在线精品国自产拍免费| 欧美国产欧美亚州国产日韩mv天天看完整| 国产成人一级电影| 亚洲欧美电影一区二区| 欧美在线视频不卡| 免费在线观看视频一区| 精品福利一二区| 不卡区在线中文字幕| 亚洲人123区| 91精品国产综合久久久蜜臀图片| 久久精品国产99| 国产精品久久久久一区二区三区| 99国产精品久久久久| 亚洲午夜视频在线观看| 日韩精品中午字幕| 成a人片亚洲日本久久| 亚洲高清在线精品| 久久久久国产一区二区三区四区| 成人sese在线| 免费成人av在线播放| 国产精品色哟哟网站| 国产丝袜美腿一区二区三区| 色综合久久天天| 日本vs亚洲vs韩国一区三区 | 成人一区在线观看| 夜色激情一区二区| 精品福利在线导航| 欧美伊人精品成人久久综合97| 国内一区二区在线| 一区二区欧美在线观看| 久久精品免视看| 在线播放视频一区| 99综合影院在线| 韩国精品一区二区| 亚洲成人免费视| 国产精品二三区| 26uuu国产电影一区二区| 欧洲日韩一区二区三区| 国产精品996| 日韩激情av在线| 亚洲另类中文字| 国产日本欧美一区二区| 欧美一二三区在线观看| 欧美性感一区二区三区| 丁香啪啪综合成人亚洲小说| 午夜欧美电影在线观看| 亚洲丝袜精品丝袜在线| 国产日本亚洲高清| 精品毛片乱码1区2区3区| 欧美日韩黄色一区二区| 一本大道久久a久久精品综合| 国产制服丝袜一区| 久久超碰97中文字幕| 日韩电影一区二区三区| 国产毛片精品国产一区二区三区| 午夜婷婷国产麻豆精品| 在线播放亚洲一区| 91香蕉视频黄| 波波电影院一区二区三区| 激情伊人五月天久久综合| 美女视频一区在线观看| 天天色天天操综合| 午夜一区二区三区在线观看| 亚洲激情中文1区| 伊人夜夜躁av伊人久久| 综合av第一页| 亚洲视频网在线直播| 中文字幕一区二区三区在线播放 | 国产盗摄精品一区二区三区在线| 麻豆国产91在线播放| 久久超碰97人人做人人爱| 久久精品久久综合| 精品一区二区三区日韩| 久久99国产精品久久99| 国模少妇一区二区三区| 国产黄色91视频| 粉嫩蜜臀av国产精品网站| 91在线视频免费91| 在线观看国产一区二区| 欧美日本一道本在线视频| 欧美日韩的一区二区| 制服丝袜亚洲色图| 精品国产91洋老外米糕| 国产欧美一区二区三区在线看蜜臀| 国产视频911| 一区二区三区在线视频播放| 亚洲尤物在线视频观看| 秋霞午夜av一区二区三区| 久久av资源站| 不卡的电视剧免费网站有什么| 成人99免费视频| 欧美日韩免费一区二区三区| 日韩午夜av一区| 久久精品一区二区三区不卡牛牛| 欧美国产日韩精品免费观看| 亚洲男人天堂一区| 青娱乐精品视频在线| 国产成人免费在线| 色8久久精品久久久久久蜜| 欧美精品视频www在线观看 | www激情久久| 中文字幕在线一区| 天堂精品中文字幕在线| 国产成人在线免费| 欧美日韩一区二区三区高清| 久久婷婷一区二区三区| 亚洲色图一区二区三区| 另类小说色综合网站| 91在线你懂得| 久久青草国产手机看片福利盒子| 中文字幕人成不卡一区| 蜜臀av一区二区三区| www..com久久爱| 日韩欧美成人激情| 一区二区成人在线观看| 视频一区二区三区中文字幕| 从欧美一区二区三区| 欧美一二三四在线| 亚洲精品高清视频在线观看| 久久精品国产77777蜜臀| 在线观看av一区二区| 国产午夜精品理论片a级大结局| 亚洲v中文字幕| 色综合中文字幕国产 | 久久众筹精品私拍模特| 国产精品网站在线观看| 秋霞成人午夜伦在线观看| 欧美性受xxxx黑人xyx性爽| 精品粉嫩aⅴ一区二区三区四区| 亚洲精品五月天| 国产精品66部| 2020国产成人综合网| 日本免费在线视频不卡一不卡二 | 国产麻豆成人精品| 一区二区成人在线观看| 国产suv精品一区二区883| 欧美电影免费观看高清完整版在线观看| 亚洲人成精品久久久久久| 成人av综合在线| 国产亚洲精品aa午夜观看| 久久99精品久久久| 91精品国产综合久久精品性色| 亚洲午夜电影在线| 一本色道久久综合亚洲91| 亚洲国产精品精华液ab| 国产麻豆9l精品三级站| 精品少妇一区二区| 久久er精品视频| 26uuu国产电影一区二区| 精品一区二区三区免费观看 | 精品一区二区三区免费观看| 欧美日产在线观看| 丝袜美腿亚洲综合| 欧美电影在线免费观看| 日韩精品电影在线|