⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.cpp

📁 用bcb所撰寫的kohonen程式,優雅的網狀伸張分佈,將任意維度的input data,reduce至二維x,y平面,competivite learning的最佳範例.
💻 CPP
字号:
//---------------------------------------------------------------------------

#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::FormCreate(TObject *Sender)
{
   ImageClear();
   index=0;
   Stop=0;
}
//---------------------------------------------------------------------------
 void TForm1::DrawLine(TPoint TopLeft,TPoint BottomRight,TPenMode AMode)
{
 Image1->Canvas->Pen->Mode=AMode;
 Image1->Canvas->Pen->Width=3;
 Image1->Canvas->MoveTo(TopLeft.x,TopLeft.y);
 Image1->Canvas->LineTo(BottomRight.x,BottomRight.y);

}
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
 char msg[64];
 float x,y;
 if(Stop>0) return;

 x=X/400.0;
 y=(0-(Y-400))/400.0;
 //陪ボ畒夹
 Form1->Edit1->Text="( "+FormatFloat("0.00",x)+" , "
                   +FormatFloat("0.00",y)+" )";
 }
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{

 float x,y;
 if(index>10000) return;
 if(Stop>0) return;
 x=X/400.0;
 y=(0-(Y-400))/400.0;
 Form1->Edit1->Text="( "+FormatFloat("0.00",x)+" , "
                   +FormatFloat("0.00",y)+" )";

 if(start!=1) return ;
 Image1->Canvas->Brush->Style=bsSolid;
 Image1->Canvas->Ellipse(X+5,Y+5,X-5,Y-5);

 Form1->ListBox1->Font->Color=ColorDialog1->Color;
 Form1->ListBox1->Items->Add("( "+FormatFloat("0.00",x)
                    +" , "+FormatFloat("0.00",y)+" )");
 E1[index]=x;
 E2[index]=y;
 index+=1;
 }
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if(ColorDialog1->Execute())
   {
    Image1->Canvas->Pen->Color=ColorDialog1->Color;
    Image1->Canvas->Brush->Color = ColorDialog1->Color;
    start=1;
   }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
 int temp;
 int i,j,k,total,Output_R,Output_C;

 if(Stop==3)
   Form1->Close();

 if(Stop==0)
 {
   start=0;
   Output_R=StrToInt(Form1->Edit2->Text);
   Output_C=StrToInt(Form1->Edit3->Text);
   temp=Output_R*Output_C;
   W2=new float[temp];
   W1=new float[temp];

   randomize();
    for(i=0;i<Output_R;i++)  //睹计倒舦

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -