Есть программа для C++ Builder 12, которая при нажатии кнопки 1 строит окружность в PaintBox, при нажатии кнопки 2 всё стирает там, а нужно написать код для третьей кнопки, который бы с помощью известных данных о окружности ее нужно заполнить треугольниками, то есть триангулировать методом Делоне. Вот исходный код: В Unit1.h - //---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Graphics.hpp>
#include <ExtCtrls.hpp>
#include <System.SysUtils.hpp>
#include <System.Classes.hpp>
#include <Vcl.Graphics.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Dialogs.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
	TButton *Button1;
     TPaintBox *PaintBox1;
	TButton *Button3;
    void __fastcall Button1Click(TObject *Sender);
	void __fastcall Button2Click(TObject *Sender);
	void __fastcall Button3Click(TObject *Sender);
private:
	TPoint LastCircleCenter; // Центральная точка последней окружности
	int LastCircleRadius;     // Радиус последней окружности // User declarations
public:     // User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif    а в Unit1.cpp -  //---------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
#include <cstdlib> // Для std::rand() и std::srand()
#include <ctime>   // Для std::time()
#include <cmath>   // Для использования cos и sin
#include <vector>  // Для использования std::vector
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
std::srand(static_cast<unsigned int>(std::time(0))); // призыв генератора случайных чисел
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 // Получаем размеры PaintBox1
    int width = PaintBox1->Width;
	int height = PaintBox1->Height;

    // Генерируем случайные параметры для окружности
    LastCircleRadius = std::rand() % 100 + 50; // Радиус от 50 до 150
    int x = std::rand() % (width - LastCircleRadius * 2) + LastCircleRadius; // Позиция X
	int y = std::rand() % (height - LastCircleRadius * 2) + LastCircleRadius; // Позиция Y

    // Рисование окружности
    TCanvas *canvas = PaintBox1->Canvas;
    canvas->Brush->Color = clBlue; // Цвет заливки
    canvas->Ellipse(x - LastCircleRadius, y - LastCircleRadius, x + LastCircleRadius, y + LastCircleRadius); // Рисуем окружность

    // Сохраняем координаты окружности для дальнейшего использования
	LastCircleCenter = TPoint(x, y);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 PaintBox1->Invalidate(); // Это заставит PaintBox перерисоваться
	PaintBox1->Update();     // Обновление PaintBox немедленно
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
}
//---------------------------------------------------------------------------