Народ помогите
имеется пайнтбокс,координаты 2-ух точек
по которым рисуем палку и по таймер надо её крутить через матрицу поворота какаята фигня получается вот код
СПП
//---------------------------------------------------------------------------
#include <vcl.h>
#include <math.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
TForm1:3d __fastcall TForm1::calculate(P3d pixel,double angel)
{
P3d t;
t.x=pixel.x*cos(angel)-pixel.y*sin(angel);
t.y=pixel.x*sin(angel)+pixel.y*cos(angel);
t.z=pixel.z;
return t;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
line[0].x=300;
line[0].y=300;
line[0].z=1;
line[1].x=350;
line[1].y=300;
line[1].z=1;
angel=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if (angel==360) {angel=0;} else angel+=1;
line[0]=calculate(line[0],angel);
line[1]=calculate(line[1],angel);
PaintBox1->Canvas->MoveTo(line[0].x,line[0].y);
PaintBox1->Canvas->LineTo(line[1].x,line[1].y);
}
а вот х
/---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TPaintBox *PaintBox1;
TTimer *Timer1;
TButton *Button1;
void __fastcall FormCreate(TObject *Sender);
void __fastcall Timer1Timer(TObject *Sender);
private: // User declarations
public: // User declarations
struct P3d
{
double x,y,z;
};
double angel;
P3d line[1];
__fastcall TForm1(TComponent* Owner);
P3d __fastcall calculate(P3d pixel,double angel);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
подскажите в чём неправ а!?
очень надо
с уважением Аркан.
имеется пайнтбокс,координаты 2-ух точек
по которым рисуем палку и по таймер надо её крутить через матрицу поворота какаята фигня получается вот код
СПП
//---------------------------------------------------------------------------
#include <vcl.h>
#include <math.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
TForm1:3d __fastcall TForm1::calculate(P3d pixel,double angel)
{
P3d t;
t.x=pixel.x*cos(angel)-pixel.y*sin(angel);
t.y=pixel.x*sin(angel)+pixel.y*cos(angel);
t.z=pixel.z;
return t;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
line[0].x=300;
line[0].y=300;
line[0].z=1;
line[1].x=350;
line[1].y=300;
line[1].z=1;
angel=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if (angel==360) {angel=0;} else angel+=1;
line[0]=calculate(line[0],angel);
line[1]=calculate(line[1],angel);
PaintBox1->Canvas->MoveTo(line[0].x,line[0].y);
PaintBox1->Canvas->LineTo(line[1].x,line[1].y);
}
а вот х
/---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TPaintBox *PaintBox1;
TTimer *Timer1;
TButton *Button1;
void __fastcall FormCreate(TObject *Sender);
void __fastcall Timer1Timer(TObject *Sender);
private: // User declarations
public: // User declarations
struct P3d
{
double x,y,z;
};
double angel;
P3d line[1];
__fastcall TForm1(TComponent* Owner);
P3d __fastcall calculate(P3d pixel,double angel);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
подскажите в чём неправ а!?
очень надо
с уважением Аркан.