Курсовая работа (т): Разработка приложения для создания и преобразования графических объектов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form2;

//---------------------------------------------------------------------------

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}int H = 150;

//---------------------------------------------------------------------------FGR[1];FGRClass::Draw()

= X + D/2*cos(B *M_PI/180);= Y + D/2*sin(B *M_PI/180);

= X+(-3*D/4)*cos(B *M_PI/180)-(-3*D/4)*sin(B *M_PI/180);= Y+(-3*D/4)*cos(B *M_PI/180)+(-3*D/4)*sin(B *M_PI/180);

= X+(-D/2+D/32)*cos(B *M_PI/180);= Y+(-D/2+D/32)*sin(B *M_PI/180);

= X -(-D/4)*sin(B *M_PI/180);= Y+(-D/4)*cos(B *M_PI/180);

= X + D/4*cos(B *M_PI/180)-(-D/4)*sin(B *M_PI/180);= Y+(-D/4)*cos(B *M_PI/180)+D/4*sin(B *M_PI/180);

= X+3*D/4*cos(B *M_PI/180);= Y+3*D/4*sin(B *M_PI/180);

->PaintBox1->Canvas->Brush->Color=clBlack;

->PaintBox1->Canvas->Pie(X-D/2 ,Y-D/2 ,X+D/2 ,Y+D/2, M , N, M1, N1 );->PaintBox1->Canvas->Brush->Color=clWhite;->PaintBox1->Canvas->Pie(X-D/2 ,Y-D/2 ,X+D/2 ,Y+D/2, M1, N1, M, N );->PaintBox1->Canvas->Arc(X-D/2+D/32 ,Y-D/2+D/32 ,X+D/2-D/32 ,Y+D/2-D/32, M3, N3, K, L);->PaintBox1->Canvas->Arc(X-D/2+2*D/32 ,Y-D/2+2*D/32 ,X+D/2-2*D/32 ,Y+D/2-2*D/32, M3, N3, K, L);->PaintBox1->Canvas->Arc(X-D/2+3*D/32 ,Y-D/2+3*D/32 ,X+D/2-3*D/32 ,Y+D/2-3*D/32, M3, N3, K, L);->PaintBox1->Canvas->Arc(X-D/2+4*D/32 ,Y-D/2+4*D/32 ,X+D/2-4*D/32 ,Y+D/2-4*D/32, K1, L1, M3, N3);->PaintBox1->Canvas->Arc(X-D/2+5*D/32 ,Y-D/2+5*D/32 ,X+D/2-5*D/32 ,Y+D/2-5*D/32, K1, L1, M3, N3);->PaintBox1->Canvas->Arc(X-D/2+6*D/32 ,Y-D/2+6*D/32 ,X+D/2-6*D/32 ,Y+D/2-6*D/32, K1, L1, M3, N3);->PaintBox1->Canvas->Arc(X-D/2+7*D/32 ,Y-D/2+7*D/32 ,X+D/2-7*D/32 ,Y+D/2-7*D/32, K2, L2, K1, L1);->PaintBox1->Canvas->Arc(X-D/2+8*D/32 ,Y-D/2+8*D/32 ,X+D/2-8*D/32 ,Y+D/2-8*D/32, K2, L2, K1, L1);->PaintBox1->Canvas->Arc(X-D/2+9*D/32 ,Y-D/2+9*D/32 ,X+D/2-9*D/32 ,Y+D/2-9*D/32, K2, L2, K1, L1);->PaintBox1->Canvas->Arc(X-D/2+10*D/32 ,Y-D/2+10*D/32 ,X+D/2-10*D/32 ,Y+D/2-10*D/32, K3, L3 ,K2, L2);->PaintBox1->Canvas->Arc(X-D/2+11*D/32 ,Y-D/2+11*D/32 ,X+D/2-11*D/32 ,Y+D/2-11*D/32, K3, L3 ,K2, L2);->PaintBox1->Canvas->Arc(X-D/2+12*D/32 ,Y-D/2+12*D/32 ,X+D/2-12*D/32 ,Y+D/2-12*D/32, K3, L3 ,K2, L2);

}

__fastcall TForm2::Button1Click(TObject *Sender)

{[1].X = 285;[1].Y = 175;[1].D = H;[1].Vx = 0;[1].By = 0;[1].B = 0;

->Caption = "Исходное состояние" ;

}

//---------------------------------------------------------------------------__fastcall TForm2::Timer1Timer(TObject *Sender)

{

[1].B += FGR[1].By;-> Repaint();FGR[1].Draw();

}

