Способ для представления анимированного объекта - RU2541925C2

Код документа: RU2541925C2

Чертежи

Описание

Настоящее изобретение относится к способу для представления анимированного объекта.

Представление графических объектов является одним из основных применений компьютера, иногда очень требовательных к компьютерным ресурсам. Требуются обширные вычислительные операции, в частности, при моделировании и отображении трехмерных объектов, например, во время автоматизированного проектирования (CAD) объектов и последующего моделирования конкретного поведения объекта. Объект, как правило, создается в соответствующей графической программе, например в CAD-программе, а поведение объекта затем моделируется относительно определенных свойств параметров. Моделирующие вычисления иногда могут длиться часами или даже днями из-за обширных вычислительных операций. Объект, который был рассчитан таким образом, затем может быть визуализирован в графической программе, но любое изменение вида или параметров приводит к необходимости перерасчета моделирования объекта в графической программе.

Например, DE 60214696 Т2, таким образом, описывает моделирование потока текучих сред и структурного анализа в тонкостенных трехмерных формах, моделирование вводится как наружная оболочка с сеткой конечных элементов.

Кроме того, DE 69831385 Т2 описывает способ и устройство для смешивания графических объектов с использованием плоских карт, которые описываются на языке описания страниц. С этой целью участки представления языка описания страниц преобразуются в представление плоских карт и смешиваются с представлениями плоских карт графических объектов.

Преимущество состоит в том, что плоские карты делают возможным такой тип представления, которое не зависит от цветового пространства и разрешения.

US 7,123,269 В1 также описывает изменение векторных объектов. После того как пользователь выбрал конкретные участки изображения с большим количеством векторных объектов, параметры выборочно определенных векторных объектов могут быть изменены, а измененные векторные объекты - представлены снова.

Выложенное описание US 2008/0303826 А1 раскрывает способ и систему для анимированного представления объектов соответственно элементам данных посредством интуитивного входного языка.

Проблема со всеми решениями на существующем уровне техники заключается в том, что анимированный объект может всегда быть представлен только в графической программе. В другом случае последовательность изображений анимированного объекта может экспортироваться графической программой, в таком случае последовательность изображений и конкретные параметры последовательности изображений, например угол наблюдения, не могут изменяться впоследствии.

Например, так называемый 3D-PDF от Adobe Systems Incorporated содержит, как стандарт, зачаточные функции анимации, которые могут использоваться для анимации тел в форме кукол. Однако поверхностные изменения тел не могут меняться, например деформироваться, расширяться или производиться как волновое движение на теле, при помощи функций анимации. В частности, сейчас невозможно интерактивно представлять распад объекта под действием внешних сил, например расплавление или взрыв, в формате 3D-PDF. Поэтому сейчас невозможно демонстрировать предварительно рассчитанную анимацию и интерактивно изменять ее путем накладывания последовательностей объектов и текстур или интерактивно изменять угол наблюдения анимированного объекта во время анимации.

Задача настоящего изобретения заключается в предоставлении быстрого и ресурсосберегающего способа для представления анимированного объекта, когда представление анимированного объекта может интерактивно изменяться пользователем.

Задача достигается посредством способа, имеющего признаки согласно п.1 формулы изобретения. Изобретение предоставляет способ для представления анимированного объекта в форме анимационной последовательности, в которой последовательность отдельных объектов генерируется для каждого момента анимационной последовательности объекта. Отдельные объекты полностью описывают объект в соответствующий момент и могут быть двумерными или трехмерными представлениями объекта.

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

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

Моделирование объекта исходя из внутренних или внешних сил вычисляется при помощи трехмерной программы анимации, например «Blender» или «Lightwave3D». В другом случае программа анимации также может быть интегрирована внутри программы с основанным на векторах языком описания страниц. Как часть представления моделирования, объект представляется простым способом и выдается последовательность отдельных объектов для определенных моментов. После того как физические анимации были вычислены длительным образом, получается анимационная последовательность, которая может быть воспроизведена как последовательность трехмерных отдельных объектов. Следовательно, угол наблюдения анимированного объекта можно интерактивно перемещать. Множество таких предварительно рассчитанных анимационных и/или текстурных последовательностей могут быть легко собраны и совмещены друг с другом посредством контроллера таким образом, что для наблюдателя создается зрительный образ возможности изменения до определенной степени физических свойств анимированного объекта.

