Фигуры лиссажу программа моделирования
С++ Builder 6
Компиляция и сборка под Windows 10
Простая программа позволяет моделировать построение
фигур лиссажу исходник здесь
=
=
=
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Canvas->FillRect(Rect (0,0,Image1->Width, Image1->Height));
int XStart = Image1->Width / 2;
int YStart = Image1->Height / 2;
Image1->Canvas->Pen->Color=clBlack;
Image1->Canvas->MoveTo( XStart, 0 );
Image1->Canvas->LineTo(XStart, 1000);
Image1->Canvas->MoveTo( 0, YStart);
Image1->Canvas->LineTo(1000, YStart);
int A = TrackBar1->Position;
Label1->Caption=IntToStr(A);
int B = TrackBar2->Position;
Label2->Caption=IntToStr(B);
int c = TrackBar3->Position;
Label3->Caption=IntToStr(c);
double n = 1;//
if(SpeedButton1->Down==true)n=1;
if(SpeedButton2->Down==true)n=2;
if(SpeedButton3->Down==true)n=3;
if(SpeedButton4->Down==true)n=4;
float p=0.9;
if(SpeedButton5->Down==true){n = p + (float)TrackBar4->Position/10;
Label9->Caption =FloatToStrF(n,ffFixed, 3, 1);}
for (int angle = 1; angle <= 360; angle++) {
double x1 = A * sin(DegToRad(n * angle + c));
double y1 = B * sin(DegToRad(angle));
// Image1->Canvas->Pixels[(int) x1 + XStart][(int) y1 + YStart] =clBlue;
Image1->Canvas->Pen->Color=clBlue;// clRed;
Image1->Canvas->Rectangle((int) x1 + XStart,(int) y1 + YStart,(int) x1 + XStart+3,(int) y1 + YStart+3 );
//Image1->Canvas->Ellipse((int) x1 + XStart,(int) y1 + YStart,(int) x1 + XStart+2,(int) y1 + YStart+2 );
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar3Change(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar2Change(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton3Click(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton4Click(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton5Click(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar4Change(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
=
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <math.h>
#include <Math.hpp>
#include <ComCtrls.hpp>
#include <Buttons.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TImage *Image1;
TButton *Button1;
TTrackBar *TrackBar1;
TTrackBar *TrackBar2;
TTrackBar *TrackBar3;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TBevel *Bevel1;
TBevel *Bevel2;
TBevel *Bevel3;
TLabel *Label4;
TLabel *Label5;
TLabel *Label6;
TSpeedButton *SpeedButton1;
TSpeedButton *SpeedButton2;
TSpeedButton *SpeedButton3;
TBevel *Bevel4;
TLabel *Label7;
TLabel *Label8;
TSpeedButton *SpeedButton4;
TBevel *Bevel5;
TTrackBar *TrackBar4;
TSpeedButton *SpeedButton5;
TLabel *Label9;
void __fastcall Button1Click(TObject *Sender);
void __fastcall TrackBar3Change(TObject *Sender);
void __fastcall TrackBar1Change(TObject *Sender);
void __fastcall TrackBar2Change(TObject *Sender);
void __fastcall SpeedButton1Click(TObject *Sender);
void __fastcall SpeedButton2Click(TObject *Sender);
void __fastcall SpeedButton3Click(TObject *Sender);
void __fastcall SpeedButton4Click(TObject *Sender);
void __fastcall SpeedButton5Click(TObject *Sender);
void __fastcall TrackBar4Change(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
=
=
|