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


 

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

55666. Подорож до країни Ввічливості та Доброти 49 KB
  Вступна бесіда Діти сьогодні на вас чекає подорож до Країни Ввічливості та Доброти. Діти послухайте яка пригода сталась з одним неввічливим хлопчиком.
55667. Адаптація дитини стосовно розлучення батьків (методичні рекомендації щодо організації психологічної допомоги дітям, батьки яких розлучилися) 81.5 KB
  У деяких батьків саме з нього починається новий виток ворожнечі та взаємного звинувачення в очах власних дітей які стають жертвами батьківських маніпуляцій. Враховуючи що дитина пізнає світ через батьків...
55669. Робота з обдарованими дітьми, спрямована на розвиток академічної обдарованості молоді 190 KB
  У Державній національній програмі Освіта Україна XXI століття серед пріоритетних напрямків реформування шкільної освіти визначено: своєчасне виявлення ранньої обдарованості забезпечення умов для розвитку талановитих дітей а також удосконалення...
55670. Творча робота «Робота з обдарованими дітьми у Донецькому НВК № 91» 1.9 MB
  Удосконалення психологопедагогічного супроводу обдарованих дітей Завдання проекту Сприяти духовноморальному розвитку обдарованих вихованців шляхом самовдосконалення методом залучення особистості в інноваційні форми роботи...
55671. Роль педагога-організатора у створенні сприятливих умов для саморозвитку та самореалізації учнів – членів дитячої організації 568.5 KB
  Саме вона дає змогу учням відчути себе справжніми господарями школи і разом з тим зрозуміти настільки це важливо організувати роботу брати на себе відповідальність приймати рішення. Важлива також варіативність у діяльності педагогаорганізатора в залежності від вікової групи учнів підлітки чи юнацтво типу школи. У своїй роботі педагогорганізатор керується державними документами про школу освіту виховання Положенням про посадові обовязки педагогаорганзітора Статутом школи інструкціями та наказами вищестоячих органів та...
55672. Вивчення схильностей учнів до небажаних вчинків 7.01 MB
  Вивчити причини, що спонукають підлітків до вчинення протиправних дій та найбільш поширені шкідливі звички. За основу даного дослідження взято анкету «Молодь і протиправна поведінка» (автор Пачковський, І. Корнієнко).
55674. Натхненна спадщина. З історії розвитку культури м.Сміли Черкаської області 291 KB
  Факти такі. У 19 ст. в містечку існувало дві типографії, в одній із них 1885 року граф Олександр Олексійович Бобринський надрукував своє генеалогічне дерево. 1895 року почала діяти публічна бібліотека при Смілянському народному училищі. На ці ж роки припадає розквіт театру Бобринських.