Розбиття поверхні![]() Розбиття поверхні — це метод, що використовується у тривимірній комп'ютерній графіці, який дозволяє створювати гладкі поверхні шляхом послідовного уточнення кусково-лінійної полігональної сітки. Розбиття використовується для представлення складних форм із використанням простіших базових сіток, які з часом стають все детальнішими та плавнішими. Метод активно використовується в комп’ютерній графіці, анімації, CAD-системах та інших сферах, де потрібне представлення складних об'єктів із плавними поверхнями. Ідея полягає у тому, що на початковій, грубій полігональній сітці (так званій базовій сітці) послідовно застосовують правила уточнення, які розбивають великі грані на менші, а положення нових і старих вершин коригують для наближення гладкої поверхні. Такий процес можна повторювати багато разів (тобто рекурсивно), отримуючи дедалі більш деталізовану поверхню. Відмінність підроздільних поверхонь від інших методів полягає у тому, що вони дозволяють моделювати складні криволінійні форми, зберігаючи відносну простоту полігональної сітки і можливість редагування.
Загальне уявленняРайон поверхні визначається рекурсивно. Процес починається із заданої полігональної сітки. Потім до цієї сітки застосовується схема уточнення. Цей процес займає сітку і ділить її, створюючи нові вершини і нові грані. Позиції нових вершин в сітці обчислюються на основі позицій сусідніх вершин. У деяких схемах уточнення, позиції старих вершин також можуть бути змінені (на основі позицій нових вершин). Цей процес виробляє більш дрібну сітку за оригінал, що містить більше полігональних меж. В результаті чого сітка може передаватися через ту саму схему уточнення знову і знову . Поверхня граничного розбиття — поверхня, отримана з цього процесу, ітераційно може застосовуватися нескінченно багато разів. Однак в практичному використанні цей алгоритм застосовується обмежену кількість разів. Гранична поверхня також може бути обчислена безпосередньо для більшості підрозділів поверхонь із використанням техніки Джоза Стама[en][1], яка усуває необхідність у рекурсивному уточненні. Поєднані поверхні і Т-сплайни є конкуруючими технологіями. Математичні поверхні із розділенням є сплайн-поверхнями з особливостями.[2] Схеми уточненняСхеми удосконалення поверхонь підрозділів можуть бути в широкому сенсі розділені на дві категорії: інтерполяція та апроксимація. Інтерполяційні схеми необхідні, щоб відповідати вихідному положенню вершин у вихідній сітці. Апроксимаційні схеми — навпаки; Вони можуть і будуть коригувати ці позиції в міру необхідності. У цілому, апроксимаційні схеми мають велику гладкість, але редагування додатків, які дозволяють користувачам встановлювати точні поверхневі обмеження, вимагає оптимізації. Існує ще один підрозділ в схемах розбиття поверхонь — тип полігону, на якому вони працюють. Деякі функції чотирикутників (квадроцикли), в той час як інші працюють на трикутниках. Апроксимаційні схемиАпроксимація означає, що граничні поверхні апроксимують початкові сітки і після розбиття новостворені контрольні точки не перебувають на граничних поверхнях. Прикладами схем розбиття є:
Схеми інтерполяціїПісля розбиття контрольні точки вихідної сітки і нові згенеровані контрольні точки інтерполюються на граничну поверхню. Найбільш ранньою роботою була схема «метелики» Діна, Левіна і Грегорі (1990), яка розширила чотириточкову інтерполяційну схему розбиття кривих на схему розбиття поверхні. Зорін, Шредер і Свелденс (1996) помітили, що схема «метелики» не може генерувати гладкі поверхні для нерегулярних трикутних сіток і таким чином модифікувала цю схему. Коббальт (1996) додатково узагальнив чотириточкову інтерполяційну схему розбиття кривих на схему розподілу тензорного добутку поверхонь. Ден і Ма (2013) додатково узагальнили чотириточкову інтерполяційну схему розбиття на довільну ступінь.
Редагування поверхні розбиттяПоверхні підрозділу можуть бути природно відредаговані на різних рівнях підрозділу. Починаючи з базових форм, ви можете використовувати бінарні оператори для створення правильної топології. Потім відредагуйте грубу сітку, щоб створити базову фігуру, потім відредагуйте зміщення для наступного кроку поділу, а потім повторіть це на більш тонких рівнях. Ви завжди можете бачити як ваші зміни впливають на граничну поверхню за допомогою оцінки поверхні GPU. Дизайнер поверхні також може починати з об'єкту сканування або об'єкту створеного з поверхні NURBS. Ті ж самі основні алгоритми оптимізації використовуються для створення грубої базової сітки з правильною топологією, а потім додають деталі на кожному рівні, щоб об'єкт можна було редагувати на різних рівнях. Із такими типами поверхонь може бути важко працювати, тому що базова сітка не має контрольних точок в тих місцях, куди розмістить їх дизайнер. Із відсканованого об'єкта з цією поверхнею легше працювати, ніж із сирою трикутною сіткою, але в об'єкта NURBS, ймовірно, були добре розкладені контрольні точки, які після конверсії поводяться менш інтуїтивно, ніж раніше. Див. такожКлючові розробки
Примітки
Посилання
|
Portal di Ensiklopedia Dunia