Пятница, 10.05.2024, 13:26
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Категории раздела
Форма входа
ДРУЗЬЯ САЙТА

Вызвать мастера в Красноярске

8 983 207 5474

8 902 918 9334

8 933 332 3164

---------------------------------

Запчасти бытткхники

  • Велес т.2935600
  • СЦ Близнецов т.2296595
  • Вираж
  • Красраб 110 т.2589503
  • Комплекстур Щорса30 т.2606797
  • Радиодетали

  • Якорный 9 т.2688317
  • Воронова 16 т.2202990
  • Красраб 125а т.2456544
  • Профи т.2702737
  • Дайте две т.+79237713323
  • Электрика

  • Электро +
  • Планета электрика
  • ЗАКЛАДКИ
    Поиск
    Статистика

    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0
    Главная » Статьи » C++ Builder » Фрактал

    Фрактал треугольник серпинского

    Фрактал треугольник серпинского

    Исходник и исполняемый файл здесь

    С++ Builder 6 

    Компиляция и сборка под Windows 10

    =

    =

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

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    void __fastcall TForm1::tr(int x1,int y1,int x2,int y2,int x3,int y3)
    {

             Image1->Canvas->MoveTo(x1,y1);
             Image1->Canvas->LineTo(x2,y2);
             Image1->Canvas->MoveTo(floor(x2),floor(y2));
             Image1->Canvas->LineTo(floor(x3),floor(y3));
             Image1->Canvas->MoveTo(floor(x3),floor(y3));
             Image1->Canvas->LineTo(floor(x1),floor(y1));

    }
    //----------------------------------------------------------------------------
    void __fastcall  TForm1::draw(float x1,float y1,float x2,float y2,float x3,float y3,float n)
    {
       float  x1n, y1n, x2n, y2n, x3n, y3n ;

     

        if ( n > 0 ){

            x1n = (x1 + x2) / 2;
            y1n = (y1 + y2) / 2;
            x2n = (x2 + x3) / 2;
            y2n = (y2 + y3) / 2;
            x3n = (x3 + x1) / 2;
            y3n = (y3 + y1) / 2;
     
      tr( (int)x1n, (int)y1n, (int)x2n, (int)y2n, (int)x3n, (int)y3n);

                draw(x1, y1, x1n, y1n, x3n, y3n, n - 1);
            draw(x2, y2, x1n, y1n, x2n, y2n, n - 1);
            draw(x3, y3, x2n, y2n, x3n, y3n, n - 1);

                   }
    }
    //----------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
        iter = 6;

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

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
       Image1->Canvas->FillRect(Image1->Canvas->ClipRect ) ;
      // Image1->Canvas->Pen->Width=1;
      // Image1->Canvas->Pen->Color=clGreen; //clGray;
       iter = UpDown1->Position;
       Label1->Caption= iter;
       tr(320,10,600,470,40,470);
       draw(320,10,600,470,40,470,iter);     
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::UpDown1Click(TObject *Sender, TUDBtnType Button)
    {
       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 <complex.h>
    #include <ComCtrls.hpp>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published:    // IDE-managed Components
            TButton *Button1;
            TImage *Image1;
            TLabel *Label1;
            TUpDown *UpDown1;
            TLabel *Label2;
            TBevel *Bevel1;
            void __fastcall Button1Click(TObject *Sender);
            void __fastcall UpDown1Click(TObject *Sender, TUDBtnType Button);
    private:    // User declarations
    public:        // User declarations

              int iter ;
       void __fastcall tr(int x1,int y1,int x2,int y2,int x3,int y3);
       void __fastcall  draw(float x1,float y1,float x2,float y2,float x3,float y3,float n);

            __fastcall TForm1(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif

     

    =

    Категория: Фрактал | Добавил: doka (15.07.2020)
    Просмотров: 1173 | Рейтинг: 0.0/0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]