Преимущественно создаются 25 объектов в секунду, что является преимущественным в виду физиогномики глаза и дает наблюдателю возможность плавно воспринимать бегущую анимационную последовательность с текстурной анимацией. Эти отдельные объекты, которые вычисляются сложным способом, затем воспроизводятся последовательно на высокой скорости. Этот принцип соответствует представлению фильма, который также моделирует движение из большого количества неподвижных отдельных изображений путем их быстрого воспроизведения.

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

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

В этом случае захватывающее программное средство может быть частью программы векторной графики или может быть отдельной программой, например, так называемым гаджетом в качестве программного приложения. Захватывающее программное средство имеет прямой доступ к геометрической памяти, к памяти для хранения текстур графической карты и/или к графическому выходу, например в выходном формате OpenGL или DirectX, чтобы отфильтровывать там отдельные объекты.

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

Отдельные объекты и текстурные анимации, хранящиеся таким образом в соответствующих файлах, теперь импортируются в программу с основанным на векторах языком описания страниц, например программу «Acrobat 3D Toolkit» от Adobe Systems Incorporated. После того как анимированные объекты были сгруппированы относительно друг друга, а текстурные анимации были спроецированы на объекты, анимационная последовательность может быть визуализирована.

Анимированные объекты совмещаются как последовательность отдельных объектов в программе с основанным на векторах языком описания страниц. В другом случае уже существующая последовательность отдельных объектов импортируется в программу с основанным на векторах языком описания страниц.

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

Одно преимущественное усовершенствование способа обеспечивает определение текстурной анимации объекта на основе численного моделирования и совмещение с объектом при помощи основанного на векторах языка описания страниц.

Вычисление и моделирование поведения объекта как анимационной последовательности или текстуры объекта как текстурной анимации осуществляются с использованием соответствующих основных уравнений, например, применяя решеточный метод Больцмана как основу для учета внутренних и внешних сил трения для моделирования поведения жидкости. Жидкости таким образом могут рассчитываться физически верным способом в смысле моделирования и позволяют предоставлять наблюдателю зрительный образ последовательностей, связанных с анимированными объектами и взаимодействиями между объектами. Например, может моделироваться характер потока различных жидкостей внутри объекта, например внутри трубы.

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

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

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

Чтобы представление анимационной последовательности анимированного объекта также могло воспроизводиться при малой мощности компьютерных ресурсов, объект составляется из многоугольников, и/или треугольников, и/или неоднородных рациональных В-сплайнов и/или вокселов. Неоднородные рациональные В-сплайны (для краткости NURB-ы) - это математически определенные кривые или области, используемые для моделирования любых желаемых форм в области компьютерной графики. Геометрическая информация представляется при помощи геометрических элементов, которые функционально определяются по частям. Любая желаемая технически производимая или естественная форма объекта или сечений объекта может быть представлена при помощи NURB-ов.

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

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

Поверхностные изменения соответственно преимущественно определяются для множества объектов и/или заднего фона и соединяются при помощи основанного на векторах языка описания страниц.

Одно преимущественное усовершенствование способа обеспечивает сочетание друг с другом первого и последнего отдельных объектов анимационной последовательности таким образом, что может быть представлен бесконечный цикл анимационной последовательности. Начальный и конечный объекты анимационной последовательности преимущественно сочетаются при помощи так называемого редактора циклов. Бесконечный цикл также может использоваться относительно выбранных отдельных объектов в центральной части анимационной последовательности. Редактор циклов представляет рассчитанные последовательности отдельных объектов в пиктограммах или как объектное представление на временной шкале - подобно программе редактирования видео или узловому редактору, который известен из программ трехмерной анимации для обзора графического программирования формирования теней, например. Это потому, что в этом случае тоже есть возможность копирования, удаления и обрезки последовательностей отдельных объектов. В редактор циклов интегрируется дополнительное окно, в котором проходит анимационная последовательность объекта, который в настоящее время анимируется. Первое окно показывает в анимированной форме область, редактируемую в данный момент, а второе окно показывает первый отдельный объект и последний отдельный объект перекрестным образом, начальный и конечный отдельные объекты изображаются в полупрозрачной и перекрестной манере. По выбору первые десять отдельных объектов и последние десять отдельных объектов могут также быть представлены в анимированной форме, чтобы видеть, где обрезка является наилучшей. Дополнительная функция редактора циклов дает возможность автоматического подхода между началом и концом бесконечного цикла.

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

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

