Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
Любая задача на C/C++
Одно любое задание в mYsql
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си
Любой реферат по информатике

Модели отображения объектов

2021-03-09СтудИзба

2. Модели отображения объектов

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

При отображении геометрического объекта в аксонометрической проекции реальные мировые координаты точек объекта отображаются в двухмерные координаты принятой аксонометрической модели. В общем случае любая аксонометрическая проекция может быть представлена  как вырожденное афинное преобразование геометрического объекта, переводящее пространственный объект в плоскую фигуру. Квадратная матрица такого преобразования переводит вектор мировых координат произвольной точки объекта в вектор координат плоскости аксонометрической проекции. Обозначая компоненты преобразованного вектора как U - горизонтальная координата  плоской аксонометрической модели, а V - вертикальная координата , для каждого вида проекций можно получить линейное преобразование вида:

где X, Y , Z - мировые координаты точек объекта

    A - компоненты линейного преобразования.

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

Рекомендуемые материалы

                                       Z

      Z

Y          X                                   X

           

                             Y

      Рис 2.1

Значения компонент  для различных видов аксонометрических проекций:

Прямоугольная изометрия:

Прямоугольная диметрия:

  

Фронтальная косоугольная диметрия:

Горизонтальная косоугольная изометрия:

Особо следует отметить широко распространённый вид отображения трёхмерного геометрического объекта как проекция с числовыми отметками. На плоскости проекций с числовыми отметками проекция поверхности задаётся в виде линий уровня. Такие  изображения используются для отображения рельефа поверхности на географических картах, а также в компьютерной томографии. Для получения наглядного рельефного изображения геометрических объектов в этом случае используют как правило косоугольную горизонтальную изометрию ( или, как её ещё называют, «военную проекцию».Для построения каркасно-рёберной модели, которая аппроксимирует заданную поверхность в компьютерной томографии используют совокупность призматических поверхностей одинаковой , как правило небольшой , высоты. Линии уровня, описывающие поверхность, представляются в виде замкнутых ломаных линий, которые образуют основания призмы. Координаты точек вершин призматических поверхностей  с некоторым   округлением берутся непосредственно с чертежа, вершины верхних и нижних оснований призматических поверхностей отличаются только координатой Z. При отображении каркасно-рёберной модели целесообразно хранить координаты вершин в специальном файле , а построение ребер осуществлять заранее подготовленной процедурой параметрами которой являются номера точек вершин. При отображении модели в горизонтальной косоугольной изометрии для большей наглядности изображения целесообразно отображать вершины и рёбра модели с учётом видимости на аксонометрической проекции. Существует несколько различных методов определения видимости , но для рассматриваемого случая проецирования можно использовать простейший алгоритм:

а) Строится аксонометрическое изображение  нижнего основания самой нижней призмы - для данной проекции его можно построить в координатах аксонометрической модели U и  V  задав для каждой вершины :

 

       

       

б) Строится изображение верхнего основания  для каждой нижней призмы - координаты вершин определяются по соотношениям: Uiw = Ui , Viw = Yi  + dh , где dh - разность высот уровней или высота призмы. Вершины верхнего и нижнего оснований соединяются боковыми ребрами, которые в данной аксонометрической проекции представляют собой отрезки вертикальных прямых.  Для определения видимости при построении следует показывать как невидимые или совсем не показывать точки и ребра, проекции которых попадают в уже нарисованную грань верхнего основания призмы.

в) Строится нижнее основание второй призмы, соответствующей уровню dh. Координаты вершин определяются по соотношениям:

г)Далее процесс построения продолжается также, как и в предыдущих пунктах. При построении изображения верхнего основания второй призмы координаты вершин смещаются по оси Y также на уровень dh относительно верхнего основания. Для определения видимости вершин и ребер используется линия контура, ограничивающая поверхность верхней призмы. Для верхних призм видимость вершин определяется аналогично.

  Вид аксонометрического изображения каркасно-реберной модели поверхности показан на рисунке2.2.

                                         Z

                                                X

                                                  

                                     Y            

                                     

                                    X:Y:Z = 1:1:1

Рис.2.2 Изображение каркасно-рёберной модели поверхности в горизонтальной изометрии

