Преобразования на плоскости
5

Листинг программы с примерами выполнения преобразований

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

 

#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;