Листинг программы с примерами выполнения преобразований
//---------------------------------------------------------------------------
#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::OnPaint(TObject *Sender)
{
float x,y;
int x0,y0,xk,yk,i,n,k;
// Область вывода графика
xk=900;
yk=900;
x0=Width/2;
y0=ClientHeight/2;
//Оси
Canvas->Pen->Color=clBlack;
Canvas->Pen->Width=2;
Canvas->MoveTo(x0, yk); Canvas->LineTo(x0,5);
Canvas->LineTo(x0+5,15);Canvas->MoveTo(x0-5,15);Canvas->LineTo(x0,5); //стрелка y
Canvas->MoveTo(60, y0); Canvas->LineTo (xk, y0);
Canvas->LineTo(xk-10,y0+5);Canvas->MoveTo(xk-10,y0-5);Canvas->LineTo(xk,y0); //стрелка х
Canvas->Font->Size=12;
Canvas->TextOutA(xk,y0+8,"x");
Canvas->TextOutA(x0+8,5,"y");
//координаты
TPoint M[9];
M[0].x=50; M[0].y=90;
M[1].x=60; M[1].y=65;
M[2].x=90; M[2].y=65;
M[3].x=65; M[3].y=45;
M[4].x=80; M[4].y=20;
M[5].x=50; M[5].y=35;
M[6].x=20; M[6].y=20;
M[7].x=35; M[7].y=45;
M[8].x=10; M[8].y=65;
M[9].x=40; M[9].y=65;