2016-03-20 26 views
-1

C++ ile çevrelerin nasıl birleştirileceğini anlayamıyorum. Boost Geometri'yi kullanarak iki çokgen birleştirdim, ancak problem, çokgenleri dairelere nasıl dönüştürebileceğimi bilmem. (Eğer Boost Geometrisinde bu mümkün ise).C++ 'da çevreler topluluğu

Geometrinin görsel temsili gerekli değil, sonunda WKT formatına dönüştürmek istiyorum.

Boost Geometri doğru yaklaşım mı, yoksa daha iyi kütüphaneler mi var?

Sen N köşeler ile düzenli çokgen kullanarak merkez noktası C ve R yarıçaplı daire yaklaşır (gerekli hassasiyet bağlı N seçebilirsiniz),

Andy

+0

da kullanabilirsiniz yerine Boost.Geometry – mustafagonul

+0

ait CGAL size çevreyi veya daire için herhangi bir çokgen polygoned daire dönüştürmeye çalışıyorsunuz? Merkezini bulmak için poligondaki puanların ortalamasını almalısınız. Merkezini bulduktan sonra, yarıçapı bulmak için noktaların mesafelerini ortalamanın ortalamasına almalısınız. Senin sorunun çok açık değil bence. – mustafagonul

+0

Bunun için üzgünüm. Temel olarak sendika çevreleri istiyorum. Benim girişimlerimden biri Boost kullanıyordu. Bunun için çevreleri çokgenlere dönüştürmem ve sonra bunları birleştirmem gerektiğini düşünüyorum. Birleşmenin sonucu her durumda çokgendir. – Andy

cevap

0

teşekkür ederiz. Vertex koordinatları:

V[i].X = C.X + R * Cos(i * 2 * Pi/N) 
V[i].Y = C.Y + R * Sin(i * 2 * Pi/N)