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


 

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

2361. Культура України кінця XVIII – першої половини XIX ст. 33 KB
  Мета: з’ясувати особливості традиційно-побутової культури в українському селі та місті, проаналізувати стан релігійного життя та долі української жінки в першій половині XIX ст. в Україні.
2362. Культурне життя на українських землях наприкінці XVIII – у першій половині XIX ст. 35 KB
  Мета: провести підсумкове оцінювання знань, як кінцевий етап оцінювання знань із теми: Культурне життя на українських землях наприкінці XVIII – у першій половині XIX ст. э оцінити рівень навчальних досягнень учнів.
2363. Аграрні відносини на українських землях у другій половині XIX ст. 44 KB
  Мета: з’ясувати особливості соціально-економічного розвитку українських земель напередодні селянської реформи 1861 р., ознайомити учнів із проведенням аграрної реформи 1861 р., її особливостями і наслідками.
2364. Економічний розвиток України в другій половині XIX ст. 47 KB
  Мета: довести колоніальний характер економічної політики Російської та Австрійської імперій в Україні у пореформений період, розкрити особливості й перебіг промислового перевороту в Україні, аргументовано довести колоніальний характер товарообміну, який склався в другій половині XIX ст. між українськими землями, Російською та Австрійською імперіями.
2365. Реформи адміністративно-політичного устрою 60-70-х років XIX ст. на українських землях у складі Російської імперії. 39.5 KB
  Мета: з’ясувати вплив реформ 60-70-х років XIX ст. на соціально-економічний розвиток і політичне становище в Україні.
2366. Зміни в соціальному розвитку українського суспільства. 31.5 KB
  Мета: дослідити зміни, що відбулися у соціальному розвитку українського суспільства у другій половині XIX ст., проаналізувати суперечливі процеси модернізації повсякденного життя; висвітлити причини та напрямки трудової еміграції українців.
2367. Модернізація українського суспільства в середині – другій половині XIX ст. 35 KB
  Мета: провести підсумкове оцінювання знань, як кінцевий етап оцінювання знань із теми: Модернізація українського суспільства в середині – другій половині XIX ст.
2368. Освіта України другої половини ХІХ ст 1.04 MB
  Виявити загалні закономірності та особливості розвитку культури в Україні в другій половині ХІХст., Проаналізувати стан розвиту освіти, Виховувати шанобливе ставлення учнів до визначних діячів української культури другої половини ХІХ ст.
2369. Україна в геополітичних планах Росії, Німеччини й Австро-Угорщини в другій половині XIX ст 27 KB
  Мета: з’ясувати причини зіткнення на українських землях російської, польської, німецької та австрійської національних ідей, визначити головні засади та принципи українського питання у другій половині XIX ст., дослідити місце України в геополітичних стратегіях Росії, Німеччини й Австро-Угорщини.