68912

Виды проектирования

Лекция

Информатика, кибернетика и программирование

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

Русский

2014-09-27

92.5 KB

0 чел.

ЛЕКЦИЯ 9

Виды проектирования

К основным видам проектирования в машинной графике относятся:

                –параллельные;

                –центральные (перспективные);

Каждый из основных видов разбивается на несколько подвидов.

Параллельные проекции:          Перспективные

                                                         (центральные проекции):

–ортографическая;                   –одноточечные;

–аксонометрическая;               –двухточечные;

–кабинетная;                             –трёх точечные;

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

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

Очевидно, что картина будет зависеть от положения глаза.

                      

                                      E

                                                         r    

Т.е., большое значение имеет расстояние между глазом и объектом.

             Е–точка наблюдения;

             О–центральная точка объекта (приблизительно центр   

                   объекта);

             ОЕ–линия наблюдения

–Чем больше r, по сравнению с размером объекта, получается параллельная проекция, часто применяющаяся на практике.

–При   r   будет преувеличен эффект перспективы

(r=2–предмет может выглядеть совершенно не естественно)

        E

–Точка в двухмерном пространстве и трёхмерном представляется соответственно координатами (x, y) и (x, y, z).

При необходимости получения проекции задается большое количество точек P (x, y, z), принадлежащих объекту, для которых предстоит вычислить координаты точек изображения P`(x, y) на картине.

Для этого нужно преобразовать координаты точки P из мировых координат (x, y, z) в экранные (X,Y).

Это отображение удобно выполнить в два этапа:

             – точка  P остается на своем месте, но система мировых

координат переходит в систему видовых координат–видовое преобразование;

             – преобразование точки Р в точку Р`, объединенное с переходом из системы трёхмерных видовых координат в систему двухмерных экранных координат.

               Мировые координаты (xw , yw, zw)

                   Видовое          преобразование

                   

               Видовые координаты (хe, ye, ze)

        Перспективное         преобразование

                   

               Экранные координаты (X,Y)

Видовое преобразование

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

 Система мировых координат должна быть, желательно,        

правой и удобно, чтобы начало ёё координат располагалось вблизи центра объекта, поскольку объект наблюдается в направлении

от Е к О.

Пусть точка Е задана в сферических координатах r,q,Y  по отношению к мировым координатам.     

                                    ze  zw

                                                       j                                       

                                                          r

                                              O                       ye

                                                                           yw

                                              xe                      q

                               xw

Мировые  координаты могут быть вычислены:

xe=rsinjcosq;

ye=rsinjcosq;

                                               ze=rcosj;

Нашей конечной задачей будет вычисление экранных координат X,Y, для которых X и Y лежат в плоскости экрана, расположенной между точками Е и О и перпендикулярной направлению наблюдения ЕО.

Начало системы видовых координат располагается

в точке Е–точка наблюдения.

                                                  ye

                                   zw

                                                       E                  

                                                                              xe

                                       ze

                             O

                                                                 yw

         xw

                                                                 рис.1

При направлении взгляда из Е в О положительная полуось Хе направлена вправо, Ye –вверх. В дальнейшем экранные оси определим в том же направлении.

Направление оси  Ze выбирается так, чтобы значения координат увеличивались по мере удаления от точки наблюдения (Е), хотя система координат получается левосторонней. Видовое преобразование может быть записано в форме:

[xe,ye,ze,1]=[xw,yw,zw,1] *V,

 V–матрица видового преобразования, размером 4*4.

Матрица V получается путем переумножения 4-х матриц.

{если преобразование изменяет координаты, значит, определяется матрицей, обратной матрице, соответствующей преобразованию точек}

  1.  Перенос из О в Е.                                                                z

Точка Е становится новым началом координат.

                                                                                  zw

       1    0   0  0

       0    1   0  0                                                                                      

Т=   0    0   1  0                                                                         q            y

      -xe -ye -ze 1                                                                   x

                                                                                                   yw

                                                                    xw

2. Поворот координатной системы вокруг оси Z на угол  (p-q) в отрицательном направлении.

                                                                                                      z

         cos(p/2-q)   sin(p/2-q)   0       sinq   cosq    0  

Rz=   -sin(p/2-q)  cos(p/2-q)    0  =  -cosq  sinq    0                          p-j

           0                 0                  1          0       0       1               j

                                                                                                                        

                                                                                                                                                                         

                                                                                    x                                  

     Совместим ось Y с горизонтальной составляющей отрезка ОЕ, тогда ось Х перпендикулярна отрезку ОЕ.                                                                                                                   

  1.  Поворот системы координат вокруг оси Х на угол (p-j)

 Поскольку новая ось Z должна совпадать по направлению с отрезком ЕО, повернем систему координат вокруг оси X на угол (p-j) в положительном направлении, что соответствует повороту точки на угол –(p-j)=j-p.                   1         0               0

                                         y             Rx=  0 cos(j-p)  sin(j-p)

                                                                0 -sin(j-p) cos(j-p)

                                                                

                                             E                 1       0        0

                             O                        Rx=  0  -cosj  -sinj

                       z         x                             0    sinj  -cosj