В редакторе цикла наблюдатель может определять и настраивать частные последовательности анимационной последовательности на основе его опыта таким образом, что частичные последовательности, которые возможно настраиваются другими способами, образуют анимационную последовательность. Последовательность отдельных объектов, которая определяется таким образом, может воспроизводиться как угодно в рамках программы с основанным на векторах языком описания страниц, например, как 3D-PDF или альтернативно также других средах воспроизведения, таких как программа «Silverlight» от Microsoft Corporation или программное средство «Flash» от Adobe Systems Incorporated. Кроме того, последовательность отдельных объектов также может позже изменяться в основанном на векторах языке описания страниц. Дальнейшая графическая оптимизация, например сокращение многоугольников, также может производиться. Анимационная последовательность, созданная таким образом, затем может считываться в программу с основанным на векторах языком описания страниц и использоваться как flash-анимация или в виде контрольного файла для интерактивного трехмерного объекта.

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

Одно преимущественное усовершенствование способа предоставляет возможность отображения последовательности отдельных изображений, и/или текстурной анимации, и/или текстуры освещения на устройстве отображения.

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

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

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

Предварительный просмотр анимационной последовательности в реальном времени затем представляется по пути, который был создан, и пользователь может работать с параметризацией. Если пользователь удовлетворен моделированием, он может начинать сложное трехмерное моделирование, нажав кнопку, и может быть выдана анимационная последовательность, полученная оттуда. По выбору пользователь также может генерировать текстурные анимации, которые потом проецируются на завершенную анимационную последовательность.

Настоящий способ также дает возможность импортировать область, определенную пользователем, например водную поверхность, в блок моделирования. Пользователь может затем ввести необходимые параметры, например направление и силу ветра, и, таким образом, может быть произведено моделирование волн. На водной поверхности могут быть размещены дополнительные объекты, такие как корабли. Движения волн создают другие волны и брызги. Анимационная последовательность обозначает геометрию и текстуры для грубого предварительного просмотра.

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

Выбранные свойства для поверхностного моделирования водной поверхности, такие как цвет или прозрачность, также могут меняться пользователем. Движения волн водной поверхности создаются при помощи так называемых центров, в которых возникают волны. Способ дает возможность для волны знать ее объем, силу и скорость, чтобы выполнять распределение сил на другие объекты, такие как стена или корабль, так что все физически движется правильным образом. В другом случае flash-программа также может использоваться для воспроизведения анимационной последовательности.

Формат данных переносимый формат документов (PDF) преимущественно используется как основанный на векторах язык описания страниц. Однако другие платформы, такие как Microsoft «Silverlight», Adobe «Flash» и др. также могут использоваться в других случаях. Преимуществом считается то, что размер данных анимационной последовательности уменьшается до размера изображения устройства отображения.

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

В данном контексте термины «компьютерная программа» и «компьютерный программный продукт» следует понимать как обозначение любого выражения на любом заданном компьютерном языке, код или запись набора инструкций, которые позволяют компьютерной системе обрабатывать данные и, таким образом, выполнять конкретную функцию. Компьютерная программа или компьютерный программный продукт могут выполняться на компьютерной системе непосредственно или же после преобразования на другой язык, в код или набор инструкций, или посредством представления в другой материальной форме.

Дальнейшие преимущественные усовершенствования находятся в зависимых пунктах формулы изобретения. Настоящее изобретение более подробно объясняется при помощи иллюстративных вариантов осуществления на графических материалах, на которых, в качестве примера,

фиг.1 представляет собой блок-схему с основными этапами способа;

фиг.2 представляет собой схематическое изображение основных этапов способа;

фиг.3 представляет собой общий вид объекта с различными плоскостями сечения;

фиг.4 представляет собой изображение объекта в программе основанного на векторах языка описания страниц;

фиг.5 представляет собой схематическое изображение основных этапов способа посредством программы предварительного просмотра.

Фиг.1 представляет собой блок-схему с основными этапами способа. После того как способ начинается, объект 1 (не показывается) моделируется 10. В графической программе 5 (не показывается), например Lightwave3D, или в блоке моделирования, поведение объекта 1 моделируется и производится в последовательные во времени отдельные объекты 2а, 2b, 2с, 2d, 2e, 2f, 2g (не показывается).

