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

transform

Boost , Chapter 1. Geometry , transform

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

Преобразует из одной геометрии в другую геометрию, используя стратегию.

Synopsis

template<typename Geometry1, typename Geometry2>
bool transform(Geometry1 const & geometry1, Geometry2 & geometry2)

Parameters

Тип

Концепция

Имя

Описание

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

Модель указанной концепции

Geometry2 &

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

геометрия2

Модель указанной концепции

Returns

Правда, если бы трансформация могла быть сделана

Header

Или

#include <boost/geometry.hpp>

Или

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

Conformance

Преобразование функции не определяется OGC.

Behavior

Дело

Поведение

сферическая (степень) / сферическая (радианская)

Преобразовывает координаты от сферических координат до X,Y,Z или наоборот, на единичной сфере

Complexity

Линейный

Example

Показывает, как точки могут быть преобразованы с помощью стратегии по умолчанию

#include <iostream>
#include <boost/geometry.hpp>
int main()
{
    namespace bg = boost::geometry;
    // Select a point near the pole (theta=5.0, phi=15.0)
    bg::model::point<long double, 2, bg::cs::spherical<bg::degree> > p1(15.0, 5.0);
    // Transform from degree to radian. Default strategy is automatically selected,
    // it will convert from degree to radian
    bg::model::point<long double, 2, bg::cs::spherical<bg::radian> > p2;
    bg::transform(p1, p2);
    // Transform from degree (lon-lat) to 3D (x,y,z). Default strategy is automatically selected,
    // it will consider points on a unit sphere
    bg::model::point<long double, 3, bg::cs::cartesian> p3;
    bg::transform(p1, p3);
    std::cout
        << "p1: " << bg::dsv(p1) << std::endl
        << "p2: " << bg::dsv(p2) << std::endl
        << "p3: " << bg::dsv(p3) << std::endl;
    return 0;
}

Результат:

p1: (15, 5)
p2: (0.261799, 0.0872665)
p3: (0.084186, 0.0225576, 0.996195)

PrevUpHomeNext

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




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



:: Главная :: transform ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 06:46:37/0.0039567947387695/0