68889

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

Лекция

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

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

Украинкский

2014-09-26

90.5 KB

0 чел.

ЛЕКЦІЯ 9

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

До основних видів проектування в машинній графіці відносяться:

                -паралельні;

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

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

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

                                                         (центральні проекції):

-ортографічна;                   -одноточечні;

-аксонометрична;               -двухточечні;

-кабінетна;                             -трьох точкові;

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

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

                      

                                      E

                                                         r    

Тобто, велике значення має відстань між оком і об'єктом.

            Е-точка спостереження;

            О-центральная точка об'єкту (приблизно центр   

                   об'єкту);

            ОЕ-лінія спостереження

-Чим більше r, в порівнянні з розміром об'єкту, виходить паралельна проекція, що часто застосовується на практиці.

-При   r   буде перебільшений ефект перспективи.

(r=2предмет може виглядати абсолютно не природно)

        E

-Точка в двомірному просторі і тривимірному представляється відповідно координатами (x, у) і (x, у, z).

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

Для цього потрібно перетворити координати точки P зі світових координат (x, у, z) в екранні (X,y).

Це відображення зручно виконати в два етапи:

             - точка  P залишається на своєму місці, але система світових координат переходить в систему видових координат - видове перетворення;

             - перетворення точки Р в точку Р`, об'єднане з переходом з системи тривимірних видових координат в систему двомірних екранних координат.

               Світові координати (xw , yw, zw)

                   Видове         перетворення

                   

               Видові координати e, ye, ze)

        Перспективне         Перспективне

                   

               Екранні координати (X,y)

Видове перетворення

 

Для виконання видових перетворень повинні бути задані точка спостереження (Е), співпадаюча з оком, і об'єкт.

 Система світових координат повинна бути, бажано        

правою і зручною, щоб початок її координат розташовувався поблизу центру об'єкту, оскільки об'єкт спостерігається в напрямі

від Е до О.

Хай точка Е задана в сферичних координатах r,q,Y  по відношенню до світових координат.     

                                    ze  zw

                                                       j                                       

                                                          r

                                              O                       ye

                                                                           yw

                           xw                     xe                      q 

 Світові  координати можуть бути обчислені:

       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

                                                               xw                                yw

                  

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


 

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

62239. Спосіб життя і здоровя 22.85 KB
  Мета: формувати в учнів поняття про здоровий спосіб життя, сприяти активному усвідомленню необхідності берегти здоровя; вдосконалити навички аналізу, вміння працювати в групах, оцінювати інформацію; виховувати почуття відповідальності за збереження...
62241. Перенос слов 28.1 KB
  Цель: Создание условий для формирования у учащихся умения переносить слова без стечения согласных с одной строки на другую. метапредметные: регулятивные учащиеся учатся: организовывать своё место под руководством учителя...
62243. Фонетический разбор слова 22.36 KB
  Задачи: Образовательная: повторить порядок фонетического разбора слова; практиковать правильное произношение слова; закрепить знания о гласных и согласных звуках. Согласные звуки: звонкие в том числе и сонорные и глухие парные и непарные твёрдые...