68889

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

Лекция

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

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

Украинкский

2014-09-26

90.5 KB

1 чел.

ЛЕКЦІЯ 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                  { поворот фігури}


 

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

53278. Халдейське царство 45 KB
  Мета: розкрити роль і значення Халдейського царства в історії стародавнього світу, виробляти в учнів уміння аналізувати, спів- ставляти, узагальнювати вивчений матеріал, висловлювати власну думку, розвивати творче мислення школярів, виховувати інтерес до історії найдавніших цивілізацій
53279. TRADITIONS. CUSTOMS. HALLOWEEN 95.5 KB
  The ancient people who inhabited what we now call Great Britain divided the year into two seasons: growing season and winter. Life and Death. Druids placed great importance on passing of one season to the next. Summer officially ended on October 31-st. On that day people celebrated the Celtic New Year. And the next day was the first day of winter. Being between two seasons it was a very magical time, when the barriers between our world and the spirit world were at their weakest...
53280. Halloween 1.25 MB
  Good morning, boys and girls! I’m glad to see you. I hope you are OK. In our today’s lesson we’ll get to know some new facts about one of the children’s best loved holidays, read the text, sing a song, play a game and do a lot of interesting activities.
53281. Halloween 136.5 KB
  What holiday is it? Ps: It is Halloween T: And what will be the topic of our lesson? Ps: Halloween. T: Yes, you are right. Today we are going to speak about famous American holiday- Halloween. At our lesson we learn new words, make up dialogues, write stories, sing songs and speak about Halloween.
53282. HANDOUT 85 KB
  Fats and sugars are things like oils, biscuits, sweets, chocolate and ice cream. These foods give us energy and are important for our nervous system. But too much of this food can make you fat and can be bad for your teeth. You should not eat more than two sweet or fatty things a day.
53283. Святкування Нового року 69.5 KB
  In England we do not stay at home on the New Year’s Day. We go for a walk to the central square. We listen to the strikes of the largest clock in Great Britain – Big Ben and enjoy the New Year coming. We celebrate Christmas on the 25th of December. On this day our Christmas holiday begin. That is why we like Christmas so much. Soon it will be the New Year , so I sent a postcard to all of you and wish you a happy New Year.
53284. Загальна характеристика дешифраторів 136.5 KB
  У загальному випадку дешифратор має n однофазних входів іноді 2n парафазних і m=2ⁿ виходів де n розрядність довжина коду який дешифрується. Індекс функції Fi визначає номер обраного виходу і відповідає десятковому еквіваленту вхідного коду. Тому дешифратор є перетворювачем вхідного позиційного коду в унітарний вихідний код.
53285. Традиційне харчування українців 63.5 KB
  Учень: Локшина лапша тісто. Учень: Лемішка кашоподібна мучна страва. Учень: Соломаха кашоподібна страва подібна до лемішки однак варили її дещо інакше. Учень: Тетеря рябко страва типу кулешу що готувалась з пшона заправлялась рідким гречаним або житнім тістом.
53286. Сценарій свята в дитячому садку «В українській хаті з Осінню на святі» 47 KB
  Дитина №1: З добрим урожаєм вас вітаємо І здоровя вам бажаємо Під веселий дружний спів Посилаємо уклін Пісня Осінь починається Дитина №2: Завітала осінь до нас на Україну Одягла в червоне намисто калину Дитина №3 Жовте листячко кружляє І доріжки вистеляє Дитина №4 Хмарки в небі пропливають Рясним дощиком лякають Дитина №5 Листячко зелене золотистим стало Осінь чарівниця все розмалювала Дитина №6 Все розмалювала скрізь поприбирала Дитина №7 Жовті колосочки в комору поклала Дитина №8 Пісню журавлину осінь принесла Ягідки калини нам...