Giriş
Convex Hull belli bir nokta setinin tamamını içeren polygon'dur. Convex Hull hesaplaması için çeşitli yöntemler var. Şeklen şöyledir
Örnek
Şöyle yaparız.
Convex Hull belli bir nokta setinin tamamını içeren polygon'dur. Convex Hull hesaplaması için çeşitli yöntemler var. Şeklen şöyledir
Örnek
Şöyle yaparız.
bool is_convex(const polygon& convex_polygon) noexcept
{
const auto n = convex_polygon.size();
if(n <= 2) return false;
auto sense = side::center;
for(auto i = 0u; i < n; ++i)
{
auto new_sense = determine_side(line{convex_polygon[i], convex_polygon[(i + 2) % n]},
convex_polygon[(i + 1) % n]);
if(sense == side::center)
{
sense = new_sense;
}
else if(new_sense != side::center && new_sense != sense)
{
return false;
}
}
return sense != side::center;
}
Hiç yorum yok:
Yorum Gönder