Кроме того, текстура анимированного объекта 1 генерируется и моделируется 12 или в графической программе 5, или посредством отдельного редактора 6 (не показывается) и сохраняется как текстурная анимация 4а, 4b (не показывается). В другом случае текстурная анимация может также моделироваться 12 параллельно моделированию объекта 10 или полностью независимо от моделирования объекта 10. Отдельные объекты затем соединяются 13 как временная последовательность, чтобы образовывать анимационную последовательность 3a, 3b (не показывается). В другом случае отдельные объекты 2а, 2b, 2с, 2d, 2e, 2f, 2g могут также отдельно считываться из графической программы 5 и затем просматриваться далее в программе предварительного просмотра 17 (не показывается) как устройство для предварительного просмотра и/или могут собираться как последовательность и, таким образом, как анимационная последовательность 3а, 3b. Текстурная анимация 4а, 4b затем проецируется 14 на анимационную последовательность 3а, 3b и, таким образом, описывает поверхностные изменения анимированного объекта 1. Воспроизведение анимационной последовательности 3а, 3b с текстурной анимацией 4а, 4b повторяется при помощи операции цикла 16, пока не происходит внутреннее условие или же наблюдатель не прерывает процесс.

Фиг.2 представляет собой схематическое изображение основных последовательностей способа. В графической программе 5 отдельные объекты 2а, 2b, 2с генерируются и моделируется поведение во времени. В графической программе 5 отдельные объекты 2а, 2b, 2с уже соединены как последовательность, чтобы образовывать анимационную последовательность 3а. Анимационная последовательность 3а обозначается вертикальными линиями между отдельными объектами 2а, 2b, 2с и предназначается для обозначения временной последовательности отдельных объектов 2а, 2b, 2с. В другой программе 6 текстуры соединяются, чтобы образовывать текстурную анимацию 4а, текстурная анимация 4а снова обозначается вертикальными линиями между текстурами. Анимационная последовательность 3а и текстурная анимация 4а загружаются в программу с основанным на векторах языком описания страниц 7 и могут воспроизводиться на устройстве отображения 18 посредством элементов управления 8а, 8b. Пользователь может использовать элементы управления 8а, 8b, чтобы управлять ходом и скоростью анимационной последовательности 3а с текстурной анимацией 4а.

Фиг.3 представляет собой общий вид объекта 1 с различными плоскостями сечения 9а, 9b, 9c, 9d, где для ясности не все показанные плоскости сечения приписаны к обозначению чертежа. Анимационная последовательность 3а, 3b (не показывается) и текстурная анимация 4а, 4b, 4с (не показывается) вычисляются на основе моделирования для всего объекта 1. Однако фактические анимации 3а, 3b, 4а, 4b, 4с показываются и проецируются только для предопределенных плоскостей сечения 9а, 9b, 9c, 9d, 9f, 9g. В примере, показанном на фиг.3, три радиально проходящих плоскости сечения 9а, 9b, 9c подразделяют внутреннюю часть трубчатого объекта 1. Кроме того, три продольно проходящих плоскости сечения 9d, 9f, 9g проходят внутри трубы как объекта 1. Анимационная последовательность 3а, 3b и текстурная анимация 4а, 4b, 4с выдаются только для плоскостей сечения 9а, 9b, 9c, 9d, 9f, 9g, что требует лишь небольших вычислительных мощностей.

Трехмерный характер моделирования анимированного объекта 1 может быть представлен в двух измерениях путем представления поведения трехмерного объекта в двумерных плоскостях сечения 9а, 9b, 9c, 9d, 9f, 9g, если приемлемо на основе автоматического определения геометрии объекта во время моделирования 10. Путь, к которому могут быть привязаны двухмерные текстуры жидкостного моделирования анимационной последовательности 3а, 3b, которое происходит в реальном времени, создается автоматически во время моделирования 10.

В общем, в зависимости от производительности компьютера, множество таких «двухмерных сечений» как плоскости сечения 9а, 9b, 9c, 9d, 9f, 9g размещается в трубе как объекте 1 и прокладывается горизонтально и вертикально. В случае 3×3 плоскости сечения 9а, 9b, 9c, 9d, 9f, 9g, как в примере, показанном на фиг.3, девять анимационных последовательностей 3а, 3b и/или текстурных анимаций 4а, 4b, 4с создаются таким образом и, следовательно, вместе предоставляют пользователю весьма реалистичный трехмерный образ поведения анимированного объекта.

