toxi::geom::Polygon2D::Polygon2D( const Vec2D & baseA, const Vec2D & baseB, const int & res ) { double theta = -(toxi::math::MathUtils::PI - (toxi::math::MathUtils::PI * (res - 2) / res)); Vec2D dir = baseB.sub( baseA); Vec2D prev = baseB; add( baseA ); add( baseB ); for (int i = 1; i < res - 1; i++) { Vec2D p = prev.add(dir.getRotated(theta * i)); add(p); prev = p; } }