![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
transform (with strategy)Boost , Chapter 1. Geometry , transform
|
Тип |
Концепция |
Имя |
Описание |
---|---|---|---|
Геометрия1 const & | Любой тип, выполняющий концепцию геометрии | Геометрия1 | Модель указанного понятия |
Геометрия2 & | Любой тип, выполняющий концепцию геометрии | Геометрия2 | Модель указанного понятия |
Стратегия const & | стратегия | стратегия | Стратегия, используемая для преобразования |
Если бы трансформацию можно было осуществить
Или
#include <boost/geometry.hpp>
Или
#include <boost/geometry/algorithms/transform.hpp>
линейный
Показывает, как точки можно масштабировать, переводить или поворачивать
#include <iostream> #include <boost/geometry.hpp> int main() { namespace trans = boost::geometry::strategy::transform; using boost::geometry::dsv; typedef boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> point_type; point_type p1(1.0, 1.0); // Translate over (1.5, 1.5) point_type p2; trans::translate_transformer<double, 2, 2> translate(1.5, 1.5); boost::geometry::transform(p1, p2, translate); // Scale with factor 3.0 point_type p3; trans::scale_transformer<double, 2, 2> scale(3.0); boost::geometry::transform(p1, p3, scale); // Rotate with respect to the origin (0,0) over 90 degrees (clockwise) point_type p4; trans::rotate_transformer<boost::geometry::degree, double, 2, 2> rotate(90.0); boost::geometry::transform(p1, p4, rotate); std::cout << "p1: " << dsv(p1) << std::endl << "p2: " << dsv(p2) << std::endl << "p3: " << dsv(p3) << std::endl << "p4: " << dsv(p4) << std::endl; return 0; }
Результат:
p1: (1, 1) p2: (2.5, 2.5) p3: (3, 3) p4: (1, -1)
Статья transform (with strategy) раздела Chapter 1. Geometry transform может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
реклама |