本文整理汇总了C++中polygon::front方法的典型用法代码示例。如果您正苦于以下问题:C++ polygon::front方法的具体用法?C++ polygon::front怎么用?C++ polygon::front使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类polygon
的用法示例。
在下文中一共展示了polygon::front方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: rotatingCalipers
void rotatingCalipers(polygon pg)
{
pg.push_back(pg.front());
for (int i = 0, j = 1, n = pg.size() - 1; i < n; i++)
{
while (cross(pg[i + 1] - pg[i], pg[j + 1] - pg[j]) > 0)
j = (j + 1) % n;
double dist1 = pg[i].distTo(pg[j - 1]);
double dist2 = pg[i].distTo(pg[j]);
double dist3 = pg[i].distTo(pg[j + 1]);
int r1 = j + 1, r2 = j + 2;
cout << (j - 1) << '=' << dist1 << ' ' << j << '=' << dist2 << ' ' << (j + 1) << '=' << dist3 << '\n';
if (r1 >= n) r1 = 1;
if (r2 >= n) r2 = 1;
if (dist2 > dist3) cout << r1 << '\n';
else if (dist3 > dist2) cout << r2 << '\n';
else cout << min(r1, r2) << '\n';
}
}