N-угольник при нажатии одной кнопки "С++ Borland"
Нужно написать программу которая бы по заданным координатам рисовала n-угольник при нажатии одной кнопки, а при нажатии на другую кнопку внутри первого n-угольника на заданном растоянии рисовался идентичный ему n-угольник и чтобы все стороны внутреннего n-угольника были параллельны сторонам первого n-угольника. Пример для квадрата:
void __fastcall TForm1::Button1Click(TObject *Sender) { TPoint p[4] ; // четыре вершины // координаты вершин p[0].x = StrToInt(Edit1->Text); p[0].y = StrToInt(Edit2->Text) ; p[1].x = StrToInt(Edit3->Text); p[1].y = StrToInt(Edit4->Text); p[2].x = StrToInt(Edit5->Text); p[2].y = StrToInt(Edit6->Text); p[3].x = StrToInt(Edit7->Text); p[3].y = StrToInt(Edit8->Text); Canvas->Pen->Width = 2; Canvas->Pen->Color = clRed; Canvas->Polygon(p,3); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { char K; K = StrToInt(Form1->Edit9->Text);// растояние от каждой стороны на //котором должен рисоваться внутренний n-угольник TPoint p[4]; // координаты вершин p[0].x = StrToInt(Edit1->Text) + K; p[0].y = StrToInt(Edit2->Text) + K; p[1].x = StrToInt(Edit3->Text) + K; p[1].y = StrToInt(Edit4->Text) - K; p[2].x = StrToInt(Edit5->Text) - K; p[2].y = StrToInt(Edit6->Text) - K; p[3].x = StrToInt(Edit7->Text) - K; p[3].y = StrToInt(Edit8->Text) + K; Canvas->Pen->Width = 2; Canvas->Pen->Color = clBlack; Canvas->Polygon(p,3); } Помогите пожалуйста с обобщенной формулой для всех типов многоугольников |
эмм... у нас на форуме не принято орать...
|
Простите просто уже задолбался с этой прогой
|
Цитата:
http://www.tehnari.ru/f8/t15561/ |
Цитата:
|
Часовой пояс GMT +4, время: 18:46. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.