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                  {поворот фигуры}


 

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

14526. Единая сельскохозяйственная политика Европейского союза 76 KB
  Единая сельскохозяйственная политика Европейского союза 1.Необходимость и цели ЕСХП 2.Начало ЕСХП 3.Современные реформы ЕСХП 4. Реформа сахарного режима 2005 2006 Единая сельскохозяйственная политика Европейского союза англ. Common Agricultural Policy система сельскохозя
14527. Образование Европейских сообществ и становление европейского Союза 113 KB
  Образование Европейских сообществ и становление европейского Союза 1.Исторические предпосылки и основные этапы становления Европейских сообществ Формирование Европейских сообществ и европейского права это единовременный и тесно взаимосвязанный процесс. Создани...
14528. Сущность, предпосылки, цели и эффекты интеграции 50.5 KB
  Понятие МЭИ. Объективная необходимость и историческая неизбежность МЭИ В условиях интернационализации мировой экономики растет зависимость развития каждой национальной экономики от внешних факторов. Это подтверждается ростом мирового товарооборота объемов ...
14529. Сущность, предпосылки, цели и эффекты интеграции 155.5 KB
  Сущность предпосылки цели и эффекты интеграции 1.Сущность предпосылки цели и эффекты интеграции 2.Теории международной экономической интеграции 3.Главные интеграционные группировки мира 4.Особенности интеграции в Североамериканском регионе 5.Экономическая ин
14530. Теории европейской интеграции 110 KB
  ТЕМА 1. Теории европейской интеграции 1.Понятие интеграции: проблемы дефиниции 2.Теории политической интеграции 3.Социологический подход к изучению европейской интеграции 4.Экономикотеоретический подход к изучению европейской интеграции 5.Правовой подход к изу...
14531. Европейский Суд 127.5 KB
  Европейский Суд Экономический и социальный комитет 3.Комитет регионов Европейского Союза КОР 1.Европейский Суд Европейский Суд без натяжек можно признать стержневым органом в системе институтов ЕС. Но он бы не смог стать таковым если бы не была проявлен
14532. Европейская счетная палата 127.5 KB
  I. Европейская счетная палата 1.СозданииЕвропейской счетной палаты 2.Мандатчленов Европейской счетной палаты. Полномочия. 3.СоставЕвропейской счетной палаты. 4.Организационная структура Европейской счетной палаты 5.Сотрудничествос другими институтами и организ...
14533. Римские Договора 1957 года. Образование Европейского Экономического Сообщества (ЕЭС) и Европейского Сообщества по Атомной Энергетике (Евратома) 30.76 KB
  Римские Договора 1957 года. Образование Европейского Экономического Сообщества ЕЭС и Европейского Сообщества по Атомной Энергетике Евратома Римский договор 1957 года: Создание ЕЭС 25 марта 1957 года в Риме были подписаны договора о создании ЕЭС и Евратома. 1 января 1958 го
14534. БРЮССЕЛЬСКИЙ ДОГОВОР 1965 ГОДА 19.03 KB
  Брюссельский Договор 1965 года В ЕЭС как и в Евратоме были созданы институты почти повторившие те которые существовали в ЕОУС. Существование параллельных институтов в ЕЭС и в Евратоме сразу было признано нецелесообразным. Об этом было заявлено в конвенции принятой в Ри