
- •«Точка в 3d пространстве»
- •Постановка задачи.
- •Теория.
- •Три координаты и три проекции точки
- •Структура решения (этапы решения и их взаимосвязь).
- •Обзор и анализ методов решения.
- •Описание реализации применяемых методов.
- •Описание программного обеспечения (руководство программиста).
- •Описание интерфейса с пользователем (руководство пользователя).
Описание реализации применяемых методов.
Преобразования из трехмерных координат в экранные координаты.
координатных осей, координат точек и линий проекций пространственного чертежа.
Нахождение координат разделим на две части:
расчет координат осей
расчет координат проекций точки А.
координат точек и линий проекций для комплексного чертежа.
Для комплексного чертежа также необходимо провести пересчет координатных осей и точек проекций на оси и координатные прямые. Следовательно этот шаг также поделится на две части:
расчет координат осей
расчет координат проекций точки А.
Отрисовка.
пространственного чертежа;
Рисование пространственного чертежа можно разделить на две части:
рисование координатных осей
рисование проекций.
комплексного чертежа.
Рисование комплексного чертежа также разделится на две части:
рисование осей
рисование проекций.
Описание программного обеспечения (руководство программиста).
Программа реализована на языке С# объекто-ориентированным способом.
Интерфейс:
На форме располагаются:
- pictureBox1 (слева) используется для изображения пространственного чертежа точки;
- pictureBox2 (справа) используется для изображения комплексного чертежа точки;
- trackBar1 отвечает за изменение координаты x точки А;
- trackBar2 отвечает за изменение координаты y точки А;
- trackBar3 отвечает за изменение координаты z точки А;
- trackBar4 отвечает за изменение угла α между положительным направлением оси OY и отрицательным направлением оси OX;
- textBox1 показывает текущее значение координаты x;
- textBox2 показывает текущее значение координаты y;
- textBox3 показывает текущее значение координаты z;
- textBox4 показывает текущее значение угла α;
- label1 показывает, что ползунок изменяет координату x точки;
- label2 показывает, что ползунок изменяет координату y точки;
- label3 показывает, что ползунок изменяет координату z точки;
- label4 показывает, что ползунок изменяет угол α между положительным направлением оси OY и отрицательным направлением оси OX.
Прикладная часть:
Преобразования из трехмерных координат в экранные координаты.
а) координатных осей, координат точек и линий проекций пространственного чертежа.
- расчет координат осей
Начало
вычисление координат осей
Конец
- расчет координат проекций точки А.
Начало
вычисление координат точки А
вычисление координат 6-ти точек проекций
Конец
b) координат точек и линий проекций для комплексного чертежа.
- расчет координат осей
Начало
вычисление координатных осей
Конец
- расчет координат проекций точки А.
Начало
вычисление координат проекций точки А
Конец
2. Отрисовка.
а) пространственного чертежа
- рисование координатных осей
Начало
рисование координатных осей по ранее рассчитанным точкам
подпись координат
Конец
- рисование проекций
Начало
рисование линий проекции по предыдущим расчетам
рисование точек
подпись точек проекции на плоскости
Конец
b) комплексного чертежа
- рисование осей
Начало
рисование координатных осей по предыдущим расчетам
подпись осей
Конец
- рисование проекций.
Начало
рисование линий проекции оп предыдущим расчетам
рисование точек
подпись точек
Конец
Для реализации создадим 4 класса:
class Spatial – класс координатных осей пространственного чертежа
class Complex – класс координатных осей комплексного чертежа
class SpatProj – класс, отвечающий за проекции пространственного чертежа
class ComplProj – класс, отвечающий за проекции комплексного чертежа
class Spatial содержит следующие функции:
public Spatial() – конструктор без параметров
public Spatial(float w, float h) – конструктор с двумя параметрами, рассчитывает координаты осей
public void Sdraw(ref Graphics g) – функция отрисовки координатных осей пространственного чертежа
public void recountS(float a, float w, float h) – функция пересчета координат осей пространственного чертежа при изменении угла α.
class Complex содержит следующие функции:
- public Complex() – конструктор без параметров
- public Complex(float w, float h) – конструктор с двумя параметрами, рассчитывает координаты осей
- public void Cdraw(ref Graphics g) – функция отрисовки координат комплексного чертежа
class SpatProj содержит следующие функции:
- public SpatProj(float _x, float _y, float _z, float w, float h) – конструктор с параметрами, рассчитывает координаты проекций точки А
- public void setAngle(float a) – функция, устанавливающая угол
- public void recalcA() – функция пересчета координат при изменении угла α
- public void drowProjS (ref Graphics g) – отрисовка проекций точки на пространственном чертеже
- public void RecalcSP(float f, string str) – пересчет координат при изменении какой-либо из координат x, y, z.
class ComplProj содержит следующие функции:
- public ComplProj(float _x, float _y, float _z, float w, float h) – конструктор с параметрами, рассчитывает координаты проекций точки А
- public void drowProjC(ref Graphics g) – отрисовка проекций точки на комплексном чертеже
- public void RecalcCP(float f, string str) – пересчет координат при изменении какой-либо из координат x, y, z.
При загрузке формы Form1 создаются 2 массива для хранения координат точек проекций, в textBox записываются текущие значения координат x, y, z и угла α. При инициализации массивов происходит пересчет координат осей
Потом вызываются функции pictureBox1_Paint и pictureBox2_Paint, которые прорисовывают координатные оси пространственного и комплексного чертежей соответственно.
Каждый из ползунков изменения координат точки А имеет свой символ. Этот символ отсылается функции пересчета координат проекций пространственного и комплексного чертежа. Также, при изменении положения ползунка, определяется значение, на которое изменились координаты, и производится пересчет координат. После чего происходит обновление пространственного и комплексного чертежей.
При изменении положения ползунка, отвечающего за угол, производится вычисление величины, на которую изменился угол. Далее новое значение угла фиксируется, и производится перерасчет координат осей и проекций пространственного чертежа.