本文整理汇总了C++中point::square_distance方法的典型用法代码示例。如果您正苦于以下问题:C++ point::square_distance方法的具体用法?C++ point::square_distance怎么用?C++ point::square_distance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类point
的用法示例。
在下文中一共展示了point::square_distance方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: smaller_angle
bool smaller_angle(const point<2>& first_point, const point<2>& p1, const point<2>& p2)
{
if (collinear(first_point, p1, p2))
return (first_point.square_distance(p1) > first_point.square_distance(p2));
return (!ccw(first_point, p1, p2));
}
示例2: remove_points_with_same_angle
void polygon::remove_points_with_same_angle(const point<2>& first_point) {
// asumes points are in leftlower order.
int oldn = _n; // num of points before deletion
int hole = 1; // index marked for potential deletion
for (int i = 2; i < oldn; i++) {
if ( collinear(first_point, vec_points[hole], vec_points[i]) ) {
// leave the farthest point
if (first_point.square_distance(vec_points[hole]) < first_point.square_distance(vec_points[i]))
vec_points[hole] = vec_points[i];
_n--;
} else {
hole++;
if (hole != i)
vec_points[hole] = vec_points[i];
}
}
}
示例3: operator
bool operator()(const point<2>& p1, const point<2>& p2) {
if (collinear(_reference, p1, p2))
return (_reference.square_distance(p1) > _reference.square_distance(p2));
return (ccw(_reference, p1, p2));
}