Курсовая работа: Разработка программы рисования замкнутых многоугольников на языке С++, с использованием библиотеки VCL
public:
Polygone ();
Polygone (int n, double size, TPoint center);
Polygone (int n, double size, TPoint center, TPoint fulcrum,
double angle);
int getAmtAngles ();
double getSize ();
TPoint getCenter ();
TPoint getFulcrum ();
double getAngle ();
TPoint *getPoint ();
void setAmtAngles (int n);
void setSize (double size);
void setCorCenter (TPoint center);
void setFulcrum (TPoint fulcrum);
void setAngle (double angle);
};
Класс имеет несколько закрытых переменных для хранения значений количества углов, размера, координат центра и точки вращения, а также угла, на который повернут многоугольник относительно точки вращения. Далее идет вполне стандартное описание конструкторов и необходимых нам функций, предназначение большинства из них не вызывает вопросов, т.к они являются обычными геттерами и сеттерами, которые возвращают нам значения закрытых переменных. Интересной для рассмотрения является функция getPoint (), возвращающая указатель на массив типа TPoint, хранящий в себе массив точек (вершин), многоугольника. Рассмотрим ее реализацию:
TPoint *Polygone:: getPoint () {
TPoint *point = new TPoint [this->n] ;
double alpha = ALPHA_FULL/this->n;
for (int i=0; i<n; i++) {
int x = this->center. x + this->size*cos (alpha*M_PI/ALPHA_HALF);
int y = this->center. y + this->size*sin (alpha*M_PI/ALPHA_HALF);
point [i] = Point (x,y);
alpha += ALPHA_FULL/n;
}
if (angle) {
for (int i=0; i<n; i++) {