#include <iostream>
#include <cmath>
#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)
using namespace std;
namespace bg=boost::geometry;
typedef bg::model::d2::point_xy<double> point_t;
typedef bg::model::segment<point_t> segment_t;
typedef bg::model::linestring<point_t> line_t;
typedef bg::model::polygon<point_t> polygon_t;
typedef bg::model::multi_polygon<polygon_t> mpolygon_t;
typedef bg::strategy::transform::rotate_transformer<boost::geometry::radian, double, 2UL, 2UL> rotate_t;
int main()
{
polygon_t a;
for(int i=0;i<=360;i++)
{
double c;
point_t b;
c=(1-sin(M_PI*i/180))*cos(M_PI*i/180);
b.set<0>(c);
c=(1-sin(M_PI*i/180))*sin(M_PI*i/180);
b.set<1>(c);
a.outer().push_back(b);
}
return 0;
}
运行结果是什么涅~
