Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Програмування в Pascal. Моделювання 3D-об'єктів

Реферат Програмування в Pascal. Моделювання 3D-об'єктів





алі до граней. Точніше, як вибрати одну з двох нормалей, що дивиться з об'єкта. Зазвичай ця проблема вирішується ще на етапі побудови 3D моделей - деякі пакети для 3D-моделювання заздалегідь записують вершини граней в порядку ABC так, щоб векторний добуток BA * CA і було нормаллю. Ще один спосіб - вибрати внутрішню точку для об'єкта (або вручну, або взяти його центр ваги, або будь-яким іншим способом - методів може бути придумано як завгодно) і використовувати її: якщо для цієї точки функція видимості позитивна, тобто грань нібито видно, то необхідно поміняти знак nx, ny і nz.

Розглянувши метод, слід зазначити, що для опуклих об'єктів цей метод повністю вирішує задачу про видалення невидимих ​​частин. Для неопуклих ж він дозволяє швидко і просто скоротити число граней, що підлягають подальшій перевірці на видимість і, власне, отрісовке. br/>

Обертання


Обертання об'єкта в основному є зміною координат вершин, тобто фактично завданням нових координат. У даному випадку його можна реалізувати досить простим методом - обчисленням нових координат, знаючи величину кута повороту, що зводиться до вирішення низки тривіальних тригонометричних завдань. p> Розглянемо для прикладу поворот точки (x, y, z) щодо осі z. У цьому випадку z не змінюється зовсім, а (x, y) змінюються так само, як і при повороті на площині відносно початку координат. Розглянемо, які координати отримає точки A 'в результаті повороту A (x, y) на деякий кут?. br/>В 

Малюнок 4


Нехай


В 

Нехай кут AOx дорівнює?, тоді з малюнка 4 видно, що

(? i) = x/r, sin (?) = y/r. br/>

Кут A'OA дорівнює за умовою?.

Звідси

x '= r * cos (? +?) = r * (cos (?) * cos (?)-sin (?) * sin (?)) =

= (r * cos (?)) * cos (?) - (r * sin (?)) * sin (?) =

= x * cos (?)-y * sin (?)) '= r * sin (? +?) = r * (cos (?) * sin (?) + sin (?) * cos (? )) =

= (r * cos (?)) * sin (?) + (r * sin (?)) * cos (?) =

= x * sin (?) + y * cos (?)


Розглядаючи випадок з тривимірним простором, таким чином

'= x * cos (?)-y * sin (?)' = x * sin (?) + y * cos (?)

z '= z


Аналогічно виводяться формули і для інших осей повороту (Ox, Oy). Поворот щодо довільної осі, що проходить через початок координат, можна зробити за допомогою цих поворотів - зробити поворот щодо Ox так, щоб вісь повороту стала перпендикулярна Oy, потім поворот щодо Oy так, щоб вісь повороту збіглася з Oz, зробити власне поворот, а потім зворотні повороти щодо Oy і Ox. В результаті чого відповідно отримуємо:

: = Y * cos (xv)-Z * sin (xv): = Y * sin (xv) + Z * cos (xv)


Тут Y, Z це координати вершини, а xv - кут повороту в градусах. Аналогічно вирішуються завдання для повороту по осі X:

: = X * cos (yv)-Z * sin (yv): = X * sin (yv) + Z * cos (yv)

І, відповідно, по осі Z:

: = X * cos (zv)...


Назад | сторінка 8 з 16 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Моделювання системи управління кутом повороту інерційного об'єкта
  • Реферат на тему: Моделювання системи управління кутом повороту інерційного об'єкта
  • Реферат на тему: Датчик кута повороту
  • Реферат на тему: Новий спосіб регулювання кута вистою і класифікація регульованих зубчато-ва ...
  • Реферат на тему: Розробка дистанційної стежить системи передачі кута повороту