- •«Точка в 3d пространстве»
- •Оглавление
- •Содержательная и формальная постановка задачи
- •Краткие теоретические сведения
- •Структура решения (этапы решения и их взаимосвязь)
- •Обзор и анализ методов решения
- •Описание реализации применяемых методов
- •Руководство программиста
- •Руководство пользователя
- •Результаты
Руководство программиста
Схема классового взаимодействия:
Form1
TrackBarY
TrackBarZ
SpatialImage
ComplexImage
TrackBarЧ
TrackBarAngle
TSpatial.calculate()
TComplex.calculate()
TSpatial.draw()
TComplex.draw()
Опишем заголовки классов.
class TForm1 : public TForm
{
__published: // IDE-managed Components
TImage *SpatialImage;//Объект для отрисовки простр. чертежа
TImage *ComplexImage; ;//Объект для отрисовки комплекс. чертежа
TTrackBar *TrackBarX;//Ползунок для изменения координаты Х
TTrackBar *TrackBarY;//Ползунок для изменения координаты У
TTrackBar *TrackBarZ;//Ползунок для изменения координаты Z
TTrackBar *TrackBarangle;//Ползунок для изменения угла м/у oX и oY
void __fastcall FormCreate(TObject *Sender);//вызывается при открытии программы, задает параметр использования двойного буффераю
void __fastcall TrackBarXChange(TObject *Sender);//вызывается при передвижении ползунка Х, вызывает переотрисовку простр. и компл. чертежей
void __fastcall TrackBarYChange(TObject *Sender); //вызывается при передвижении ползунка Y, вызывает переотрисовку простр. и компл. чертежей
void __fastcall TrackBarZChange(TObject *Sender); //вызывается при передвижении ползунка Z, вызывает переотрисовку простр. и компл. чертежей
void __fastcall TrackBarangleChange(TObject *Sender); //вызывается при передвижении ползунка угла, вызывает переотрисовку простр. чертежа
};
//Класс пространственного чертежа
class Tspatial
{
private:
int x0, y0, angle; //Координаты центра и текущий угол
TCanvas* canva; // указатель на канву, на которой производится рисование
public:
/* Конструктор */
Tspatial (TCanvas* canvas, int x, int y, int mangle);
/* Отрисовка осей */
void drawXYZ();
/* Изменение угла оси У */
void changeAngle(int newAngle);
/* Отрисовка всего чертежа */
void draw();
/* Отрисовка точки и ее проекций*/
void drawPoint();
/* Вычисления*/
void calculate();
};
//Класс комплексного чертежа:
class Tcomplex
{
private:
int x0, y0; //Координаты центра
TCanvas* canva;// указатель на канву, на которой производится рисование
public:
/* Конструктор */
Tcomplex (TCanvas* canvas, int x, int y);
/* Отрисовка осей */
void drawXYZ();
/* Отрисовка всего чертежа */
void draw();
/* Отрисовка проекций */
void drawPoint();
/* Вычисления*/
void calculate();
};
Руководство пользователя
После запуска программы на экране появится следующее окно:
На экране 2 чертежа и 4 ползунка. Левый чертеж – пространственный, правый – комплексный. При движении любого ползунка чертежи перерисовываются (при изменении угла комплексный чертеж не перерисовывается) , а под ползунком подписывается его значение. Также в низу экрана можно увидеть текущие координаты точки T(x, y, z).