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


 

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

8465. Государственное регулирование экономики 14.69 KB
  Государственное регулирование экономики Государственное регулирование экономики - одна из основных форм участия государства в экономике, состоящая в его воздействии на распределение ресурсов и доходов, на уровень и темпы экономического развития и бл...
8466. Регулирование функций государства в период перехода к новым экономическим отношениям 16.01 KB
  Регулирование функций государства в период перехода к новым экономическим отношениям Система государственного регулирования в переходной экономике характеризуется двумя определяющими тенденциями. Во-первых, происходит либерализация экономики, котора...
8467. Использование макроэкономических показателей для оценки уровня развития национальной экономики 442 KB
  Использование макроэкономических показателей для оценки уровня развития национальной экономики. Национальная экономика (НЭ) представляет собой единство хозяйствующих субъектов и их отношений, структурированных в правовом и институциональном по...
8468. Совокупный экономический потенциал: понятие и сущность 35.5 KB
  Совокупный экономический потенциал: понятие и сущность Формирование совокупного экономического потенциала является сложным и многоэтапным процессом. Потенциал - это определенная совокупность ресурсов, средств, которые имеются в национальной эко...
8469. Конституционно-правовые институты Китайской Народной Республики 92.77 KB
  Конституционно-правовые институты Китайской Народной Республики Особенности китайской правовой традиции, специфика восприятия власти и управления. Конфуцианство и практика государственного строительства в Китае...
8470. Древняя цивилизация Китая 22.21 KB
  Древняя цивилизация Китая - одна из редких культур в истории человечества, имеющая свои истоки зарождения. Это единственная непрерывно развивающаяся этнокультура. Зародившись тысячелетия назад, китайская культура процветает и в нас...
8471. Мифология Древнего Китая 62.5 KB
  Мифология Древнего Китая Китай - одно из древнейших цивилизованных государств мира. Философские идеи в Китае, берущие начало в глубине веков, чрезвычайно богатые по содержанию и являются огромной кладовой идей в истории познания всего человечес...
8472. Типова навчальна програма нормативної дисципліни Китайська мова 112 KB
  Типова навчальна програма нормативної дисципліни Китайська мова. ЗАГАЛЬНІ ПОЛОЖЕННЯ Типова навчальна програма Китайська мова (далі - Програма) розроблена відповідно до освітньо-професійних програм за напрямом підготовки 6.020303 Філологія (Перекла...
8473. Китайская поэзия 60.5 KB
  Китайская поэзия В поэзии сосуществуют (но далеко не мирно) разные направления, представленные многими крупными авторами, часто не схожими ни характером поэтических установок, ни идеологическим кредо. Большую и влиятельную группу представляли так на...