Фиг.4 представляет собой выборку из анимационной последовательности 4а (не показывается) анимированного объекта 1. В примере, показанном на фиг.4, поведение объекта неподвижной трубы рассчитывать не нужно. Среда, протекающая через трубу, моделируется посредством моделирования и сохраняется как отдельные объекты 2а, 2b, 2с. Поверхностное изменение жидкости при протекании через трубу затем моделируется и сохраняется как текстурная анимация 4а, 4b. В программе с основанным на векторах языком описания страниц, например 3D-PDF или Microsoft «Silverlight», или Adobe «Flash», анимационная последовательность 3а, 3b и текстурная анимация 4а, 4b, 4с затем могут соединяться и воспроизводиться. Из-за простого типа программирования также можно определять кнопки и пиктограммы как элементы управления 8а, 8b в основанном на векторах языке описания страниц, эти элементы управления дают возможность воспроизводить анимационную последовательность 3а, 3b с текстурной анимацией 4а, 4b, 4с. В то же время наблюдатель может использовать элементы управления 8а, 8b для того, чтобы интерактивно изменять угол наблюдения анимированного объекта 1.

Фиг.5 представляет собой схематическое изображение основных последовательностей способа посредством программы 17 предварительного просмотра. В графической программе 5 отдельные объекты 2а, 2b, 2c, 2d, 2e, 2f, 2g генерируются на основе моделирования, предопределенного пользователем. Соответствующие текстуры относительно поверхностных изменений отдельных объектов 2а, 2b, 2с, 2d, 2e, 2f, 2g определяются в дополнительной программе 6. Временная последовательность соответственно связанных отдельных объектов 2а, 2b, 2 с, 2d, 2e, 2f, 2g может быть просмотрена в программе 17 предварительного просмотра, пользователь затем может сгенерировать анимационную последовательность 3а, 3b из этого предварительного просмотра. Последовательность текстур также может быть просмотрена и затем может быть создана текстурная анимация 4а, 4b, 4с. Анимационные последовательности 3а, 3b и текстурные анимации 4а, 4b, 4с затем загружаются в программу с основанным на векторах языком описания страниц 7 и могут быть воспроизведены на устройстве отображения 18 при помощи элементов управления 8а, 8b. В этом случае во время выполнения первой анимационной последовательности 3a, 3b с первой текстурной анимацией 4а, 4b, 4с пользователь также может интерактивно обоюдно совмещать анимационную последовательность 3а, 3b и/или текстурную анимацию 4а, 4b, 4с и просматривать ее/их с различных углов наблюдения. Блок моделирования, в котором моделируются отдельные объекты 2а, 2b, 2с, 2d, 2e, 2f, 2g, сгенерированные в графической программе 5, и/или текстуры, сгенерированные в дополнительной программе 6, может также интегрироваться в программу 17 предварительного просмотра.

В программе с основанным на векторах языком описания страниц 7 пользователь запускает программу или программное расширение и импортирует отдельные объекты 2а, 2b, 2с, 2d, 2e, 2f, 2g при помощи Adobe Acrobat 3D Toolkit или как OBJ файл, или как другие поддерживаемые форматы файла.

Например, в случае моделирования потока через трубу согласно примерам, показанным на фиг.3 и фиг.4, пользователь затем может определять трубу как объект 1 и выбирает, например, радиус трубы и разложение других объектов как объемных тел текучей среды. Затем пользователь может просматривать соответствующий предварительный просмотр отдельных объектов 2а, 2b, 2с, 2d, 2e, 2f, 2g и/или текстур и временной последовательности отдельных объектов 2а, 2b, 2с, 2d, 2e, 2f, 2g и/или текстур в программе 17 предварительного просмотра на устройстве отображения. Для этого рассчитывается поведение модели отдельных объектов 2а, 2b, 2с, 2d, 2e, 2f, 2g и/или текстур для множества плоскостей сечения 9а, 9b, 9c, 9d, 9e, 9f и представляется в трехмерной трубе как объекте 1 посредством предварительного просмотра в реальном времени.