//---------------------------------------------------------------------------__fastcall TForm2::Button3Click(TObject *Sender)

{[1].By = 5;-> Text = FGR[1].By;->Enabled = false;->Enabled = true;->Caption = "Заново" ;

}

//--------------------------------------------------------------------------__fastcall TForm2::Button7Click(TObject *Sender)

{->Enabled = true ;[1].By += 5;(FGR[1].By >=180)

{->Enabled = false;

}-> Text = FGR[1].By;( Button6->Enabled )

{ if (FGR[1].By >=0)

{->Enabled = false ;->Enabled = true ;

}-> Text = FGR[1].By;

}( Button5->Enabled )

{(FGR[1].By >=0||FGR[1].By <=180)

{->Enabled = true ;

}-> Text = FGR[1].By;

}

}

//---------------------------------------------------------------------------

__fastcall TForm2::Button8Click(TObject *Sender)

{[1].By -= 5;

(FGR[1].By <=-180)

{->Enabled = false ;

}-> Text = FGR[1].By;( Button6->Enabled )

{(FGR[1].By <=0)

{->Enabled = true ;

}-> Text = FGR[1].By;

}

( Button5->Enabled )

{(FGR[1].By <=0)

{->Enabled = false ;

}->Enabled = true ;-> Text = FGR[1].By;

}

}

//---------------------------------------------------------------------------__fastcall TForm2::Button4Click(TObject *Sender)

{[1].By = 0;-> Text = FGR[1].By;->Caption = "Пуск" ;

}

//---------------------------------------------------------------------------__fastcall TForm2::Button5Click(TObject *Sender)

{[1].By = -FGR[1].By;-> Text = FGR[1].By;:Button7;->Enabled = false;->Enabled = true;

}

//---------------------------------------------------------------------------__fastcall TForm2::Button6Click(TObject *Sender)

{[1].By = -FGR[1].By;-> Text = FGR[1].By;->Enabled = false;->Enabled = true;

}

//---------------------------------------------------------------------------__fastcall TForm2::Button2Click(TObject *Sender)

{[1].Vx =StrToFloat(Edit1 -> Text);

(FGR[1].Vx>=232||FGR[1].Vx<=0)

{(" \n ОШИБКА ЗНАЧЕНИЯ 404 \n Введите рекомендуемые значения, после чего нажмите клавишу МАСШТАБ");

return ; }if (Edit1->Text=="")

{ShowMessage (" \n ОШИБКА ЗНАЧЕНИЯ 404 \n Введите рекомендуемые значения, после чего нажмите клавишу МАСШТАБ");

return ; }if(FGR[1].Vx<=232||FGR[1].Vx>=0)

{FGR[1].D = H * (FGR[1].Vx/100);

}

}

//---------------------------------------------------------------------------__fastcall TForm2::gjgjg(TObject *Sender, System::WideChar &Key)

{((Key!=VK_BACK)&&(Key<'0'||Key>'9'))Key=0;

//---------------------------------------------------------------------------__fastcall TForm2::trththt(TObject *Sender, System::WideChar &Key)

{Key=0;

}

//---------------------------------------------------------------------------

5. ПРОВЕРКА КОРРЕКТНОСТИ РАБОТЫ ПРОГРАММЫ В РАЗЛИЧНЫХ РЕЖИМАХ

. Рабочее окно программы с прорисованным объектом


. На этом этапе происходит масштабирование объекта


3. На этом этапе происходит вращение объекта



Список использованной литературы

1.   Архангельский А.Я. C++Builder 6. Справочное пособие. Книга 1.Язык C++. М.: Бином 2002 г. --- 544 ил.

2.      Архангельский А.Я. C++Builder 6. Справочное пособие. Книга 2. Классы и компоненты. - М.: Бином-Пресс, 2002 г. - 528 с: ил.

.        Шикин Е. В., Боресков А. В. Компьютерная графика. Динамика, реалистические изображения. М.: ДИАЛОГ МИФИ, 1996. 288 с.

.        Культин Н. Б. C++ Builder в задачах и примерах. - СПб.: БХВ- Петербург, 2005. - 336 с

.        Подкур М. Л., Подкур П. Н., Смоленцев Н. К. Программирование в среде Borland C++ Builder с математическими библиотеками MATLAB С/С++. - М.: ДМК Пресс, 2006.- 496 с.: ил.

.        Бруно Бабэ Просто и ясно о Borland C++: Пер. с англ. - М.: БИНОМ. - 416 с.: ил.

Источник: https://www.bibliofond.ru/detail.aspx?id=784502