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

centroid

Boost , Chapter 1. Geometry , centroid

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

Центроид свободной функции вычисляет геометрический центр (или: центр массы) геометрии. Он использует стратегию по умолчанию, основанную на системе координат геометрии.

Synopsis

template<typename Geometry, typename Point>
void centroid(Geometry const & geometry, Point & c)

Parameters

Тип

Концепция

Имя

Описание

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

Любой тип, выполняющий концепцию геометрии

Геометрия

Модель указанного понятия

Точка и усилитель;

Вычисленный центроид будет отнесен к этой контрольной точке

.
Header

Или

#include <boost/geometry.hpp>

Или

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

Conformance

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

Behavior

Дело

поведение

Возвращает точку как центроид

Многоточечная

Вычисляет центроид (в среднем)

ареал (например, полигон)

Картезиан

Реализовано

Вычисляет центроид как бы на основе декартовых координат

.
Supported geometries

2D

3D

ok

ok

Сегмент

ok

ok

Коробка

ok

ok

ok

nyi

Кольцо

ok

nyi

ok

nyi

ok

ok

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

ok

nyi

ok

nyi

Complexity

линейный

Example

Показывает расчет центроида полигона

#include <iostream>
#include <list>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>
int main()
{
    typedef boost::geometry::model::d2::point_xy<double> point_type;
    typedef boost::geometry::model::polygon<point_type> polygon_type;
    polygon_type poly;
    boost::geometry::read_wkt(
        "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)"
            "(4.0 2.0, 4.2 1.4, 4.8 1.9, 4.4 2.2, 4.0 2.0))", poly);
    point_type p;
    boost::geometry::centroid(poly, p);
    std::cout << "centroid: " << boost::geometry::dsv(p) << std::endl;
    return 0;
}

Результат:

centroid: (4.04663, 1.6349)
centroid

Обратите внимание, что центроид может быть легко расположен в отверстии или за пределами полигона.


PrevUpHomeNext

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




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



:: Главная :: centroid ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 22:58:59/0.0067729949951172/0