Кроме того, параметры и свойства текучей среды могут интерактивно изменяться по время предварительного просмотра. Также существует стандартная настройка, которая применяет вещества, такие как вода, масло или газы, в установке параметров по нажатию мыши. Когда пользователь производит ввод своих параметров, он может видеть, в программе 5 предварительного просмотра в реальном времени, как установки непосредственно изменяются в устройстве предварительного просмотра. Пользователь также может устанавливать и интерактивно изменять тип текстур. Когда пользователь удовлетворен установками, он нажимает кнопку «Создать трехмерную последовательность» и должен также задать формулу, согласно которой он хотел бы получить расчеты физического моделирования. Все параметры затем принимаются в 3D-механизм и анимационная последовательность 3а, 3b с или без текстурной анимации 4а, 4b, 4с вычисляется 13, 14 из многоугольников, частиц и/или объемных моделей, таких как воксели. Анимационные последовательности 3а, 3b и/или текстурные анимации 4а, 4b, 4с, рассчитанные таким образом, сохраняются. Анимационные последовательности 3а, 3b и/или текстурные анимации 4а, 4b, 4с затем редактируются в редакторе цикла таким образом, что начальная часть, центральная часть и конечная часть анимационных последовательностей 3а, 3b и/или текстурных анимаций 4а, 4b, 4с доступны и могут быть загружены в 3D-PDF программу или на другие платформы, такие как Microsoft «Silverlight» или Adobe «Flash». Если необходимо, центральная часть анимационных последовательностей 3а, 3b и/или текстурных анимаций 4а, 4b, 4с может быть прогнана еще раз в определенных циклах. Для уменьшения размера файла анимационных последовательностей 3а, 3b и/или текстурных анимаций 4а, 4b, 4с пользователь использует функцию уменьшения детализации объекта в редакторе цикла, чтобы уменьшить разрешение отдельных объектов 2а, 2b, 2c, 2d, 2e, 2f, 2g, и/или анимационной последовательности 3а, 3b, и/или текстурной анимации 4а, 4b, 4с. Окончательные анимационные последовательности 3а, 3b и/или текстурные анимации 4а, 4b, 4с теперь автоматически создаются при помощи элементов управления 8а, 8b и непосредственно создаются в программе с основанным на векторах языком описания страниц, например, 3D-PDF.

Пользователь может отслеживать свои изменения отдельных объектов 2а, 2b, 2c, 2d, 2e, 2f, 2g, и/или анимационной последовательности 3а, 3b, и/или текстурной анимации 4а, 4b, 4с на свободно определенном потоке текучей среды или океанском течении интерактивно и в реальном времени. Хотя технологии на рынке, например «Next Limits» или «RealFlow», дают возможность пользователю параметризировать объекты 1 как текучие среды, нет настоящего предварительного просмотра, который позволяет пользователю прямо различать, с 25 изображениями в секунду, какой тип последствий изменения параметра оказывает воздействие на поведение отдельных объектов 2а, 2b, 2с, 2d, 2e, 2f, 2g, и/или анимационной последовательности 3а, 3b, и/или текстурной анимации 4а, 4b, 4с. В таких программах существует необходимость в требующем долгого времени моделировании предварительного просмотра, которое затем кешируется, чтобы показать его пользователю. Если он меняет параметры, все моделирование должно быть перерасчитано, иногда со значительным расходом времени.

Также предполагается, что формат графических данных, например формат OpenGL или DirectX, может использоваться внутри графической программы 5 и/или дополнительной программы 6, и что изменения поверхностных цветов могут графически представляться в реальном времени и, таким образом, видны пользователю. Эти поверхностные цвета могут быть видны, только когда перед этим была нажата кнопка для обзора свойств. Если, например, мяч как анимированный объект 1 подлежит изменению, функция анимации изменяет цвет выбранного мяча как анимированного объекта 1 на красный. Следовательно, можно различить, какой объект 1 или части объекта в настоящее время действуют на основе выбора с использованием функции анимации. Синий мог бы обозначать моделирование воды с большим количеством объектов 1, зеленый мог бы обозначать маскировку объекта 1, розовый обозначает объект 1, который будет сталкиваться, а красно-розовый обозначает объект 1, который имеет свою собственную деформацию.

