Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

convex_hull

Boost , Chapter 1. Geometry , Algorithms

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Вычисляет выпуклый корпус геометрии.

Description

Свободная функция convex_hull вычисляет выпуклый корпус геометрии.

Synopsis

template<typename Geometry, typename OutputGeometry>
void convex_hull(Geometry const & geometry, OutputGeometry & hull)

Parameters

Тип

Концепция

Имя

Описание

Геометрия конст &

Тип входной геометрии

Геометрия

Модель указанного понятия, входная геометрия

OutputGeometry &

тип выходной геометрии

корпус

Модель заданной концепции, устанавливаемая на выпуклый корпус

Header

Либо

#include <boost/geometry.hpp>

Либо

#include <boost/geometry/algorithms/convex_hull.hpp>

Conformance

Функция convex_hull реализует функцию ConvexHull() изOGC Simple Feature Specification.

Supported geometries

Геометрия

статус

Точка

ok

Сегмент

ok

Коробка

ok

Струна

ok

Кольцо

ok

Полигон

ok

Многоточечный

ok

Мультилинестринг

ok

Мультиполигон

ok

Complexity

линейный

Example

Показывает, как генерировать выпуклый_корпус геометрии

#include <iostream>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/geometries/adapted/boost_tuple.hpp>
BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian)
int main()
{
    typedef boost::tuple<double, double> point;
    typedef boost::geometry::model::polygon<point> polygon;
    polygon poly;
    boost::geometry::read_wkt("polygon((2.0 1.3, 2.4 1.7, 2.8 1.8, 3.4 1.2, 3.7 1.6,3.4 2.0, 4.1 3.0"
        ", 5.3 2.6, 5.4 1.2, 4.9 0.8, 2.9 0.7,2.0 1.3))", poly);
    polygon hull;
    boost::geometry::convex_hull(poly, hull);
    using boost::geometry::dsv;
    std::cout
        << "polygon: " << dsv(poly) << std::endl
        << "hull: " << dsv(hull) << std::endl
        ;
    return 0;
}

Результат:

polygon: (((2, 1.3), (2.4, 1.7), (2.8, 1.8), (3.4, 1.2), (3.7, 1.6), (3.4, 2), (4.1, 3), (5.3, 2.6), (5.4, 1.2), (4.9, 0.8), (2.9, 0.7), (2, 1.3)))
hull: (((2, 1.3), (2.4, 1.7), (4.1, 3), (5.3, 2.6), (5.4, 1.2), (4.9, 0.8), (2.9, 0.7), (2, 1.3)))
convex_hull

PrevUpHomeNext

Статья convex_hull раздела Chapter 1. Geometry Algorithms может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Algorithms ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 18:29:29/0.0065000057220459/0