Биения сложение двух синусоидальных сигналов программа моделирования
Исходник и исполняемый файл здесь
С++ 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)
{
Form1->DoubleBuffered=True;
Image2->Canvas->FillRect(Image2->Canvas->ClipRect ) ;
for(int i=1;i<Image2->Height;i++){
Image2->Canvas->Pen->Width=1;
Image2->Canvas->Pen->Color=clGray;
Image2->Canvas->MoveTo(1,i*20);
Image2->Canvas->LineTo(Image2->Width,i*20);
}
for(int i=1;i<Image2->Width;i++){
Image2->Canvas->Pen->Width=1;
Image2->Canvas->Pen->Color=clGray;
Image2->Canvas->MoveTo(i*20,1);
Image2->Canvas->LineTo(i*20,Image2->Height);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Canvas->FillRect(Image1->Canvas->ClipRect ) ;
int yt= Image1->Height/2;
Image1->Canvas->Pen->Width=2;
Image1->Canvas->Pen->Color=clBlack;// clRed; //clBlue; //clBlack;
// Image1->Canvas->MoveTo(0,yt);
// Image1->Canvas->LineTo(Image1->Width ,yt);
// Image1->Canvas->MoveTo(1,0);
// Image1->Canvas->LineTo(1 ,Image1->Height);
int a1=TrackBar1->Position;
Label1->Caption=IntToStr(a1);
int a2=TrackBar2->Position;
Label2->Caption=IntToStr(a2);
int w1=TrackBar3->Position;
Label3->Caption=IntToStr(w1);
int w2=TrackBar4->Position;
Label4->Caption=IntToStr(w2);
int f1=TrackBar5->Position;
Label5->Caption=IntToStr(f1);
int y=yt,yr=yt;
for(float t=0; t<800; t=t+0.8){
y= a1*sin(DegToRad(w1*t+f1)) +a2*sin(DegToRad(w2*t))+yt;
// Image1->Canvas->Pixels[t][(int) y+100] =clBlue;
// t=(int)t;
/*
TColor col;
col= clBlue; //clGreen;// clBlack;
Image1->Canvas->Pixels[(int)t][(int)y] = col;
Image1->Canvas->Pixels[(int)t+1][(int)y] = col;
Image1->Canvas->Pixels[(int)t][(int)y-1] = col;
Image1->Canvas->Pixels[(int)t+1][(int)y-1] = col;
*/
// Image1->Canvas->Pen->Width=2;
Image1->Canvas->Pen->Color=clBlue; //clBlack;
// Image1->Canvas->Brush->Color=clBlue;
// Image1->Canvas->Rectangle(xp,yp,xp+2,yp+6);
Image1->Canvas->MoveTo((int)t,(int)y);
Image1->Canvas->LineTo((int)t,(int)yr);
yr=y;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar2Change(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar3Change(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar4Change(TObject *Sender)
{
Button1Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar5Change(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>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TImage *Image1;
TButton *Button1;
TTrackBar *TrackBar1;
TTrackBar *TrackBar2;
TTrackBar *TrackBar3;
TTrackBar *TrackBar4;
TGroupBox *GroupBox1;
TLabel *Label1;
TTrackBar *TrackBar5;
TBevel *Bevel2;
TGroupBox *GroupBox2;
TLabel *Label3;
TGroupBox *GroupBox3;
TGroupBox *GroupBox4;
TLabel *Label2;
TGroupBox *GroupBox5;
TLabel *Label4;
TLabel *Label5;
TLabel *Label6;
TImage *Image2;
void __fastcall Button1Click(TObject *Sender);
void __fastcall TrackBar1Change(TObject *Sender);
void __fastcall TrackBar2Change(TObject *Sender);
void __fastcall TrackBar3Change(TObject *Sender);
void __fastcall TrackBar4Change(TObject *Sender);
void __fastcall TrackBar5Change(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
=
=
=
|