Настоящий способ также дает возможность моделировать видео и игровые приложения. Графическая программа 5, 6 используется для создания доли трехмерной карты волос, которые определяются как объекты 1. Для того чтобы иметь возможность представлять волосы как объекты 1 в реальном времени, множество плоскостей сечения 9а, 9b, 9с, 9d, 9e, 9f размещаются по объему волос. Плоскости сечения 9а, 9b, 9с, 9d, 9e, 9f пронизывают моделируемые волосы и оставляют после себя поперечное сечение волоса, который только что был разрезан в его двухмерной плоскости. Это поперечное сечение представляется графической программой 5. Все, что не было разрезано, является прозрачным. Расположенные веером от линии волос до кончика волос пятнадцать двумерных плоскостей сечения 9а, 9b, 9c, 9d, 9e, 9f, распределенные вдоль волос, таким образом описывают волосы с соответствующим поперечным сечением волос и текстурой.

Существует также еще один вариант для создания волос в реальном времени. Для этого в основании как объекте 1 выполнены маленькие отверстия. Это основание как объект 1 перемещается очень быстро от одной точки к следующей. В этом случае во время моделирования 10 включается размытость движения. Отверстия в основании как объекте 1 остаются свободными, поскольку там, где воздух, размытости движения быть не может. Для этого только каждый второй из отдельных объектов 2а, 2b, 2c, 2d, 2e, 2f, 2g рассчитывается так, что невозможно различить какое-либо плавное движение от одной точки к следующей. Таким образом, создается впечатление того, что размытость движения «является неподвижной» и не перемещается. В результате этого эффекта получается, как будто трава растет из основания как объекта 1.

Реферат

Изобретение относится к способам представления анимированных объектов. Техническим результатом является увеличение быстродействия и ресурсосбережения представления анимированного объекта при интерактивном изменении этого представления пользователем. Предложен способ представления анимированного объекта в форме анимационной последовательности путем создания последовательности основанных на векторе отдельных объектов для определенного момента анимационной последовательности объекта и соединения основанных на векторе отдельных объектов для определенного момента, чтобы образовывать анимационную последовательность. Способ включает в себя вычисление поверхностных изменений объекта как текстурной анимации, где текстурную анимацию объекта создают при помощи графической программы и совмещают с объектом при помощи программы с основанным на векторах языком описания страниц. А также осуществляют проецирование текстурной анимации на объект в анимационной последовательности при помощи программы с основанным на векторах языком описания страниц для образования анимационной последовательности с текстурной анимацией объекта. 14 з.п. ф-лы, 5 ил.

Формула

