Из диссертации Андрея Шерстюка, перевод с английского Сережкина Дениса



Скачать 268.69 Kb.
страница1/3
Дата20.10.2012
Размер268.69 Kb.
ТипГлава
  1   2   3

(Глава из диссертации Андрея Шерстюка,

перевод с английского Сережкина Дениса)

Моделирование с помощью поверхностей свертки





  1. Введение


Поверхности свертки были введены в компьютерную графику Блюменталем (Bloomenthal) и Шумейком (Shoemake) [6] как логическое обобщение классических моделей неявных поверхностей: капельные объекты [4], метаболлы [17], мягкие объекты [21]. Являясь расширенным набором таких моделей, поверхности свертки наследуют их полезные свойства, такие как способность формировать гладкие переходы и произвольные образы. В тоже время поверхности свертки демонстрируют намного более богатую гибкость моделирования, позволяя дизайнеру создавать объекты, используя технологию на базе скелетов – с помощью элементов скелета различных видов и размеров.

Такие качества делают поверхности свертки чрезвычайно заманчивыми для дизайна сочлененных объектов, особенно органического происхождения. Однако практическое моделирование, разработанное более чем за два десятилетия для классических неявных поверхностей, не может быть перенесено на поверхности свертки «как есть», без ущерба для модели свертки. Как более гибкий и более мощный инструмент, поверхности свертки нуждаются в лучшем «руководстве действиями» для полного выявления их потенциала.

Практические примеры неявного моделирования проявляют поразительные способности неявных поверхностей и поверхностей свертки к смешиванию. Большинство объектов, смоделированных с помощью неявных поверхностей, демонстрируют различные ветвящиеся структуры, такие как деревья [5, 13], руки [7], лапы [19], хромосомы [9]; или показывают определенную мягкость или плавность либо в анимации, либо как различные восприятия неподвижных изображений. Примерами являются: человеческие губы [10] и лица [15], молекулярные образы [4], кипящие жидкости [22, 23] и резиноподобные объекты [24]. Были сделаны слабые попытки применения неявных поверхностей для моделирования шершавых объектов. Одна из них представлена в [12].

Своими работами [14, 20] автор показывает, что возможности моделирования с помощью поверхностей свертки выходят за пределы традиционных смешиваний. Он представляет множество примитивов и набор технологий, которые позволяют создавать объекты, манипулируя их видом на всех уровнях детализации, включая наложение текстур. Автор демонстрирует, что поверхности свертки могут быть успешно использованы для представления не только мягких и гибких материй, но также и жестких и хрупких объектов. Большинство примеров связаны с морскими формами жизни – там существует изобилие живых существ всех типов. Автор также описывает архитектуру системы интерактивного моделирования с помощью поверхностей свертки. Система позволяет изменять объекты в интерактивном режиме, что позволяет дизайнеру быстро приближаться к конечному образу.



  1. Определения


Ниже приводятся базовые понятия и уравнения, используемые в моделировании с помощью неявных поверхностей.


    1. Неявные поверхности


Неявная поверхность S определяется как изоповерхность уровня T некоторого скалярного поля f(p):

S = { p  R3 | f(p) – T = 0 } (1)





    1. Поверхности свертки


Поверхность свертки называется неявная поверхность, основанная на полевой функции f(p), полученной путем свертки некоторой функции ядра h и функции геометрии g:
(2)
Функция геометрии g(p) определяет очертание объекта и его положение в трехмерном пространстве. Функция ядра h(p) определяет распределение некоторого потенциала, образованного всеми точками на объекте. Свернутые вместе, эти две функции дают скалярную функцию f(p) трех случайных величин, определяющую поверхность свертки.

Рисунок 1 демонстрирует свертку с Гауссово-подобным ядром. В данном примере геометрическая функция g(p) описывает линейный сегмент, направленный вдоль оси x.





    1. Неявные примитивы


В модели метаболлов неявных поверхностей [17] источники точечных потенциалов представлялись как «мета-примитивы, определяемые их функцией распределения, которые вместе формируют мета-поверхность». Что касается поверхностей сверстки, можно сказать, что функция распределения (2) описывает неявный примитив с геометрией g.

Метаболлы, описанные Нишимура (Nishimura) и другими [17], являются по существу мета-сферами. Неявные примитивы, созданные интегралом свертки (2), дают целое разнообразие форм для моделирования. Например, линейный сегмент, свернутый с функцией ядра, создает вытянутый образ, как показано на рисунке 1.