4.Изменение направления оси X, Z и Y имеют правильную ориентацию, а ось Х должна быть направлена в противоположную сторону.

                       -1 0 0

           Myz=     0 1 0

                         0 0 1

 

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

Вычислим матрицу отображения V как матричное произведение:

V=T*RzRxMxy

Матричное произведение не коммутативно, т.е. в общем случае  RzRx= RxRz  не ассоциативно, поэтому выражение  можно получить:

V=T(RzRxMxy)

                        sinq  cosq  0         1     0        0

RzRx=   -cosq  sinq  0         0 -cosj   sinj

                          0        0    1         0   sinj  -cosj

                  

              sinq  -cosqcosj  -cosqsinj         -1  0  0

RzRx=    -cosq -sinqcosj   -sinqsinj    *     0  1  0

                 0          sinj          -cosj             0  0  1

                   -sinq  -cosqcosj  -cosqsinj       

RzRxMyx=     cosq  -sinqcosj  -sinqsinj

                       0          sinj          -cosj

a=cosj;     V41=rbcdrbcd=0

b=sinj;     V42=rabc2 + rabd2 rab=r(ab(c2 + d2)–b)= r(abab)=0

c=cosq;     V43=rb2c2 + rb2d2 + ra2=r(b2(c2 + d2)+a2)= r(b2 +a2)= r

d=sinq;

                       -sinq  -cosqcosj  -cosqsinj  0         

                        cosq  -cosjsinq   -sinjsinq  0     

              V=       0           sinj          -cosj    0     *  x y z

                          0             0                r         1                                

Т.е. получим видовые координаты по сферическим координатам:

                         [xe ye ze 1]=[xw yw zw 1] * V

Для получения ортогональной проекции можно использовать координаты   xe и ye  без ze.

Перспективные преобразования

Для простоты работы видовые координаты (xe, ye, ze) будем               обозначать как (x, y, z), так как мировые координаты здесь уже не будут фигурировать.

 

 

 

 

 

 

        E                             x

Плоскость z=d определяет экран, она перпендикулярна оси Z и проходит через точку Q.

Для каждой точки объекта Р точка изображения P` определяется как точка пересечения линии РЕ и экрана.  Для простоты примем координаты точки Р (x, 0, r) – т.е. нулевую координату “Y”.

         EPR   и      EP`Q  подобны

