当前位置: 首页>>代码示例>>C++>>正文


C++ Point2D::DistanceOfTwo方法代码示例

本文整理汇总了C++中Point2D::DistanceOfTwo方法的典型用法代码示例。如果您正苦于以下问题:C++ Point2D::DistanceOfTwo方法的具体用法?C++ Point2D::DistanceOfTwo怎么用?C++ Point2D::DistanceOfTwo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Point2D的用法示例。


在下文中一共展示了Point2D::DistanceOfTwo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: DistToPoint

		//Frissíti a Rectangle point_distance mezőjét a knn-be beadott pontnak a függvényében (comparator megvalósítás miatt szükséges)
		void DistToPoint(Point2D a)
		{

			//Lehetséges esetek:
			//(őszintén remélem a kommentelt "ábra" ( bár annak nem igazán mondható :D ) nem csúszott el
				  /**				*
			3.(nw)	* 1.(nw<a.x<ne) *	5.(ne)
					*	   a.y<		*
		*-*-*-*-*-*-*---------------*-*-*-*-*-*-*
			a.y<	|				|	a.y>
			2.		|	rectangle	|	2.
		(nw<a.y<ne)	|				|(nw<a.y<ne)
		*-*-*-*-*-*-*---------------*-*-*-*-*-*-*
					*				*
			4.(sw)	* 1.(nw<a.x<ne)	*	6.(se)
					*	  a.y>		**/


			// 1. eset(ek)
			if (a.x > this->Upper.x && a.x < this->Upper.x + this->Size.x)
			{
				point_distance = abs(a.y -  this->Upper.y);
			}
			// 2.eset(ek)
			else if (a.y >  this->Upper.y && a.y <  this->Size.y + this->Upper.y)
			{
				point_distance = abs(a.x - this->Upper.x);
			}
			//3.
			else if(a.x < this->Upper.x && a.y < this->Upper.y)
			{
				a.DistanceOfTwo(this->Upper);
				point_distance = a.ptopdistance;
			}
			//4.
			else if(a.x < this->Upper.x && a.y > this->Upper.y)
			{
				Point2D swcorner{Upper.x, Upper.y + Size.y};
				a.DistanceOfTwo(swcorner);
				point_distance = a.ptopdistance;
			}
			//5.
			else if(a.x > this->Upper.x + this->Size.x && a.y < this->Upper.y)
			{
				Point2D necorner{Upper.x + Size.x, Upper.y};
				a.DistanceOfTwo(necorner);
				point_distance = a.ptopdistance;
			}
			//6.
			else if(a.x > this->Upper.x + this->Size.x && a.y > this->Upper.y + this->Size.y)
			{
				Point2D secorner{Upper.x + Size.x, Upper.y + Size.y};
				a.DistanceOfTwo(secorner);
				point_distance = a.ptopdistance;
			}
		}
开发者ID:calemnis,项目名称:Quadtree-kNearestNeighbors,代码行数:57,代码来源:quadtree.hpp


注:本文中的Point2D::DistanceOfTwo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。