Так как большинство моделирующих примитивов формируют замкнутые компактные множества (точки, отрезки, треугольники и т.д.), интеграл (2) по трехмерному пространству может быть удобно заменен интегралом по объему V примитива:
(3)


    1. Скелеты


Для целей диссертации автор использовал следующее определение скелета. Скелет – это набор геометрических примитивов, описывающих внутреннюю структуру моделируемого объекта. Применительно к модели поверхностей свертки, скелетом является сумма функций геометрии . Визуально такой скелет представляет собой объединение соответствующих примитивов. Свернутый с функцией ядра, скелет дает полевую функцию f(p) и поверхность свертки S.

В других исследованиях используются определения скелетов с незначительными отличиями [7, 9, 25]. Вообще, эти определения похожи и подразумевают, что моделируемый объект может быть рассмотрен как комбинация отдельных компонент в противоположность цельным и бесструктурным объектам. Однако степень превосходства скелета и образа объекта может быть различным. В большинстве проблем сглаживания [9, 15], скелеты выводятся из данных, связанных с объектом, подлежащим визуализации. В противоположность, для среды моделирования, базирующейся на скелетах, образ объекта формируется из скелета.

Идея моделирования на основе скелетов с помощью поверхностей свертки была выдвинута в компьютерной графике Блюменталем (Bloomenthal) и Шумейком (Shoemake) [6]. Они заметили, что дополнительные свойства сверток позволяют строить сложные скелеты из простых примитивов и, что наиболее важно, позволяют вычислять их индивидуально. Это делает поверхности свертки пригодными к практическим расчетам.

Блюменталь (Bloomenthal) [7] применил поверхности свертки для формирования плавных образов, похожих на различные органические тела. Следуя из этого, автор решил применять неявные примитивы, полученные с помощью технологии свертывания, для моделирования широкого множества поверхностей, включая шершавые, игловатые и сморщенные поверхности.


  1. Система моделирования


В этой главе автор представляет набор инструментов и технологий моделирования с помощью поверхностей свертки.


    1. Новые примитивы моделирования как элементы скелета


В принципе, любой геометрический примитив может быть использован как элемент скелета для модели на основе поверхностей свертки, имея ввиду общий интеграл (2). На практике выбор таких примитивов часто ограничен техническими трудностями в вычислении интеграла свертки.

Хотя большинство реализаций модели поверхностей свертки продемонстрированы в [6, 7, 19], подобные вычисления требуют точечной дискретизации поля в пространстве модели и хранения промежуточных результатов для отрисовки1. При использовании технологий, которые применяют точечную дискретизацию, должно быть уделено большое внимание обеспечению того, чтобы мелкие особенности моделируемого объекта не были утеряны. Эта задача может быть особенно трудна для моделей, содержащих примитивы с широко изменяющимися характеристиками размеров.





Р
ешение интеграла свертки (2) в аналитической форме обеспечивает освобожденную от таких проблем среду моделирования. Базируясь на предшествующих результатах [14], автор предлагает следующие неявные примитивы для элементов скелета в виде поверхностей свертки: точки, линейные сегменты, дуги, треугольники, плоскости. Все эти примитивы моделирования представлены функциями аналитического вида, которые возвращают интенсивность поля, генерируемого примитивом, в произвольной точке, вычисленную с машинной вещественной точностью. Это делает их пригодными для визуализации поверхностей свертки, используя алгоритмы прямой отрисовки, такие как трассировка луча. Таким образом, ни предвычисления, ни временное хранение не являются необходимыми для отрисовки поверхности, что особенно удобно для интерактивного моделирования. На рисунке 2 показаны неявные примитивы, отрисованные в виде полупрозрачных поверхностей с лежащими «голыми» геометрическими примитивами внутри.

Хотя большинство этих примитивов уже были использованы в неявном моделировании ранее (точки в [4, 15, 17, 21], отрезки в [2, 5, 19], треугольники в [7, 19]), представление их полевых функций [14] в законченной форме все еще не исследовано. Эти функции составляют сердце системы моделирования, представленной автором.