Значит,    P`Q         PR

                 EQ          ER

                 

                         

Отсюда  x=d*x/z

Аналогично y=d*y/z

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

Для переноса экранных координат по экрану используется выражение:

             X=d*x/z+c1;

             Y=d*y/z+c2;                                             P

         

                                                        P`                               

                                                   

                                                        d

                                                       Q`                  

                                                                          Q

Размер картинки           размер объекта  

           d                                     r

tga=  (0.5 * размер объекта)/r

Программа получения проволочной  модели куба

                         z 

                H                                   G

              

                                                                                                

   E

                                                             y

                   DD                                C

x     

      A                                  B

Алгоритм вращения проволочной модели

1). Задание проволочной модели.

    Type

            Ver=record

             x, y, z:real;

           end;

             Rbr=record

             r,k : integer;

           end;

    Var

        SV:array[1..8] of Ver;     {список вершин}

        SR:array[1..12] of Rbr;    {список ребер}

2). Пересчет мировых координат вершин фигуры в экранные координаты:

Var   w:array[1..4,1..4] of real;     {матрица проектирования}

w11=-sinth;         w12= –cf*ct;              w13= –sf*ct;

w21=ct;               w22= –cf*st;              w23= –sf*st;

                          w32=sinf;                   w33= –cf;

                                                            w43=r;

С помощью матрицы проектирования получаем видовые координаты xe, ye, ze:

 xe=w11*cv[i].x + w21*sv[i].y;

 ye=w12*sv[i].x + w22*sv[i].y + w33*sv[i].z;

 ze=w13*sv[i].x + w23*sv[i].y + w33*sv[i].z + w43;

и экранные координаты каждой вершины:

 pv:array[1..8] of ver;

 pv[i].x=round(d * xe/ze);            {+c1}

 pv[i].y=round(d * ye/ze);             {+c2}  

3). Рисуем фигуру.

    line(x1, y1, x2, y2);

    x1,y1–координаты начала ребра;

    x2,y2–координаты конца ребра;

4). Поворот фигуры.

Поворачивает фигуру на угол  a вокруг оси, проходящей через точку С – центр вращения – параллельно и по направлению вектора V.

Type

    Rot=record

    Cx,Cy,Cz,

    Vx,Vy,Vz:real;

Var

  C:Rot;

Задаем     Cz,Cy,Cz –координаты центра вращения;

               Vx,Vy,Vz–направляющий векторж

4.1 Подсчитываем сферические координаты Vm,j,q.

Vm=   Vx2 +Vy2 +Vz2

         

          

          Vx=0,  Vy>=0,   q=p/2;

q=          

          Vx=0,  Vy<0,      q=3p/2;

j=arccos(v3/r)   или  f=arctan(sinf/cosj)

4.2 Вычислим матрицу поворота

      r[4*4]

4.3 Получаем новые координаты вершин и пересчитываем их в видовые и экранные.

4.4 Рисуем повернутую фигуру

Процедуры:

   DemoF       {для текста}

   DrawF         {рисование фигуры}

   InitF           {задание фигуры}

InitF              {пересчет координат}

InitR                  {поворот фигуры}


 

А также другие работы, которые могут Вас заинтересовать

30601. Профессиограмма в журналистике 26 KB
  Профессиограмма в журналистике Профессиограмма подробное описание должностных обязанностей на конкретном рабочем месте и описание рабочих качеств сотрудника необходимых для выполнения этих обязанностей. Я так думаю что профессиограмма в журке означает то что под определенные требования подбирают подходящего журналиста. Профессиограмма помогает подобрать точно персонал а персонал сразу знает чего от него требуется.
30602. Особенности журналистского творчества 40.5 KB
  Функции этой среды: критическая оценка предлагаемых или используемых журналистом способов и приемов деятельности селективная отбор приемов и способов деятельности...
30603. Дневник как тип творчества 13.09 KB
  НО вообщето это нечто большее чем механические записи. Записи в личном дневнике могут пригодиться лет этак через несколько. НО на страницах Комсомолки а затем отдельными книгами вышли его дневниковые записи которые вызвали интерес у читателей.
30604. Этические нормы в журналистском творчестве 23.58 KB
  Этические нормы в журналистском творчестве. Журналист и адресат информации. Отношения журналиста с адресатом информации а вернее отношение к адресату регламентируется следующими нормами: Первейшая задача журналиста гарантировать людям получение правдивой и достоверной информации посредством честного отражения объективной реальности. Журналист излагает факты добросовестно сохраняя их подлинный смысл вскрывая важнейшие связи и не допуская искажений.
30605. Объектно-ориентированное программирование С.А. Литвинова 429.5 KB
  Курсовая работа студента – заключительный этап изучения определенной дисциплины. Цель работы – систематизация и закрепление теоретических знаний, полученных за время обучения, а также приобретение и закрепление навыков самостоятельной работы. Работа, как правило, основывается на обобщении изученного студентом теоретического материала
30606. Бердяев о творческом поведении («Самопознание») 43.5 KB
  БердяевВариант сокращенный обобщенный для шпор короче: В чем отличие этики творчества от этики закона и искупления Не уничтожение зла а творческое преображением злого в доброе. Для творчества возможен прорыв к другим мирам оно преодолевает кошмар конечного кошмар порядка жизни. Этика творчества есть прежде всего этика ценности а не спасения. Этика творчества исходит из личности и направлена на мир в то время как этика закона исходит от мира от общества и направлена на личность.
30607. Понятие творчества в работах Бахтина 28 KB
  Он утверждал что слово является непосредственным фактом жизнедеятельности то есть слово поступок. По сути это переход от формулы слово и дело к формуле и слово есть дело . Для журналиста это принципиально важно ведь для нас господа слово действительно дело. Бахтин изучал даже не столько само слово сколько границы звучащего слова.
30608. Характеристика творчества в работах Пришвина 38.5 KB
  Всякое живое существо говорит о себе не только словами но и формой своего поведения в жизни никто не безмолвствует. Для каждого своего блина артист должен готовить новую сковороду. Человеком по мнению таких людей можно назвать только того кто смотрит на проходящие волны из глубины своего дня. А живым остается в своей наивной простоте доказывать перед современностью наличие жизненности своего существа.
30609. Бытие, самопознание, творчество 26.81 KB
  категория обозначающая реальность существующую объективно вне и независимо от сознания человека. Эта трансформация выражавшая новый тип отношения человека к природе обусловленного развитием науки техники и материального производства подготовила концепции Б. u которых природа рассматривается вне отношения к ней человека как некоторый механизм действующий сам но себе. созданное деятельностью человека.