Чертежи строятся на листах бумаги формата А4 (210х297). Для построения аксонометрических проекций каркасно-рёберных моделей необходимо сначала выполнить чертежи осей проекций и привести значения коэффициентов искажений по каждой из осей. Чертежи осей выполняются в правом верхнем углу в соответствии с ГОСТ 2.317-69 ЕСКД. Чертежи заданных каркасно-реберных моделей выполняются карандашом в заданных размерах с учетом искажений по осям для заданной аксонометрической проекции: для горизонтальной косоугольной изометрии 1:1:1.

При разработке программы отображения аксонометрической проекции каркасно-реберной модели необходимо последовательно выполнить следующие операции:

а) Организовать ввод значений координат вершин призматических поверхностей, аппроксимирующих заданную поверхность. С этой целью необходимо сформировать специальный массив записей, в котором каждая запись содержит 3 мировые (реальные) координаты соответствующей точки и заполнить этот массив.

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

       

       

в)  Рассчитать значения координат точек для вывода на устройство.

Для расчета координат устройства (графического дисплея) необходимо учесть изменение направления оси Y, обозначая Xu - число пикселов от левого края экрана, Yu - число пикселов от верхнего края экрана, X0 , Y0 - координаты ( в пикселах) точки начала координат:

значения Мх и Му связаны соотношением:

 , где Мcorr  в свою очередь определяется параметрами графического режима - разрешением экрана по Х и по У :

г) Построить отображение каркасно-реберной модели поверхности в горизонтальной косоугольной изометрии на экране устройства. Построение необходимо начинать с нижнего основания  нижней призмы. Затем строится верхнее основание нижней призмы, при этом уже построенные точки нижнего основания, аксонометрические проекции которых попали в контур верхнего основания показываются как невидимые, это можно осуществить, например, используя процедуру закраски области, ограниченной контуром верхнего основания. Также показываются как невидимые  ребра призмы, соединяющие точки, аксонометрические проекции которых находятся внутри контура верхнего основания. Далее последовательно строится нижнее основание второй призмы, верхнее основание второй призмы, боковые ребра второй призмы ,  также  с учетом видимости , причем в качестве невидимых могут оказаться уже построенные точки и ребра верхнего основания нижней призмы. Если использовать процедуру закраски области, ограниченной контуром построенного самого верхнего основания, то проблема видимости разрешается непосредственно в процессе построения. Таким же образом строятся и другие призматические поверхности, вплоть до самой верхней.

д) На аксонометрическом изображении  воспроизводится изображение осей проекций и указываются коэффициенты искажения по осям.

Изображение осей выполняются в правом верхнем углу в соответствии с ГОСТ 2.317-69 ЕСКД. Для горизонтальной косоугольной изометрии  коэффициенты искажений по всем трем осям одинаковы и принимаются равными  X:Y:Z=1:1:1

Построение проекции в линейной перспективе выполняется методом центрального проецирования точек модели на картинную плоскость ( методом Дюрера)

Построение перспективного изображения  на картине  (К) предполагает:

1.Задание картинной плоскости К (рамы картины с основанием  t-t)

2.Задание плоскости основания (Т) и точки зрения (S).

3.Изображаемый объект (А-а) располагается за картинной плоскостью.

4. Проецирующий луч, соединяющий точку объекта (А) с точкой зрения (S), пересекает картинную плоскость (К) в точке (A’), при этом точка (А’) является перспективным изображением точки (А).

5. Полученное изображение  (A’a’)  является перспективным изображением объекта (Аа).

6.

       Иллюстрация метода центрального проецирования и полученное изображение объекта в линейной перспективе показаны на рис. 2.3 На рисунке используются обозначения:

Т - предметная плоскость или плоскость оснований

К - картинная плоскость , t - t -основание картины

h - h -линия горизонта, P - главная точка картины (полюс картины)

 S - точка зрения,

 s - точка стояния

A-a - объект или предмет

A’-a’ - проекция объекта (изображение предмета)

                                                                                                              

                                                                                          

                                                                                                    

A’-a’                                                                              

A’                                                       

                                                                             

                                                                                                  

                                                                                                                                                                            

                                                                                                                   

a’


                                                                     

                                                                                                                      

               

 

Рис 2.3

Проецирующий луч перпендикулярный  картине отмечает полюс картины  -  P.

Через полюс картины   P  проходит линия горизонта  h-h.

      A’


                 P                      

h                                  h

     a’

t                                  t

Рис 2.4

Для перехода от двухкартинного комплексного чертежа к перспективному изображению используется метод проективных пучков. Чтобы построить перспективу точки A(A1,A2)  необходимо:

1.На двухкартинном комплексном чертеже задать раму картины (вертикальные стойки a и b; основания:  верхнее q и нижнее t), а так же точку зрения S(S1,S2).

2.На картинной плоскости перспективного изображения вычертить раму  картины в натуральную величину.

3.Через точки A и S провести горизонтально-проецирующую плоскость a(a1), которая отмечает на верхнем и нижнем основании рамы точки 1(11,12) и 2(21,22).

4.На основаниях картины перспективы отметить эти точки и соединить их линией (1-2).

5.Через точки A и S провести фронтально-проецирующую плоскость  b(b2) отмечающую на стойках рамы точки   3(31,32)  и  4(41,42).

6.На стойках картины перспективы отметить эти точки и соединить их линией (3-4).

7.На картине перспективного изображения на пересечении линий  1-2 и 3-4 находится перспективное изображение точки А.

Этот метод универсален и не требует построения на картине полюса, линии горизонта и т.д.  Метод позволяет масштабирование при переходе к перспективным проекциям.

q2,12,32,A2,b2,h3,S2,42,a2,b2,22,t2, Двухкартинный комплексный чертеж точки А.,41=b1,A1,11=21,S1,t1,2,a1,31=a1,h4
Построение перспективы точки А методом проективных пучков.
q,A,b,1,3,4,2,a,t,t1,2,h3,h4


Рис.2.5

При разработке программы построения изображения каркасно-реберной модели в линейной  перспективе все перечисленные методы дают возможность найти соотношения для пересчета мировых координат объекта в плоскую систему координат отображения линейной перспективы. Принимая за начало координат точку, расположенную на основании картины, мировые координаты произвольной точки объекта, например точки А:

XA , YA, ZA  - в направлении осей, т.е вправо, вдаль и вверх от точки О по отношению к наблюдателю, стоящему перед картинной плоскостью.

D - расстояние от наблюдателя до картинной плоскости.

Н - высота точки наблюдения

Обозначая координаты модели отображения линейной перспективы как U - горизонтальную координату и V - вертикальную координату из подобия треугольников получаем соотношения:

 

Для расчета координат устройства (графического дисплея) необходимо учесть изменение направления оси Y, обозначая Xu - число пикселов от левого края экрана, Yu - число пикселов от верхнего края экрана, X0 , Y0 - координаты ( в пикселах) точки начала координат:

значения Мх и Му связаны соотношением:

 , где Мcorr  в свою очередь определяется параметрами графического режима - разрешением экрана по Х и по У :


        

      Z=V

                                

                                  Y

         P                        

         O

   DSP   

             

             

                                        

                                      X=U

  Рис 2.6

Для построения каркасно-реберной модели в линейной перспективе необходимо записать координаты точек вершин в мировых координатах, затем задать положение наблюдателя (расстояние до картинной плоскости D и высоту H и смещение U0), рассчитать координаты вершин U, V  и построить точки вершин, соединить точки вершин с учетом видимости ребер. Для наглядности построений рекомендуется брать D=Ymax,

H= Zmax/2 , U0 = Xmax. Учет горизонтального смещения наблюдателя проводится прибавлением к мировым координатам X всех точек объекта величины U0.

При разработке программы отображения перспективной проекции каркасно-реберной модели, необходимо предусмотреть выполнение следующих операций:

а) Ввод значений мировых координат точек вершин каркасно-реберной модели. Такой ввод можно осуществить из специально организованного файла, однако если количество точек невелико, то можно ввести значения прямо в программе непосредственным присвоением  значений элементам массивов.

Вместе с этой лекцией читают "4. Офисные системы и технологии".

б) Ввод значений D, H, U0, X0, Y0, Mx, My - эти  значения целесообразно описать как переменные и обеспечить их изменение в ходе работы программы непосредственно с клавиатуры. При этом для графических режимов, поддерживаемых адаптером VGA и более современными адаптерами следует принять, что Mx=My

в) Расчет координат точек вершин в координатах устройства, т.е. в пиксельных координатах. Расчет осуществляется по приведенным выше соотношениям.

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

д) Построение линии горизонта и линии основания картины. Точки этих линий в мировых координатах имеют значения: ( X,0,0) - линия основания картины и

( X,0,H) - линия горизонта.

е) Вывод надписей и обозначений. Обозначения должны позиционироваться со своими объектами, поэтому дисплейные координаты обозначений необходимо рассчитывать в соответствии с дисплейными координатами объектов.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5168
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее