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

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

?? cmaptsp.cpp

?? Evenly spaces the cities on the perimeter of a wheel and returns a vector of their coordinates 利用AI
?? 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一区二区三区免费野_久草精品视频
成a人片亚洲日本久久| 懂色av一区二区三区蜜臀| 亚洲日本乱码在线观看| 国产精品激情偷乱一区二区∴| 精品日韩成人av| 久久这里只有精品首页| 欧美精品一区二区在线观看| 欧美电影免费观看高清完整版在线| 欧美一级在线视频| 日韩欧美自拍偷拍| 久久久久久97三级| 国产精品每日更新| 亚洲一区二区三区国产| 天天操天天综合网| 麻豆91精品91久久久的内涵| 国产一区二区三区免费播放| 国产成a人亚洲| 在线观看网站黄不卡| 欧美日韩黄视频| 日韩免费电影网站| 国产日韩精品一区二区三区在线| 最新国产成人在线观看| 亚洲va国产va欧美va观看| 久久精品噜噜噜成人av农村| 成人午夜私人影院| 欧美日韩高清影院| 国产欧美va欧美不卡在线| 一区二区三区影院| 精品亚洲porn| 日本黄色一区二区| 日韩视频中午一区| 亚洲丝袜制服诱惑| 久久成人综合网| 色老头久久综合| 精品久久久久久久人人人人传媒| 国产精品传媒入口麻豆| 日韩中文字幕麻豆| a在线欧美一区| 日韩一区二区三区在线| 亚洲色图欧洲色图婷婷| 老司机免费视频一区二区三区| 不卡av在线免费观看| 欧美一区二区在线视频| 《视频一区视频二区| 精品一区二区国语对白| 欧美亚洲尤物久久| 国产日韩精品一区二区三区| 视频一区在线视频| 91精品91久久久中77777| 国产欧美日本一区视频| 美国毛片一区二区| 欧美视频精品在线观看| 日韩久久一区二区| 国产69精品久久99不卡| 欧美一级二级在线观看| 亚洲一级二级三级在线免费观看| 成人黄色片在线观看| 26uuu国产一区二区三区| 青青草视频一区| 日韩一区二区视频| 偷窥少妇高潮呻吟av久久免费| 色综合av在线| 日韩理论片中文av| 99久久久免费精品国产一区二区| 精品免费一区二区三区| 免费观看在线综合| 日韩一区二区视频在线观看| 婷婷开心激情综合| 欧美卡1卡2卡| 五月婷婷综合网| 欧美日韩国产综合一区二区三区| 亚洲色图清纯唯美| 91行情网站电视在线观看高清版| 综合分类小说区另类春色亚洲小说欧美| 国产综合一区二区| 日韩欧美二区三区| 国产精品一线二线三线精华| 2021久久国产精品不只是精品| 麻豆成人在线观看| 2023国产精品自拍| 成人天堂资源www在线| 亚洲天堂中文字幕| 一本大道久久精品懂色aⅴ| 一区二区三区成人在线视频| 欧美亚洲自拍偷拍| 精品一区二区影视| 国产午夜精品美女毛片视频| 国产精品一二三四| 成人欧美一区二区三区小说| 91久久精品一区二区三区| 亚洲国产欧美日韩另类综合| 91精品国产综合久久精品| 精品中文av资源站在线观看| 国产欧美日韩激情| 欧美羞羞免费网站| 美国三级日本三级久久99| 久久人人爽爽爽人久久久| 成人动漫中文字幕| 洋洋成人永久网站入口| 91精品国产全国免费观看| 国产在线精品一区二区三区不卡| 国产精品国模大尺度视频| 欧美性大战久久久| 精品综合免费视频观看| 国产精品色在线| 欧美肥胖老妇做爰| 成人午夜视频在线观看| 视频一区二区中文字幕| 国产亚洲美州欧州综合国| 在线视频观看一区| 国产精品18久久久| 亚洲国产人成综合网站| 日本一区二区三区免费乱视频| 91福利精品视频| 国产麻豆午夜三级精品| 一区二区三区四区在线播放| 精品国产乱码久久| 欧美性生活久久| bt欧美亚洲午夜电影天堂| 免费精品视频在线| 亚洲一区二区三区四区在线免费观看| 精品国产乱码久久久久久闺蜜| 欧美亚洲一区三区| 丁香婷婷综合五月| 久久国产精品色| 亚洲国产视频直播| 麻豆国产欧美日韩综合精品二区| 亚洲欧美在线视频观看| 精品国产青草久久久久福利| 欧美日韩高清在线播放| 色综合久久天天| 99久久国产综合色|国产精品| 美女精品自拍一二三四| 天堂蜜桃91精品| 亚洲精品国产精品乱码不99 | 国产剧情av麻豆香蕉精品| 亚洲电影一区二区| 亚洲美女免费视频| 久久综合中文字幕| 欧美成va人片在线观看| 精品视频在线看| 在线免费观看视频一区| 91性感美女视频| 99r精品视频| 91在线码无精品| 成人av在线一区二区| 国产成人综合网| 国产成人aaaa| 成人免费视频一区二区| 国产激情精品久久久第一区二区 | 免费人成网站在线观看欧美高清| 一区二区高清视频在线观看| 亚洲三级在线观看| 国产亚洲1区2区3区| 岛国一区二区在线观看| 成人免费视频视频在线观看免费| 岛国精品在线观看| 91在线国产观看| 色偷偷久久一区二区三区| av不卡一区二区三区| 99在线精品一区二区三区| caoporn国产精品| 91无套直看片红桃| 在线观看www91| 91麻豆精品国产自产在线观看一区 | 久久综合色之久久综合| 久久综合色一综合色88| 久久久91精品国产一区二区精品| 欧美极品美女视频| 亚洲欧美偷拍卡通变态| 无吗不卡中文字幕| 国内成人自拍视频| 99久久精品免费看| 欧美丰满高潮xxxx喷水动漫| 精品少妇一区二区三区在线播放 | 日本久久精品电影| 日韩一区二区三区四区| 久久蜜桃av一区精品变态类天堂 | 亚洲一区av在线| 免费三级欧美电影| k8久久久一区二区三区| 欧美影院午夜播放| 久久先锋影音av鲁色资源网| 亚洲丝袜精品丝袜在线| 天堂影院一区二区| 成人午夜碰碰视频| 欧美高清www午色夜在线视频| 久久综合色播五月| 亚洲综合色网站| 国产一区二区中文字幕| 色激情天天射综合网| 日韩三级视频在线看| 亚洲欧美日韩国产手机在线| 麻豆91免费观看| 在线观看国产91| 欧美激情艳妇裸体舞| 琪琪久久久久日韩精品| 日本高清视频一区二区| 久久综合色之久久综合| 丝袜美腿亚洲综合|