С
доступным множеством примитивов моделирования идея скелетов становится особенно жизненно – подобной, потому что теперь дизайнер может работать над скелетами так, как будто они состоят из твердых «костей», каждая их которых имеет уникальный вид и размер: точек, отрезков, кривых, треугольных частей. В добавление, из дуг можно составлять окружности и спирали, из треугольников – полигоны, из отрезков – полилинии и т.д. Это позволяет дизайнеру работать с объектом, создавая и используя те элементы, которые наилучшим образом подходят для каждой отдельной части объекта. Пример подобного мульти-примитивного скелета показан на рисунке 3, изображающем модель краба. Заметим, что даже этот простой набросок дает хорошее представление о том, на что будет похож результирующий образ краба. Законченная модель краба появится позже в главе 5.

    1. Локальные свойства неявных примитивов


Как определено формулой (3), поверхность свертки является результатом свертки функции геометрии g и функции ядра h. Функция геометрии формирует скелет, который обеспечивает глобальное описание объекта: его основой макет, расположение и базовые очертания отдельных частей. Для законченности описания объекта должны быть указаны локальные свойства каждого элемента gi скелета.

Т
акие свойства могут быть подробно описаны в терминах радиуса изоляции R и капельности B, как было предложено Блинном (Blinn) [4]. Радиус изоляции – это характеристическое расстояние между геометрическим примитивом и неявной поверхностью, им генерируемой. Для неточечных примитивов реальное расстояние может варьироваться вдоль поверхности. Параметр капельности контролирует смешивание частей объекта. Очень капельные объекты, сведенные вместе, стремятся сформировать сфероподобные образы с очень незначительным или вообще неразличимым сохранением деталей. Объекты с низкой капельностью выглядят более похожими на свои скелеты. На рисунке 4 показана серия поверхностей свертки с различными значениями капельности и радиуса изоляции. Блинн (Blinn) использовал эти два параметра для определения внешнего вида его точечных моделирующих примитивов. Автор обобщает эти параметры на все моделирующие примитивы, изображенные на рисунке 2.

Скелет, радиус изоляции и капельность всех элементов скелета полностью определяют неявную поверхность. Граница T, используемая в выражении (1) неявной поверхности, может быть удобно установлена к некоторому каноническому значению, как описано в [4].

В качестве альтернативы радиусу изоляции неявный примитив может быть характеризован его областью воздействия. Область воздействия - это область в трехмерном пространстве, где полевая функция f примитива имеет ненулевое значение. Область воздействия зависит от геометрии примитива и функции ядра. Например, для сферически-симметричного ядра областью воздействия у точки является сфера; у линейного сегмента – цилиндр, закрытый с концов полусферами, и т.д. Области воздействия обычно используются во время отрисовки для отсечения незначащих вкладов со стороны отдаленных примитивов.

Важных свойством областей воздействия является то, что неявные поверхности всегда находятся внутри границ этих областей. Независимо от значений капельности и радиуса изоляции поверхность свертки «натекание» на рисунке 5 (в середине и справа) всегда покрывает свой «голый» скелет (сплошные линии) и всегда покрывается границей области воздействия своих компонентов (пунктирные линии). Это свойство очень полноценное для оценивания размеров поверхности свертки.

Т
аким образом, глубина области воздействия (или просто глубина воздействия) может служить моделирующим параметром, являющимся альтернативой радиусу изоляции. Рисунок 5 демонстрирует основные элементы и параметры моделирования с помощью неявных поверхностей.


    1. Материалы и элементы


Определив свойства элементов скелета (такие как радиус изоляции R и капельность B), необходимо обеспечить способ сопоставления их элементам скелета. Это может быть сделано

  • распределением этих параметров между большим числом элементов;

  • задавая их для каждого элемента скелета индивидуально.

Практика показывает, что оба метода находят свое использование, поэтому автор включил их оба в свою систему моделирования.


      1. Материалы


Первый метод наиболее удобен для моделирования объектов, которые имеют большие области с одинаковыми свойствами, потому что он позволяет применять понятие материала. Обычно описание материала включает в себя общепринятые фотометрические характеристики, зависящие от модели света: цвет расплытия, зеркальная отражаемость, прозрачность и т.д. Такие описания могут быть легко усовершенствованы добавлением значений капельности и радиуса изоляции, которые имеют сходство с мягкостью и толщиной соответственно. Это хорошо подходит для идеи моделирования с помощью скелетов: теперь каждая «кость» скелета покрывается некоторой «мягкой тканью», которая совместно используется элементами скелета. Для примера рассмотрим материал неявного «натекания», изображенного на рисунке 5.

material Ice

{

body SummerSky,

ambient 1%,

diffuse 1%,

specular SummerSky, shine 30,

transparent 40%, index 1.33,

reflective 50%,

radius 0.25,

blobbyness -0.30

}

