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

area

Boost , Chapter 1. Geometry , area

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>
default_area_result<Geometry>::type area(Geometry const & geometry)

Parameters

Тип

Концепция

Имя

Описание

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

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

Геометрия

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

Returns

Расчетная площадь

Header

Либо

#include <boost/geometry.hpp>

Либо

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

Conformance

Функциональная область реализует функцию Area отOGC Simple Feature Specification.

Behavior

Дело

поведение

точечный (например, точка)

Возвращение 0

линейный (например, линейный)

Возвращение 0

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

Возвращает территорию

Картезиан

Возвращает область в тех же единицах, что и входные координаты

.

Сферический

Возвращает площадь на единичную сферу (или другую сферу, если таковая указана в конструкторе стратегии)

Обратный многоугольник (координаты, не соответствующие их ориентации)

Возвращает отрицательную область

Supported geometries

Геометрия

статус

Точка

ok

Сегмент

ok

Коробка

ok

Струна

ok

Кольцо

ok

Полигон

ok

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

ok

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

ok

Многополигон

ok

Вариант

ok

Complexity

линейный

Examples

Вычислите площадь полигона

#include <iostream>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>
namespace bg = boost::geometry; 1
int main()
{
    // Calculate the area of a cartesian polygon
    bg::model::polygon<bg::model::d2::point_xy<double> > poly;
    bg::read_wkt("POLYGON((0 0,0 7,4 2,2 0,0 0))", poly);
    double area = bg::area(poly);
    std::cout << "Area: " << area << std::endl;
    // Calculate the area of a spherical equatorial polygon
    bg::model::polygon<bg::model::point<float, 2, bg::cs::spherical_equatorial<bg::degree> > > sph_poly;
    bg::read_wkt("POLYGON((0 0,0 45,45 0,0 0))", sph_poly);
    area = bg::area(sph_poly);
    std::cout << "Area: " << area << std::endl;
    return 0;
}

1

Удобный псевдоним пространства имен

Результат:

Area: 16
Area: 0.339837

PrevUpHomeNext

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




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



:: Главная :: area ::


реклама


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

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