1. Способ для представления анимированного объекта (1) в форме анимационной последовательности (3а, 3b) путем создания последовательности основанных на векторе отдельных объектов (2а, 2b, 2c, 2d, 2e, 2f) для определенного момента анимационной последовательности (3а, 3b) объекта (1) и соединения (13) основанных на векторе отдельных объектов (2а, 2b, 2c, 2d, 2e, 2f) для определенного момента, чтобы образовывать анимационную последовательность (3а, 3b), отличающийся тем, что выполняют следующие этапы:
- вычисление (12) поверхностных изменений объекта (1) как текстурной анимации (4а, 4b, 4с), где текстурную анимацию (4а, 4b, 4с) объекта (1) создают при помощи графической программы (5, 6) и совмещают с объектом (1) при помощи программы (7) с основанным на векторах языком описания страниц;
- проецирование (14) текстурной анимации (4а, 4b, 4с) на объект (1) в анимационной последовательности (3а, 3b) при помощи программы (7) с основанным на векторах языком описания страниц для образования анимационной последовательности (3а, 3b) с текстурной анимацией (4а, 4b, 4с) объекта (1);
- одновременный запуск (15) анимационной последовательности (3а, 3b) с текстурной анимацией (4а, 4b, 4с) и, таким образом, создание образа анимированного объекта (1).
2. Способ по п.1, отличающийся тем, что текстурную анимацию (4а, 4b, 4с) объекта (1) определяют на основе численного моделирования (10) и совмещают с объектом (1) при помощи программы (7) с основанным на векторах языком описания страниц.
3. Способ по п.1, отличающийся тем, что дополнительную текстурную анимацию (4а, 4b, 4с) создают как задний фон объекта (1) при помощи графической программы (5, 6) и совмещают с анимационной последовательностью (3а, 3b) как задний фон объекта (1) с помощью программы (7) с основанным на векторах языком описания страниц.
4. Способ по п.1, отличающийся тем, что текстурная анимация (4а, 4b, 4с) изменяется пользователем на основе интерактивного изменения предопределенных граничных условий и соответственно измененную текстурную анимацию (4а, 4b, 4с) интерактивно проецируют на анимированный объект (1) на предопределенных пользователем граничных условиях с помощью программы (7) с основанным на векторах языком описания страниц.
5. Способ по п.1, отличающийся тем, что угол наблюдения анимированного объекта (1) интерактивно управляется пользователем с помощью программы (7) с основанным на векторах языком описания страниц.
6. Способ по п.5, отличающийся тем, что световую текстуру как текстурную анимацию (4а, 4b, 4с) рассчитывают на основе объекта (1) и проецируют на объект (1) исходя из угла наблюдения.
7. Способ по п.1, отличающийся тем, что объект (1) составляют из многоугольников, и/или треугольников, и/или неоднородных рациональных В-сплайнов и/или векселей.
8. Способ по п.1, отличающийся тем, что первую последовательность основанных на векторе отдельных объектов (2а, 2b, 2c, 2d, 2e, 2f) для первой анимационной последовательности (3а, 3b) объекта (1) совмещают со второй последовательностью основанных на векторе отдельных объектов (2а, 2b, 2c, 2d, 2e, 2f) для второй анимационной последовательности (3а, 3b) объекта (1).
9. Способ по п.8, отличающийся тем, что первые поверхностные изменения для первой последовательности основанных на векторе отдельных объектов (2а, 2b, 2с, 2d, 2e, 2f) рассчитывают как первую текстурную анимацию (4а, 4b, 4с), а вторые поверхностные изменения для второй последовательности основанных на векторе отдельных объектов (2а, 2b, 2с, 2d, 2e, 2f) рассчитывают как вторую текстурную анимацию (4а, 4b, 4с) и соединяют с анимационными последовательностями (3а, 3b) объекта (1) с помощью программы (7) с основанным на векторах языком описания страниц.
10. Способ по п.1, отличающийся тем, что поверхностные изменения соответственно определяют для множества объектов (1) и/или заднего фона и соединяют с помощью программы (7) с основанным на векторах языком описания страниц.
11. Способ по п.1, отличающийся тем, что первый и последний основанные на векторе отдельные объекты (2а, 2b, 2с, 2d, 2e, 2f) анимационной последовательности (3а, 3b) сочетаются друг с другом таким образом, что может быть представлен бесконечный цикл анимационной последовательности (3а, 3b) объекта (1).
12. Способ по п.11, отличающийся тем, что анимационную последовательность (3а, 3b) и текстурную анимацию (4а, 4b, 4с) одновременно воспроизводят в бесконечном цикле, причем первый и последний основанные на векторе отдельные объекты (2а, 2b, 2с, 2d, 2e, 2f) анимационной последовательности (3а, 3b) и связанные поверхностные изменения как текстурная анимация (4а, 4b, 4с) первого и последнего отдельных объектов (2а, 2b, 2с, 2d, 2e, 2f) являются практически идентичными.
13. Способ по п.1, отличающийся тем, что последовательность основанных на векторе отдельных объектов (2а, 2b, 2с, 2d, 2e, 2f), и/или текстурную анимацию (4а, 4b, 4с), и/или световую текстуру как текстурную анимацию (4а, 4b, 4с) воспроизводят на устройстве отображения (18).
14. Способ по п.1, отличающийся тем, что основанные на векторе отдельные объекты (2а, 2b, 2с, 2d, 2e, 2f) определяют на основе предопределяемых плоскостей (9а, 9b, 9c, 9d, 9e, 9f) и воспроизводят на основе этих плоскостей (9а, 9b, 9c, 9d, 9e, 9f) в анимационной последовательности (3а, 3b) объекта (1).
15. Способ по п.1, отличающийся тем, что основанные на векторе отдельные объекты (2а, 2b, 2с, 2d, 2e, 2f) и/или текстурную анимацию (4а, 4b, 4с) определяют при помощи блока моделирования.

Патенты аналоги

Авторы

Патентообладатели

Заявители

СПК: G06T13/00 G06T13/20 G06T15/00 G06T15/04 G06T19/00

Публикация: 2015-02-20

Дата подачи заявки: 2010-03-26

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам