Точка в 3D пространстве

Автор работы: Пользователь скрыл имя, 18 Ноября 2015 в 21:48, лабораторная работа

Описание работы

Содержание экрана:
пространственный чертеж с изображением точки T, ее проекций на координатные плоскости T1, T2, T3 и ее проекций на координатные оси TX, TY, TZ, а также линий связи (с учетом выбранного типа проецирования и расположения точки камеры);
комплексный чертеж с изображением проекций точки T – T1, T2, T3, TX, TY, TZ, а также линий связи;
ползунковые переключатели для интерактивного изменения координат точки T и угла между осями Ox и Oy на пространственном чертеже.

Файлы: 1 файл

Laba1_Otchet.docx

— 647.71 Кб (Скачать файл)

Уфимский государственный авиационный технический университет

Кафедра вычислительной математики и кибернетики

 

 

 

 

 

 

 

Отчет к лабораторной работе № 1

«Точка в 3D пространстве»

по дисциплине

Компьютерная графика

 

 

 

 

Выполнил:

Студент группы МО-305

Кучуков З.Ш.

 

Проверил:

Профессор кафедры ВМиК

Верхотуров М.А.

 

 

 

Уфа-2015

Оглавление

 

 

СОДЕРЖАТЕЛЬНАЯ И ФОРМАЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ

Формальная постановка задачи.

Написать программу, отображающую на экране пространственный макет точки трехмерного пространства, а также ее комплексный чертеж. Реализовать возможность динамического изменения координат точки, а также угла между осями Ox и Oy на пространственном чертеже.

Содержательная постановка задачи.

Содержание экрана:

  • пространственный чертеж с изображением точки T, ее проекций на координатные плоскости T1, T2, T3 и ее проекций на координатные оси TX, TY, TZ, а также линий связи (с учетом выбранного типа проецирования и расположения точки камеры);
  • комплексный чертеж с изображением проекций точки T – T1, T2, T3, TX, TY, TZ, а также линий связи;
  • ползунковые переключатели для интерактивного изменения координат точки T и угла между осями Ox и Oy на пространственном чертеже.

Динамика:

  • при изменении координат точки T должны изменяться ее изображение, изображения ее проекций и линий связи как на пространственном, так и на комплексном чертежах.
  • при изменении угла между осями Ox и Oy пространственный чертеж должен перерисовываться

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

В основу построения любого изображения положена операция проецирования.

Сущность метода ортогонального проецирования заключается в том, что предмет проецируется на две взаимно перпендикулярные плоскости лучами, ортогональными (перпендикулярными) к этим осям.

Одну из плоскостей проекций П1 располагают горизонтально, а вторую П2 - вертикально. Плоскость П1 называют горизонтальной плоскостью проекций, П2 - фронтальной. Плоскости П1 и П2 бесконечны и непрозрачны.

При построении проекций необходимо помнить, что проекцией точки на плоскость называется основание перпендикуляра, опущенного из данной точки на эту плоскость. Проекцию точки T на горизонтальную плоскость называют горизонтальной проекцией и обозначают T1, проекцию точки T на фронтальную плоскость - фронтальной проекцией и обозначают T2. Каждая из них является основанием перпендикуляра, опущенного из данной точки T соответственно на плоскости П1 и П2. Две проекции точки определяют ее положение в пространстве. Так как каждая фигура или тело представляет собой совокупность точек, то можно утверждать, что две ортогональные проекции вполне определяют его форму.

Однако в практике изображения строительных конструкций, машин и различных инженерных сооружений возникает необходимость в создании дополнительных проекций. Чтобы сделать проекционный чертеж более ясным и удобочитаемым, используют третью плоскость, перпендикулярную П1 и П2. Эта плоскость обозначается буквой П3 и называется профильной. Проекцию точки T на плоскость П3 называются профильной и обозначают T3.

Плоскости проекций, попарно пересекаясь, определяют три оси: Ox, Oy и Oz, которые можно рассматривать как систему прямоугольных декартовых координат в пространстве с началом в точке O. Три плоскости проекций делят пространство на восемь трехгранных углов - это так называемые октанты. Нумерация октантов дана на Рис. 1.

 
Рис. 1. Нумерация октантов.

Рассматривая ортогональные проекции, предполагают, что наблюдатель находится в первом октанте. Проекционный чертеж, на котором плоскости проекций со всем тем, что на них изображено, совмещены определенным образом одна с другой, называется эпюром Монжа (просто эпюром или комплексным чертежом). Для получения эпюра плоскости П1 и П3 вращают как показано на Рис. 1, до совмещения с плоскостью П2. В результате вращения передняя полуплоскость П1 оказывается совмещенной с нижней полуплоскостью П2, а задняя полуплоскость П1 - с верхней полуплоскостью П2. Окончательный вид всех совмещенных плоскостей проекций дан на Рис. 2.

 
Рис. 2. Эпюр Монжа.

Координатами называют числа, которые ставят в соответствие точке для определения ее положения в пространстве или на поверхности.

В трехмерном пространстве положение точки устанавливают с помощью прямоугольных декартовых координат x, y, z.. Абсцисса x определяет расстояние от данной точки до плоскости П3, ордината y - до плоскости П2 и аппликата z- до плоскости П1.

Построение изображения самой точки и ее проекций на пространственной модели рекомендуется осуществлять с помощью координатного прямоугольного параллелепипеда. Прежде всего на осях координат от точки O откладывают отрезки, соответственно равные единицам длины. На этих отрезках (OTX, OTY, OTZ), как на ребрах, строят прямоугольный параллелепипед. Вершина его, противоположная началу координат, и будет определять заданную точку T.

Построение параллелепипеда позволяет определить не только точку T, но и все три ее ортогональные проекции.

Лучами, проецирующими точку на плоскости П1, П2 и П3, являются те три ребра параллелепипеда, которые пересекаются в точке T.

 

Рис. 3. Пространственный макет точки T.

На эпюре, где все плоскости проекций совмещены, проекции T1 и T2 окажутся на одном перпендикуляре к оси OX, а проекции T2 и T3 - на одном перпендикуляре к оси OZ. Что касается проекций T1 и T3, то и они связаны прямыми T1TY и T3TX, перпендикулярными оси OY. Но так как эта ось на эпюре занимает два положения, то отрезок T1TY не может быть продолжением отрезка T3TY.

Построение проекций точки T на эпюре по заданным координатам выполняют в такой последовательности: прежде всего на оси абсцисс от начала координат откладывают отрезок OTX = x, а затем через точку TX проводят перпендикуляр к оси Ox, на котором с учетом знаков откладываем отрезки TXT1 = y (получаем T1) и TXT2 = z (получаем T2). Остается построить профильную проекцию точки T3. Так как профильная и фронтальная проекции точки должны быть расположены на одном перпендикуляре к оси Oz, то через T2 проводят прямую T2TZ перпендикулярно Oz. Наконец, возникает последний вопрос: на каком расстоянии от оси Oz должна находиться T3? Рассматривая координатный параллелепипед, ребра которого TZT3 = OTY = TXT1 = y, заключаем, что искомое расстояние TZT3 равно y. Отрезок TZT3 откладывают вправо от оси Oz, если y > 0, и влево, если y < 0.

 

Рис. 4. Комплексный чертеж точки T.

СТРУКТУРА РЕШЕНИЯ (ЭТАПЫ РЕШЕНИЯ И ИХ ВЗАИМОСВЯЗЬ)

  1. Вычисления
    1. Преобразования из системы трехмерных координат точки в экранную систему координат для пространственного чертежа, вычисления координат точек и линий проекций.
    1. Вычисление координат точек и линий проекций для комплексного чертежа.
  1. Отрисовка
    1. Отрисовка пространственного чертежа
    2. Отрисовка комплексного чертежа

ОБЗОР И АНАЛИЗ МЕТОДОВ РЕШЕНИЯ

  1. Вычисления. 
    Для построения чертежей на экране нам необходимо уметь переводить координаты из реальной трехмерной системы координат в двумерную систему координат экрана (для пространственного макета), а также определять по трехмерным координатам координаты на комплексном чертеже и переводить их в двумерную систему координат экрана.

 

А) Вывод формул для пространственного макета.

Даны координаты точки Т в трехмерной декартовой системе координат пространства – x, y, z, а также угол alpha между положительным направлением оси Oy и отрицательным направлением оси Ox на пространственном макете, ширина и высота чертежа – width и height.

Для построения пространственного макета точки T нужно найти: 
- экранные координаты начала отсчета пространственного макета; 
- экранные координаты точки T; 
- экранные координаты ее проекций на плоскости П1, П2, П3 – T1, T2, T3; 
- экранные координаты ее проекций на координатные оси – TX, TY, TZ; 
- экранные координаты начальной и конечной точек линии, изображающей ось Oy; 
- длину полуоси.

Координаты начала отсчета находятся следующим образом:

X_pict= wigth / 2

Y_pict = height / 2

Таким образом, нужно вывести формулы для перевода заданных трехмерных координат произвольной точки T XT, YT, ZT в экранные двумерные координаты x0, y0, учитывая заданный угол alpha и координаты начала отсчета – X_pict, Y_pict.

Рассмотрим следующий рисунок.


 

Из этого рисунка видно, что

XT = (X_pict – x0) + ∆x,

ZT = (Y_pict – y0) + ∆y.  
Т.е. x0 = X_pict – XT + ∆x и y0 = Y_pict – ZT + ∆y.

Где ∆x и ∆y находятся из соответствующих прямоугольных треугольников по формулам:

∆x = YT*cos(alpha),

∆y = YT*sin(alpha). 
Таким образом, 
x0 = X_pict – XT + YT*cos(alpha),  
y0= Y_pict – ZT + YT*sin(alpha).

Итак, мы получили формулы для вычисления экранных координат произвольной точки по заданным трехмерным координатам, углу alpha и координатам начала отсчета. По этим формулам можно вычислить координаты точек, необходимых для построения пространственного макета -  T, T1, T2, T3, TX, TY, TZ.

Для простоты вычислений введем переменные k1, k2, k3 и k4.

k1 = X_pict - XT;

k2 = Y_pict - ZT;

k3 = x0 + XT;

k4 = y0 + ZT;

 

T = (x0, y0);

T1 = (x0, k4);

T2 = (k1, k2);

T3 = (k3, y0);

Tx = (k1, Y_pict);

Ty = (k3, k4);

Tz = (X_pict, k2);

 
В)Вывод формул для комплексного чертежа.

Даны координаты точки T в трехмерной декартовой системе координат пространства – x3, y3, z3, а также ширина и высота чертежа – w и h.

Для построения комплексного чертежа нам необходимо найти: 
- экранные координаты начала отсчета комплексного чертежа; 
- длину полуоси; 
- координаты точек комплексного чертежа: T1, T2, T3 (проекции точки T на П1, П2, П3), Tx, Ty1, Ty2, Tz (проекции точки T на оси, для оси Y – две такие точки, т.к. на комплексном чертеже она представлена дважды).

Координаты начала отсчета находятся следующим образом: 
X_pict= wigth / 2

Y_pict = height / 2

 

Рассмотрим следующий рисунок, расстояния TX, TY, TZ на котором обозначены в соответствии с построением комплексного чертежа.

 
 
 
Рис. 7. Нахождение экранных координат точек для построения комплексного чертежа.


 

Из этого рисунка можно найти экранные координаты всех интересующих нас точек комплексного чертежа.

Для простоты вычислений введем переменные k1, k2, k3 и k4.

k1 = X_pict - XT;

k2 = Y_pict - ZT;

k3 = X_pict + YT;

k4 = Y_pict + YT;

 

Tx = (k1, Y_pict);

Ty = (k3, Y_pict);

Ty1 = (X_pict, k4);

Tz = (X_pict, k2);

T1 = (k1, k4);

T2 = (k1, k2);

T3 = (k3, k2);

  1. Прорисовка (вывод чертежей на экран).

Для того чтобы вывести необходимое нам изображение на устройство вывода (экран, принтер), довольно часто используется Интерфейс Графических Устройств GDI (Graphics Device Interface), представляющий собой интерфейс, который Windows  использует для рисования 2D графики. Когда необходимо отрисовать изображение через GDI, происходит работа не с физическими устройствами вывода, а с логическими. Так, приложение работает с логическим монитором, который может реализовать все необходимые функции. Обмен информацией происходит через драйвер устройства, который производит перевод информации из формы, работающей на логическом устройстве, в форму, которая может быть выведена на физическое устройство вывода с учётом его аппаратных особенностей.

Для отрисовки чертежей используются одинаковые функции DrawEllipce, DrawLine  и т.д.(которые уже определены в GDI), которые работают с координатами, полученными на этапе вычислений. Вывод чертежей производится на элементы PictureBox.

Информация, вводимая пользователем через объекты визуального интерфейса вызывают пересчёт значений и последующую перерисовку изображения с учётом новых входных данных.

В данной работе используется среды разработки Visual Studio, с языком программирования C#. Для отрисовки используются следующие методы GDI:

- DrawLine – для прорисовки осей и линий связи;

- DrawEllipse – для прорисовки точек;

- DrawString – для подписи осей и точек;

- DrawArc – для прорисовки дополнительной линии связи(только на комплексном чертеже).

ОПИСАНИЕ РЕАЛИЗАЦИИ ПРИМЕНЯЕМЫХ МЕТОДОВ

  1. Ввод координат точки и угла наклона оси Y

Используем класс TrackBar.

Свойства класса:

Minimum – минимально возможное значение трекбара.

Maximum – максимальное значение трекбара.

Value – текущее значение трекбара.

Для ввода координат угла Angle_Y воспользуемся свойством Value.

X=XtrackBar.Value,

Y=YtrackBar.Value,

Z=ZtrackBar.Value,

angle_Y = Angle_trackBar.Value

  1. Вычисления
      1. Вычисления для пространственного чертежа

Преобразования из системы трехмерных координат точки в экранную систему координат для пространственного чертежа, вычисления координат точек и линий проекций.

Информация о работе Точка в 3D пространстве