Прорисовка и перенос графических элементов

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Fktrcfylh
Сообщения: 2
Зарегистрирован: 03 окт 2010, 15:26

Помогите спроецировать ромб в 4 четверть пожалуйста
Вот код:

Код: Выделить всё

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

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int xmax,ymax, xmid, ymid, deltaX, deltaY, a_x, b_x, c_x, a_y, b_y, c_y, XKind, YKind;


//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
{
 xmax = 465;
 ymax = 465;
 xmid = xmax / 2;
 ymid = ymax / 2;
 deltaX = 10;
 deltaY = 10;
 a_x = 1;
 b_x = 1;
 c_x = 0;
 a_y = 1;
 b_y = 1;
 c_y = 0;
 XKind = 0;
 YKind = 0;

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

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 Form1 -> Image1 -> Repaint();
 Form1 -> Image1 -> Canvas -> MoveTo(1, ymid);
 Form1 -> Image1 -> Canvas -> LineTo(xmax, ymid);
 Form1 -> Image1 -> Canvas -> MoveTo(xmid, 1);
 Form1 -> Image1 -> Canvas -> LineTo(xmid, ymax);


  for (int i = 0; i <= xmax / deltaX; i++)
   {
  Form1 -> Image1 -> Canvas -> MoveTo(xmid + i * deltaX, ymid - 1);
  Form1 -> Image1 -> Canvas -> LineTo(xmid + i * deltaX, ymid + 2);
  Form1 -> Image1-> Canvas -> MoveTo(xmid - i * deltaX, ymid - 1);
  Form1 -> Image1 -> Canvas -> LineTo(xmid - i * deltaX, ymid + 2);
  }
 for (int i = 0; i <= ymax / deltaY; i++)
  {
  Form1 -> Image1 -> Canvas -> MoveTo(xmid - 1, ymid + i * deltaY);
  Form1 -> Image1 -> Canvas -> LineTo(xmid + 2, ymid + i * deltaY);
  Form1 -> Image1 -> Canvas -> MoveTo(xmid - 1, ymid - i * deltaY);
  Form1 -> Image1 -> Canvas -> LineTo(xmid + 2, ymid - i * deltaY);

Form1->Image1->Canvas->MoveTo(xmax/2-a*cos(PI/4),ymax/2);
Form1->Image1->Canvas->LineTo(xmax/2,ymax/2-a*sin(PI/4));
Form1->Image1->Canvas->LineTo(xmax/2-a*cos(PI/4),ymax/2-2*a*sin(PI/4));
Form1->Image1->Canvas->LineTo(xmax/2-2*a*cos(PI/4),ymax/2-a*sin(PI/4));
Form1->Image1->Canvas->LineTo(xmax/2-a*cos(PI/4),ymax/2);


  }
}
//---------------------------------------------------------------------------
Ответить