В этом примере материал Ice определен как почти бесцветная, зеркальная и прозрачная материя. Значения радиуса и капельности (blobbyness) обусловлены геометрическими свойствами поверхности свертки, базирующейся на скелете, заданным как

object ICICLE

line Ice, <0 0 0>, <0 0 4.5>

line Ice, <0 0.5 3.0>, <0 0.5 4.5>

line Ice, <0 –0.5 1.5>, <0 –0.5 4.5>

dot Ice, <0 0 –0.85>

close

Описание поверхности свертки, основанное на материале, имеет два преимущества.

Во-первых, это очень удобно для целей моделирования, так как позволяет продумывать скелеты и «мягкие ткани» как различные сущности, которые можно модифицировать независимо друг от друга. Абстрагирование описания материала от скелета часто позволяет интерактивно изменять материалы объектов. Это помогает регулировать многие параметры поверхности, как фотометрические, так и геометрические, без перезагрузки модели в память для отрисовки.

Во-вторых, локальные параметры скелета не дублируются для каждого элемента скелета, а распространяются путем описания материала (обратите внимание на простоту синтаксиса для моделирующих примитивов точки (dot) и линии в вышеприведенном примере). Такое средство дружественно к памяти, что может быть важно, когда количество элементов в скелете модели велико.

  1   2   3

Похожие:

Из диссертации Андрея Шерстюка, перевод с английского Сережкина Дениса iconИсследование психологических проблем этики перевод с английского Л. А. Чернышевой Минск Коллегиум 1992 ббк 88. 5 Ф 91
Перевод с английского и послесловие Л. А. Чернышевой Перевод выполнен по изданию
Из диссертации Андрея Шерстюка, перевод с английского Сережкина Дениса iconПриглашаем вас с 04-11 сентября 2011 года принять участие в тренинге-интенсиве с Сатчитанандой (Сергей Павлюкевич) по хатха-йоге в прекрасном тихом месте в Болгарии – Св. Влас
Проходил обучение у Бал Мукунд Сингха, Сомнатха Гири Джи (Пайлот Баба), Рейнхарда Гамментхаллера (Швейцария), Андрея Сидерского,...
Из диссертации Андрея Шерстюка, перевод с английского Сережкина Дениса iconА. Конан-Дойль жизненноважно е послани е перевод с английского Йога Рàманантáты
Жизненноважное послание. Составление, редакция, перевод с английского Йога Раманантаты., 2004. – стр
Из диссертации Андрея Шерстюка, перевод с английского Сережкина Дениса iconСиняя летопись
Перевод с тибетского Ю. Н. Рериха Перевод с английского О. В. Альбедиля и Б. Ю. Харьковой
Из диссертации Андрея Шерстюка, перевод с английского Сережкина Дениса iconПеревод Дениса Родионова
Переводы одноименных фрагментов разбиты на абзацы в соответстви с переводом Родионова
Из диссертации Андрея Шерстюка, перевод с английского Сережкина Дениса iconСколько слов в предложении: Потому что самые умные будут решать задачу номер семь
Но у Андрея почему́-то ощущенье, что и́менно всле́дствие ре́вности он полюби́л её ― хотя́ полюби́л ещё до того, как узна́л Дениса...
Из диссертации Андрея Шерстюка, перевод с английского Сережкина Дениса iconАльфред Лорд Теннисон, перевод с английского
В русском языке переводе широко известна последняя строка стихотворения замечательного английского поэта викторианской эпохи Альфреда...
Из диссертации Андрея Шерстюка, перевод с английского Сережкина Дениса iconСборник стихов-абхангов Перевод с маратхи и английского: В. А. Заволокин
В. А. Заволокин, перевод (с) А. М. Рагоза, редакция, предисловие, примечания (с) Л. Г. Дмитриева, издатель
Из диссертации Андрея Шерстюка, перевод с английского Сережкина Дениса iconИзложение в форме вопросов и ответов этики, науки и философии
Перевод с английского В. С. Зуевой под редакцией Н. В. Иваницкой и Д. Н. Попова. (При подготовке текста ис­пользован также перевод...
Из диссертации Андрея Шерстюка, перевод с английского Сережкина Дениса iconГоракша Шатака. Перевод с санскрита Фёрштайн Г. Перевод с английского Гарькавый А
Приветствуя своего гуру с преданностью, Горакша описывает высшее знание, желанное йогом, для высшего счастья
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org