BRPI0612280A2 - deformação ampla de malha utilizando laplaciano de gráfico volumétrico - Google Patents

deformação ampla de malha utilizando laplaciano de gráfico volumétrico Download PDF

Info

Publication number
BRPI0612280A2
BRPI0612280A2 BRPI0612280-9A BRPI0612280A BRPI0612280A2 BR PI0612280 A2 BRPI0612280 A2 BR PI0612280A2 BR PI0612280 A BRPI0612280 A BR PI0612280A BR PI0612280 A2 BRPI0612280 A2 BR PI0612280A2
Authority
BR
Brazil
Prior art keywords
mesh
volumetric
graph
deformation
original
Prior art date
Application number
BRPI0612280-9A
Other languages
English (en)
Inventor
Kun Zhou
John Michael Snyder
Xinguo Liu
Baining Guo
Heung-Yeung Shum
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0612280A2 publication Critical patent/BRPI0612280A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Collating Specific Patterns (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

DEFORMAçãO AMPLA DE MALHA UTILIZANDO LAPLACIANO DE GRáFICO VOLUMETRICO. é descrita a deformação ampla de malha utilizando Laplaciano de gráfico volumétrico. Em um aspecto, a informação é recebida a partir de um usuário, onde a informação indica como uma malha original é para ser deformada. A malha original é então deformada baseado na informação e na aplicação de um operador volumétrico diferencial junto a um gráfico volumétrico gerado a partir da malha original.

Description

"DEFORMAÇÃO AMPLA DE MALHA UTILIZANDO LAPLACIANODE GRÁFICO VOLUMÉTRICO"
ANTECEDENTES DA INVENÇÃO
A deformação de malha é útil em várias aplicaçõesem modelagem e animação por computador. Por exemplo, a de-formação de malha é útil para ajudar os artistas a esculpi-rem formatos de corpo estilizados e deformações para perso-nagens tridimensionais (3-D). Entretanto, deformações am-plas, tais como estas encontradas em personagens executandomovimentos não rígidos e altamente exagerados, permanecemdesafiantes atualmente. As técnicas existentes de deformaçãode malha freqüentemente produzem resultados implausíveis comalterações de volume não naturais.
SUMÁRIO DA INVENÇÃO
Este Sumário é proporcionado para introduzir umaseleção de conceitos de uma forma simplificada que são adi-cionalmente descritos abaixo na Descrição Detalhada. EsteSumário não é pretendido para identificar aspectos princi-pais ou essenciais do tema reivindicado, nem é pretendidopara ser utilizado como uma ferramenta para determinar o es-copo do tema reivindicado.
Em vista do dito acima, a deformação ampla de ma-lha utilizando o laplaciano de gráfico volumétrico é descri-ta. Em um aspecto, a informação é recebida a partir de umusuário, onde a informação indica como uma malha original épara ser deformada. A malha original é então deformada combase na informação e na aplicação de um operador volumétricodiferencial junto a um gráfico volumétrico gerado a partirda malha original.
BREVE DESCRIÇÃO DOS DESENHOS
Nas Figuras, o digito mais à esquerda de um númerode referência do componente identifica a Figura particularna qual o componente primeiro aparece.
A Fig. 1 apresenta um sistema ilustrativo .para adeformação ampla de malha utilizando o Laplaciano de gráficovolumétrico.
A Fig. 2 apresenta uma comparação ilustrativa deuma deformação ampla de malha convencional com uma deforma-ção ampla de malha utilizando o Laplaciano de gráfico volu-métrico 114.
A Fig. 3 apresenta resultados ilustrativos da de-formação por torção ampla.
A Fig. 4 apresenta resultados ilustrativos de de-formação por curvatura ampla.
A Fig. 5 apresenta um gráfico volumétrico ilustra-tivo .
A Fig.6 apresenta operações ilustrativas paraconstruir um gráfico volumétrico.
A Fig. 7 apresenta tipos ilustrativos de conexõesde borda em um gráfico volumétrico.
A Fig. 8 apresenta deformação baseada em curva i-lustrativa.
A Fig. 9 apresenta uma comparação ilustrativa deesquemas de ponderação, incluindo esquemas de ponderação u-niforme, reciproco de comprimento de borda e de heat kernel(função exponencial de decaimento de distância quadrada).A Fig. 10 apresenta comparações ilustrativas detécnicas convencionais de deformação ampla de malha compara-das com deformação ampla de malho utilizando o Laplaciano degráfico volumétrico.
A Fig. 11 apresenta um procedimento ilustrativopara deformação ampla de malha utilizando o Laplaciano degráfico volumétrico.
A Fig. 12 ilustra um exemplo de um ambiente decomputação adequado no qual a deformação ampla de malha uti-lizando o Laplaciano de gráfico volumétrico pode ser total-mente ou parcialmente implementada.
DESCRIÇÃO DETALHADA DA MODALIDADE PREFERIDA
Visão Geral
A deformação ampla de malha utilizando o Laplacia-no de gráfico volumétrico proporciona uma nova técnica paraa deformação ampla em malhas 3-D utilizando o Laplaciano degráfico volumétrico. Um gráfico representando o volume in-terno da malha de entrada é primeiro construído. 0 gráficonão precisa formar um entrelaçamento sólido do interior damalha de entrada (o operador Laplaciano volumétrico pode seraplicado junto a um gráfico volumétrico sem entrelaçar osinteriores da superfície). As bordas do gráfico simplesmentese conectam com os pontos vizinhos no volume. 0 Laplacianodo. gráfico codifica os detalhes como a diferença entre cadaponto no gráfico e a média dos seus vizinhos. Preservar es-tes detalhes volumétricos durante a deformação impõem umarestrição volumétrica que impede alterações não naturais novolume. Também incluídos no gráfico estão os pontos a umacurta distância fora da malha. Isto ajuda a evitar auto-interseções locais.
A preservação do detalhe volumétrico érepresentada por uma função de energia quadrática. Minimizara função de energia quadrática preserva os detalhes em umsentido de mínimos quadrados, distribuindo o erro de formauniforme através de toda a malha deformada. A função de e-nergia quadrática também pode ser combinada com restriçõesconvencionais envolvendo as posições da superfície, os deta-lhes ou suavidade, e eficientemente minimizada por solucio-nar um sistema linear esparso.
Como descrito em maiores detalhes abaixo com refe-rência à Fig. 1 até 11, a deformação ampla de malha utili-zando o Laplaciano de gráfico volumétrico é implementada emum sistema de deformação 2-D baseado em curva permitindo aosusuários iniciantes e experientes igualmente criar deforma-ções substancialmente agradáveis com pouco esforço, Esta no-va técnica de deformação ampla de malha não requer esquele-tos e posições chave de um modelo 3-D como entrada e podemanipular uma ampla faixa de deformações não rígidas. Em umaimplementação, este sistema para deformação ampla de malhautilizando o Laplaciano de gráfico volumétrico é utilizadopara aplicar deformações não rígidas e exageras de persona-gens de desenho animado 2-D para malhas 3-D.
Sistema Ilustrativo
Apesar de não exigido, a deformação ampla de malhautilizando o Laplaciano de gráfico volumétrico é descrita emcontexto geral de instruções de programa de computador sendoexecutadas por um dispositivo de computação tal como um com-putador pessoal. Os módulos de programa geralmente incluemrotinas, programas, objetos, componentes, estruturas de da-dos, etc., os quais executam tarefas particulares ou imple-mentam tipos de dados abstratos particulares. Enquanto ossistemas e os métodos são descritos no contexto precedente,os atos e as operações descritos daqui para frente tambémpodem ser implementados em hardware.
A Fig. 1 apresenta um sistema ilustrativo 100 paradeformação ampla de malha utilizando o Laplaciano de gráficovolumétrico. Nesta implementação, o sistema 100 inclui umdispositivo de computação de propósito geral 102. 0 disposi-tivo de computação 102 representa qualquer tipo de disposi-tivo de computação, tal como um computador pessoal, um Iap-top, um servidor, dispositivos de computação portátil ou mó-vel (por exemplo, um telefone celular, assistente pessoaldigital), e/ou assim por diante.
0 dispositivo de computação 102 inclui os módulosde programa 104 e os dados de programa 106. Os módulos deprograma 104 incluem, por exemplo, o módulo de deformaçãoampla de malha (utilizando o Laplaciano de gráfico volumé-trico) 108 (daqui para frente referido freqüentemente como"módulo de deformação 108"), e outros módulos de programa110, tal como um sistema operacional, etc. 0 módulo de de-formação 108 implementa uma nova técnica para gerar deforma-ções amplas de malha 112 nos Laplacianos de gráfico volumé-trico (VGLs) 114 gerados a partir de malhas 3-D 116 (malhasoriginais). O módulo de deformação 108 utiliza o VGL pararepresentar detalhes volumétricos como a diferença entre ca-da ponto em um volume 3-D e a média de seus pontos vizinhosem um gráfico. 0 VGL permite ao módulo de deformação 108preservar os detalhes da superfície utilizando técnicas di-ferenciais de domínio e desse modo, produz resultados de de-formação visualmente agradáveis 112, por distribuir os errosde forma global através da minimização de mínimos quadrados.
Por trabalhar no domínio volumétrico ao invés do que na su-perfície da malha 116, o módulo de deformação 108 utiliza oVGL para efetivamente impor as restrições volumétricas, edesse modo, evita alterações não naturais do volume e as au-to-interseções locais.
A Fig. 2 apresenta uma comparação ilustrativa deuma deformação ampla de malha convencional com uma deforma-ção ampla de malha utilizando o Laplaciano de gráfico volu-métrico 114. Mais particularmente, a imagem 202 apresentauma malha original ilustrativa 116. A imagem 204 apresentaum resultado ilustrativo de deformar a malha original 116utilizando as técnicas convencionais de deformação de malhade edição de Poisson. A imagem 206 apresenta um resultadoilustrativo de deformação ampla de malha da malha original116 utilizando o Laplaciano de gráfico volumétrico 114. Comoapresentado no exemplo de imagem 204, a deformação da malhaoriginal 116 utilizando a edição de malha de Poisson causacontração não natural, especialmente na coxa direita do mo-delo.
Utilizando um Laplaciano de gráfico volumétrico114, o módulo de deformação 108 representa as restrições vo-lumétricas por uma função de energia quadrática. 0 módulo dedeformação 108 formalmente minimiza esta função por um sis-tema linear esparso, e combina a função com outras restri-ções de superfície (por exemplo, em relação às posições dasuperfície, detalhes da superfície, suavidade da superfície,etc.). Para aplicar um Laplaciano de gráfico volumétrico 114junto a uma malha triangular, o módulo de deformação 108primeiro constrói um gráfico volumétrico 118, o qual incluios pontos da malha original 116, bem como pontos derivados,como descritos abaixo, a partir de uma treliça simples (grá-fico interno) situando-se dentro da malha 116. As bordas dográfico conectam estes pontos. Estas bordas do gráfico sãoum super-conjunto das bordas da malha original 116. 0 gráfi-co não precisa formar um entrelaçamento (mosaico volumétricoem tetraedros ou em outros elementos finitos) do interior damalha 116.
Um usuário especifica uma deformação por identifi-car um conjunto limitado de pontos 120 (uma ou mais curvasde controle) na malha original 116. Os pontos especificados120 definem uma curva e indicam para onde estes pontos 120migram em uma deformação resultante. Para propósitos de i-lustração, os pontos especificados 120, neste exemplo, iden-tificam uma curva. O módulo de deformação 108 gera uma fun-ção de energia quadrática com um mínimo para mapear os pon-tos especificados 120 para seu destino especificado enquantomantendo o detalhe da superfície e aproximadamente preser-vando o volume.
Desta maneira, o módulo de deformação 108 resolveo problema de deformação ampla de malha por aplicar um ope-rador volumétrico diferencial junto a um gráfico volumétrico118 sem entrelaçar interiores da superfície. Em contraste,as abordagens diferenciais convencionais consideravam somen-te os operadores de superfície. Um modo simples de estenderestes operadores a partir das superfícies para sólidos é de-finir os mesmos através de uma malha tetraédrica do interiordo objeto. Entretanto, entrelaçar de forma sólida um objetocomplexo é notoriamente difícil. As técnicas de deformaçãode malha existentes tipicamente entrelaçam novamente a geo-metria e perturbam sua conectividade, desse modo violandouma exigência comum na deformação de malha. O entrelaçamentosólido também implica em várias restrições (por exemplo, quenenhum tetraedro seja sacudido e que cada vértice interiorpermaneça na cobertura exterior visual de seus vizinhos).
Tais restrições tornam computacionalmente impraticável paraas técnicas convencionais de deformação de malha economica-mente distribuir os pontos interiores, e adicionam uma "co-bertura exterior" (como executado pelo sistema 100) para im-pedir a auto-interseção local.
Operações ilustrativas do módulo de deformação 108para deformar um gráfico volumétrico 118 e executar a defor-mação a partir de curvas 2-D (partes respectivas de pontosespecificados 120) são descritas.
Deformação Ilustrativa do Gráfico Volumétrico
Seja M = (Vr K) uma malha triangular 116 almejadapara deformação, onde V é um conjunto de η posições de ponto(isto é, conjunto de pontos da malha original 116), V = {p2e R2 I 1 < i < η}, e K é um complexo simplicial abstrato con-tendo toda informação de conectividade de vértice. Para pro-pósitos de ilustração, tal informação de conectividade devértice é apresentada como uma respectiva parte de "outrosdados" 122. Existem três tipos de elementos em K, os vérti-ces {i}, as bordas {i, f} e as faces {i, j, k}.
Deformação de Laplaciano em Gráficos Abstratos.
Suponha que G= (Ρ, E) é um gráfico, onde P é umconjunto de N posições de ponto, onde P = {pi e R3 \ 1 < i <Ν}, e E= {(i, j) I pi é conectado com p2} é o conjunto debordas. 0 Laplaciano de um gráfico é análogo ao operador deLaplace em tubulações. 0 Laplaciano calcula a diferença en-tre cada ponto pi no gráfico G e uma combinação linear deseus pontos vizinhos:
<formula>formula see original document page 10</formula>
Onde n{i) = {j | {i, j} e E são os vizinhos da borda, wif é opeso para o ponto plf e δι é a coordenada Laplaciana do pontoPi no gráfico G. Lg é chamado de operador de Laplace do grá-fico G. Os pesos ivij são positivos e satisfazem ZjeN(i)Wij =1. A ponderação mais simples é a ponderação uniforme Wij =l/l W(i)| . (0 módulo de deformação 108 implementa um esquema deponderação mais complicado, como descrito abaixo, na seçãodenominada "Deformação Ilustrativa do Gráfico Volumétrico").
Para controlar uma deformação, estas são posiçõesde entrada deformadas como curvas de controle (isto é, pon-tos especificados 120) i g {1, ..., m} para um subcon-junto de N vértices de malha. 0 módulo de deformação 108 u-tiliza estas curvas de controle especificadas para calculauma nova (deformada) coordenada de Laplaciano δ'ι para cadaponto i no gráfico. As posições deformadas dos vértices demalha p'± (por exemplo, veja "outros dados" 122) são entãoobtidas por se resolver o seguinte problema de minimizaçãoquadrático:
<formula>formula see original document page 11</formula>
O primeiro termo da equação (2) representa a preservação dodetalhe local e o segundo termo restringe as posições destesvértices 120 diretamente especificados pelo usuário. O parâ-metro α equilibra estes dois objetivos.
As coordenadas Laplacianas deformadas são calcula-das como se segue:
<formula>formula see original document page 11</formula>
onde S1 é a coordenada Laplaciana na resposta, definida naequação (1), e Ti transforma a coordenada Laplaciana na posedeformada. Nesta implementação, uma transformação geral T1,a qual inclui dimensionamento anisotrópico, também é podero-sa e pode "ajustar à distância" o detalhe local. Para ende-reçar isto, o módulo de deformação 108 restringe T1 a umarotação e escala isotrópica.
Dadas as posições deformadas de um subconjunto dosvértices qlr métodos bem conhecidos podem ser utilizados pa-ra obter T1. Nesta implementação, o módulo de deformação 108utiliza um método descrito abaixo na seção denominada "De-formação Ilustrativa do Gráfico Volumétrico". Esta metodolo-gia propaga a transformação local a partir da região especi-ficada da deformação para toda a malha (resultando em umadeformação ampla da malha 112), combinando a transformaçãoem direção à identidade distante do local da deformação.Se o gráfico for uma malha triangular, o Laplacia-no do gráfico é idêntico ao Laplaciano da malha (neste exem-plo, uma malha, ou Laplaciano da superfície é um Laplacianoda malha original). Utilizando o Laplaciano da malha paracodificar os detalhes da superfície, a estrutura geométricadetalhada é preservada através de uma ampla faixa de opera-ções de edição. Entretanto, para deformações amplas, taismetodologias exibem alterações não naturais de volume (porexemplo, veja a imagem (a) da FIG.3), e / ou auto-interseções locais (por exemplo, veja a imagem (a) na FIG. 4).
A Fig. 3 apresenta resultados ilustrativos da de-formação por torção ampla. Mais particularmente, a imagem(a) da Fig. 3 apresenta a deformação por torção ampla basea-da na superfície Laplaciana. A imagem (b) da Fig.3 apresentaa deformação por torção ampla baseada em uma malha de Pois-son. A imagem (c) apresenta a deformação de torção ampla ba-seada nas operações VGL do módulo de deformação 108.
A Fig. 4 apresenta resultados ilustrativos de de-formação por curvatura ampla. Mais particularmente, a imagem(a) da Fig. 4 apresenta deformação por curvatura ampla ilus-trativa baseada na superfície de Laplaciano. A imagem (b) daFig. 3 apresenta a deformação por curvatura ampla ilustrati-va baseada em uma malha de Poisson. A imagem (c) apresenta adeformação por curvatura ampla ilustrativa baseada nas ope-rações VGL do módulo de deformação 108.
Agora, descrevemos como o módulo de deformação 108impõem as restrições volumétricas por construir um gráficovolumétrico 118 para uma malha original 116 para reduzir al-terações não naturais do volume e / ou auto-interseções locais.
Construção Ilustrativa de um Gráfico Volumétrico
0 módulo de deformação 108 evita grandes altera-ções de volume e auto-interseções locais, mas não garante aeliminação das auto-interseções globais.. Nesta implementa-ção, as auto-interseções globais são gerenciadas por um usu-ário. O módulo de deformação 108 constrói um gráfico volumé-tricô 118 utilizando dois tipos de gráficos intermediários:gráficos interno e externo. Um gráfico interno G±n preencheo volume interior da malha 116 e impede grandes alteraçõesde volume, enquanto um gráfico externo Gout impede as auto-interseções locais.
A Fig. 5 apresenta um gráfico volumétrico ilustra-tivo 118. Mais particularmente, o gráfico volumétrico 502ilustra Gin ilustrativo, e o gráfico volumétrico 504 ilustraGout ilustrativo.
Um método para obter Gin é fazer a transformação emtetraedro do volume interior de uma malha da superfície 116.
Entretanto, a geração da malha tetraédrica tipicamente ésubstancialmente difícil e computacionalmente cara de imple-mentar, sem mencionar que tal geração de malha geralmente édifícil de implementar de ma maneira robusta (por exemplo,tipicamente produzindo tetraedros pobremente formatados paramodelos complicados). Ao invés de fazer a transformação etetraedros do volume interior de uma malha de superfície116, o módulo de deformação 108 implementa operações subs-tancialmente mais simples que produzem o gráfico volumétricomenos restritivo.
A Fig. 6 apresenta etapas ilustrativas para cons-truir um gráfico volumétrico 118. Mais particularmente, enesta implementação como apresentado na Fig. 6, o módulo dedeformação 108 gera um gráfico volumétrico 118 como se segue:
. Constrói uma cobertura interna M±n para a malha Mpor deslocar cada vértice uma distância na direção oposta asua normal. Isto é ilustrado, por exemplo, na imagem (a) daFig. 6.
. Incorpora M±n e M em uma treliça cúbica centrali-zada no corpo (BCC). Remove os nós da treliça exteriores. Osresultados destas operações ilustrativas são apresentados,por exemplo, na imagem (b) da Fig. 6.
. Constrói as conexões de borda entre M, Min e osnós da treliça. Os resultados desta operação são apresenta-dos, por exemplo, na imagem (c) da Fig. 6.
Simplifica o gráfico utilizando o colapso daborda e suaviza o gráfico. Os resultados desta operação sãoapresentados, por exemplo, na imagem (d) da Fig. 6.
Nesta implementação, o propósito da cobertura in-terna Min é garantir que os pontos internos sejam inseridosigualmente dentro dos aspectos finos (por exemplo, tal comoo rabo do gato) que podem ser perdidos pelas operações deamostragem da treliça. Para calcular a cobertura interna, omódulo de deformação 108 utiliza operações baseadas nos en-velopes de simplificação. Em cada repetição, o módulo de de-formação 108 tenta mover cada vértice uma fração do compri-mento médio da borda oposto ao seu vetor normal. Após moverum vértice, o módulo de deformação 108 testa seus triângulosadjacentes em relação às interseções um com o outro e com oresto do modelo. Se nenhuma interseção for encontrada, osresultados destas operações são aceitos. Caso contrário, osresultados das operações são rejeitados e o vértice é movidode volta. A repetição termina quando todos os vértices tive-rem sido movidos a distância desejada ou não puderem maisser movidos.
A Fig. 7 apresenta tipos ilustrativos de conexõesde borda em um gráfico volumétrico. Mais particularmente, aimagem (a) da Fig. 7 apresenta bordas limite ilustrativas. Aimagem (b) da Fig. 7 apresenta bordas interiores ilustrati-vas. Em vista destes exemplos, pode ser visto que uma treli-ça BCC inclui nós em cada ponto de uma grade Cartesiana jun-to com os centros da célula (por exemplo, imagem (b) ) . Aslocalizações de nó podem ser vistas como pertencendo a duasgrades entrelaçadas. Esta treliça ocorre como uma estruturade cristal por natureza com propriedades de rigidez desejá-veis. Nesta implementação, o maior intervalo é estabelecidopara igual ao comprimento médio da borda.
Três tipos de conexões de borda formam um gráficovolumétrico inicial 118. Primeiro, o módulo de deformação108 conecta cada vértice em m com seu vértice correspondenteem Min (por exemplo, Fig. 7, imagem (a)). A diagonal maiscurta para cada face do prisma é igualmente incluída. Em se-gundo lugar, o módulo de deformação 108 conecta cada nó in-terno da treliça BCC com seus oito visinhos mais próximos naoutra grade entrelaçada (por exemplo, Fig. 7, imagem (b) ) .
Em terceiro lugar, o módulo de deformação 108 conecta Min eos nós da treliça BCC. Para cada borda na treliça BCC queinterseciona Min e possui pelo menos um nó interior a Minf omódulo de deformação 108 conecta o nó da treliça BCC interi-or a Min com o ponto em Min mais próximo a esta interseção.
O módulo de deformação 108 implementa as operaçõesde simplificação e de suavização no gráfico inicial paratornar o gráfico mais uniforme. Para este fim, o módulo dedeformação 108 avalia as bordas do gráfico 118 em ordemcrescente de comprimento. Se o comprimento de uma borda formenor do que um limite (metade do comprimento médio da bordade Μ), ele é contraído para o ponto médio da borda. Após asimplificação, várias repetições de suavização (três em nos-sa implementação) são executadas, nas quais cada ponto é mo-vido para a média de seus vizinhos. Nesta implementação, nema simplificação nem a suavização são aplicadas para os vér-tices de M.
Para construir o gráfico externo Gout (parte dasoperações de geração do gráfico volumétrico 118), o módulode deformação 108 utiliza o método repetitivo de deslocamen-to de normal descrito anteriormente para construir este grá-fico volumétrico, mas em direção ao exterior ao invés do quepara dentro da superfície, para formar Mout. O módulo de de-formação 108 constrói as conexões entre M e Mout do mesmo mo-do que entre M e M±n.
Observe que nesta implementação, tanto Gin como Goutsão estruturas de dados intermediárias (respectivamente re-presentadas em "outros dados" 122) que não são diretamentevistas por um usuário, em que são descartadas após a intera-ção com o usuário. Estas estruturas de dados servem somentepara restringir a deformação da superfície da malha. Apesardas interseções de M±n e Mout com elas próprias e com M pode-rem ocorrer, especialmente em malhas contendo regiões de al-ta curvatura, tais interseções não causam dificuldades nosistema interativo 100.
Deformação Ilustrativa do Gráfico Volumétrico
Para equilibrar entre preservar os detalhes origi-nais da superfície e restringir o volume, o módulo de defor-mação 108 utiliza uma modificação da função de energia naEquação (2) para a seguinte forma geral:
<formula>formula see original document page 17</formula>
onde os primeiros η pontos no gráfico G pertencem à malha M.Lm é o operador Laplaciano separado da malha. G' é o sub-gráfico de G formado por se remover estas bordas pertencendoa M. Para pontos na malha original Μ, ε'χ(1 < i < n) são ascoordenadas Laplacianas da malha no quadro de coordenadasdeformado. Para pontos no gráfico volumétrico G', δ'ι(1 < i< N) são as coordenadas Laplacianas do gráfico no quadro de-formado. Assim, a energia é decomposta em três termos cor-respondendo à preservação dos detalhes da superfície, aocumprimento das localizações de deformação escolhidas por umusuário (pontos especificados 120) e à preservação dos deta-lhes / rigidez volumétrica.
β equilibra entre os detalhes da superfície e vo-lumétricos. 0 módulo de deformação 108 especifica β~ onde β= ηβ~/Ν. O fator ιί/ν normaliza o peso de modo que ele ficainsensível à densidade da treliça do gráfico volumétrico.Com esta normalização, β~ = 1 preserva o volume e impede asauto-interseções. Nesta implementação, 0,1 < α < 1, e α nãoé normalizado. Isto é porque é desejável que a intensidadede restrição dependa do número de pontos restritos em rela-ção ao número total de pontos da malha. Nesta implementação,α é estabelecido para 0,2 por valor padrão.
Em uma modalidade alternativa, a restrição volumé-trica da Equação (3) é combinada com a energia de suavidadequadrática (isto não é feito se o foco for deformar modeloscom detalhe geométrico significativo).
Propagação Ilustrativa das Transformações Locais
Para obter as transformações locais T± que pegamas coordenadas de Laplaciano no quadro restante, δι e Ei paraas novas coordenadas de Laplaciano δ'ι e ε'ι no quadro defor-mado, o módulo de deformação 108 implementa as operações dedeformação WIRE. Nestas operações, o módulo de deformação108 seleciona uma seqüência de vértices da malha formandouma curva 120. Estes vértices da malha selecionados são en-tão deformados para um novo estado. Esta curva controla adeformação e define o (por exemplo, veja a imagem (a) daFig. 8) .
A Fig. 8 apresenta a deformação baseada em curvailustrativa. Mais particularmente, a imagem (a) da Fig. 8apresenta uma malha original ilustrativa 116 e uma curva decontrole ilustrativa 802. A imagem (b) da Fig. 8 apresentaos campos de intensidade ilustrativos de O (por exemplo cam-po 804 - sombreado mais escuro) e 1 (por exemplo, campo 806- sombreado mais leve). A imagem (c) da Fig. 8 apresenta amalha deformada ilustrativa gerada a partir das operações dedeformação baseada em curva do módulo de deformação 108 daFig. 1.
Uma curva de controle (por exemplo, curva de con-trole 802) especifica somente a extensão de onde os vérticesna curva são para serem deformados. O módulo de deformação108, utilizando o algoritmo de propagação, primeiro determi-na para onde os pontos vizinhos do gráfico (vizinhos da ma-lha em anel 1 dos pontos de controle) se deformam, então,deduz as transformações locais nos pontos da curva, e final-mente, propaga as transformações através de toda a malha(por exemplo, resultando em uma malha deformada 112) . Estasoperações começaram por se localizar os vizinhos da malha doqi e obtendo suas posições deformadas utilizando WIRE. Maisparticularmente, sejam C(u) e C'(u) as curvas de controleoriginal e deformada, respectivamente, parametrizada pelocomprimento de arco u e [0, 1]. Dado um ponto vizinho ρ eR2, deixe up e [0, 1] ser o valor de parâmetro minimizando adistância entre ρ e a curva C(u). A deformação mapeia ρ e p'de modo que C mapeia para C' e os pontos vizinhos se movemde forma análoga:
p' = C'(u) + r (up) (s(up) (p - C(Up))).
Nesta equação, R(u) é uma matriz de rotação 3x3 que pegaum vetor tangente t(u) em C e mapeia o mesmo para seu vetortangente correspondente t'(u) em C1 por girar ao redor det(u) χ t'(u). s(u) é um fator de escala. Ele é calculado emcada vértice de curva como a proporção da soma dos compri-mentos de suas bordas adjacentes em C' através desta soma decomprimento em Cr e então definido continuamente através deu pela interpolação linear.
As coordenadas deformadas para cada ponto na curvade controle e para seus vizinhos do anel 1 na malha foramagora determinadas. Neste ponto, as operações do módulo dedeformação 108 continuam para calcular o T± em cada ponto nacurva de controle. A mud ("detecção multiusuário") de defor-mação 108 define uma rotação por se calcular uma normal e umvetor tangente como a projeção perpendicular de um vetor deborda com esta normal. A normal é calculada como uma combi-nação linear ponderada pela área da face das normais da faceao redor do ponto da malha i. A rotação é representada comouma quaternião, o que significa que o ângulo de rotação deveser menor do que 180 graus. O fator de escala de Ti é dadopor s (up) .
A transformação é então propagada a partir da cur-va de controle para todos os pontos do gráfico ρ via um cam-po de intensidade de deformação /{ρ) que decai para longe apartir do local da deformação (por exemplo, veja a imagem(b) da Fig. 8). Os campos de intensidade constantes, linea-res e Gaussianos podem ser escolhidos e são baseados no ca-minho de borda mais curto (distância geodésica separada) apartir de ρ até a curva.
Em uma implementação, o módulo de deformação 108implementa um esquema de propagação simples por designar pa-ra ρ uma rotação e uma escala a partir do ponto qp na curvade controle mais próximo de p. Um resultado mais suave é ob-tido por se calcular uma média ponderada através de todos osvértices na curva de controle ao invés do mais próximo. Aponderação pelo reciproco da distância l/l I ρ - gil I g ou poruma função de Gaussiana, tal como:
<formula>formula see original document page 21</formula>
Tal função Gaussiana trabalha bem no sistema 100. || ρ - q| | gdenota a distância geodésica separada a partir de ρ até q. 0termo σ controla a largura da Gaussiana. A ponderação entrevárias curvas é similar, exceto que a quaternião e a escalasão acumuladas através de várias curvas.
A matriz final de transformação no ponto ρ é:
Tp= f(p)T P + (l-f(p))I
Onde T~p é a transformação ponderada de p. Esta fórmula sim-plesmente combina que transforma com a identidade utilizandoo campo de intensidade. Assim, as coordenadas Laplacianas seaproximam de seu estado original (situam-se) fora da regiãode influência da deformação.
Em contraste com os esquemas convencionais de pro-pagação, o esquema de propagação implementado pelo módulo dedeformação 108 calcula uma transformação para cada vérticedo gráfico e aplica a transformação para sua coordenada La-placiana. Adicionalmente, algumas técnicas convencionais ge-ralmente calculam uma transformação para cada triângulo eaplicam a mesma junto aos vértices do triângulo. Entretanto,independentemente transformar cada triângulo desconecta omesmo de seus vizinhos na malha. A equação de Poisson costu-ra os triângulos de volta juntos para preservar cada orien-tação e escala do triângulo em um sento de mínimos quadra-dos. Estender isto para um domínio volumétrico exige uma ma-lha tetraédrica.
Ao invés do que calcular transformações nos locaisde deformação e propagar as transformações para longe do lo-cal da deformação, as técnicas convencionais de deformaçãode malha introduzem graus adicionais de liberdade por defi-nirem uma transformação ótima desconhecida de mínimos qua-drados, a qual pega um vizinho local dos pontos a partir doestado de inércia até o estado deformado. A transformaçãodefinida tipicamente é restrita à rotações e escalas paraimpedir a perda do detalhe local. Para o sistema permanecerquadrático e desse modo, facilmente resolvível, as rotaçõessão definidas utilizando a aproximação de pequeno ângulo.Esta técnica convencional proporciona uma aproximação ruimpara deformação grande, a qual então requer refinamento re-petitivo mais complicado.
Esquema de Ponderação Ilustrativo
Para o Laplaciano da malha Lm, o módulo de defor-mação 108 utiliza um esquema de ponderação com pesos co-tangentes:
<formula>formula see original document page 22</formula>
Para o Laplaciano do gráfico Lg, o módulo de de-formação 108 calcula os pesos por resolver um problema deprogramação quadrático. Independentemente para cada vérticedo gráfico i, o módulo de deformação 108 resolve o problemaseguinte para obter os pesos w±j (para objetividade, o subs-crito i é abandonado):
<formula>formula see original document page 23</formula>
Referindo-se à equação acima, o primeiro termo de energiaobjetiva os pesos que geram coordenadas Laplacianas com me-nor magnitude. 0 segundo termo é baseado em um operadorguarda-chuva dependente da escala, o qual prefere pesos naproporção inversa dos comprimentos de borda. 0 parâmetro λequilibra estes dois objetivos, enquanto o parâmetro ξ impe-de pesos pequenos. Nesta implementação, λ e ξ são ambos es-tabelecidos para igual a 0,01.
A Fig. 9 apresenta uma comparação ilustrativa deesquemas de ponderação, incluindo uniforme (a), reciproca decomprimento de borda (b) e de heat kernel (função exponenci-al de decaimento de distância quadrada) (c). Como apresenta-do nestas comparações ilustrativas, o esquema de ponderaçãoimplementado pelo módulo de deformação do sistema 100 apre-sentado na imagem (d) é mais suave e mais uniforme do que osresultados a partir de outros esquemas de ponderação.
Minimizaçâo Ilustrativa de Energia Quadrática
Dadas as novas coordenadas Laplacianas, o módulode deformação 108 minimiza a energia quadrática na Equação(3) por resolver as equações seguintes:<formula>formula see original document page 24</formula>
Este é um sistema linear esparso Ax = b. A matrizA é dependente somente do gráfico antes da deformação en-quanto b também é dependente das coordenadas Laplacianascorrentes e das restrições de posição. Portanto, A é fixocontanto que o módulo de deformação 108 não troque a malhaou gráfico e os pontos de controle enquanto b se alteraconstantemente durante a deformação interativa. Assim, o mó-dulo de deformação 108 calcula anteriormente A'1 utilizandoa decomposição LU e dinamicamente executa a etapa de substi-tuição de' volta para obter A'1b.
Operações Ilustrativas de Multi-Resolução
A edição de multi-resolução pode ser utilizada pa-ra acelerar os métodos diferenciais, especialmente para mo-delos muito grandes. Por exemplo, o modelo tatu de Stanfordda Fig. 2 contém 170 K vértices. 0 módulo de deformação 108gera quase seis vezes o mais variáveis quantos forem os vér-tices no sistema linear a ser resolvido quando criando ográfico volumétrico para o modelo. Resolver tal sistema am-pio é computacionalmente caro para um sistema interativo. Emuma implementação para reduzir o custo de computação, o mó-dulo de deformação 108 gera uma malha simplificada com menosvértices (por exemplo, 15 K para o tatu). Um gráfico volumé-trico 118 é então gerado a partir da malha simplificada. A-pós deformar a representação simplificada da malha, o módulode deformação 108 adiciona os detalhes de volta para obteruma malha deformada de alta resolução.Deformação Ilustrativa a partir de Curvas 2-D
0 modo básico de interação do sistema 100 é comose segue. Um usuário, primeiro, especifica uma curva de con-trole 120 na superfície da malha 116 por selecionar uma se-qüência de vértices da malha que são conectados pelo caminhode borda mais curta (Dijkstra) . Esta curva 3-D é projetadasobre um ou mais planos (planos de projeção) para obter cur-vas 2-D que podem então ser editadas. Após a edição, as cur-vas 2-D modificadas são projetadas de volta para 3-D paraobter a curva de controle deformada, a qual forma a base pa-ra a deformação da seção anterior.
Projeção de Curva Ilustrativa
Dada a curva de controle original, o módulo de de-formação 108 automaticamente seleciona um plano de projeçãobaseado na normal média e nos vetores principais da curva decontrole original. O módulo de deformação 108 calcula os ve-tores principais como os dois autovetores correspondendo aosautovetores maiores a partir da análise de componente prin-cipal (PCA) através dos vértices da curva. Na maioria doscaos, o produto vetorial da normal média e do primeiro vetorprincipal proporciona um plano satisfatório. Quando o com-primento do vetor normal médio é pequeno, como para uma cur-va planar fechada, os dois vetores principais são ao invésdisso utilizados. Nesta implementação, um usuário também po-de diretamente escolher ou modificar a projeção escolhidapelo sistema 100.
Edição de Curva Ilustrativa
As curvas 2-D projetadas herdam o detalhe geomé-tricô a partir da malha original 116, o que complica a edi-ção. Ά edição de curva com múltiplas resoluções proporcionauma solução para as curvas B-Spline. 0 módulo de deformação108 implementa operações de adição para curvas separadas ba-seado nas coordenadas Laplacianas. A coordenada Laplacianade um vértice da curva é a diferença entre sua posição e aposição média de sues vizinhos adjacentes, ou vizinho únicopara vértices terminais.
A curva 2-D separada a ser editada é denotada comoC. Uma curva B-Spline cúbica Cb é primeiro calculada como umajuste de mínimos quadrados para Cr representando as fre-qüências baixas de C. Então, uma versão separada de Cbr de-notada Cdr é calculada por se mapear cada vértice de C sobreCb utilizando o mapeamento proporcional de comprimento dearco. A curva B-Spline simples Cb pode agora ser convenien-temente editada. Após a edição, o módulo de deformação 108obtém a curva B-Spline modificada C'b e uma nova versão se-parada C'd· Estas curvas indicam a deformação desejada dousuário mas carecem do detalhe da curva original. Para res-taurar o detalhe das curvas originais, o módulo de deforma-ção 108, em cada vértice de Cr identifica a rotação única ea escala que mapeia sua localização a partir de Cd para C'd.
Aplicar esta transformação para as coordenadas Laplacianasem C e resolver a equação (2) (sem o segundo termo de res-trição de ponto) através do gráfico de curva simples, resul-ta na geração de uma nova curva C'. Esta nova curva preservaos detalhes de Cr mas segue a modificação de escala grossei-ra do usuário. Essencialmente, isto é uma versão trivial da"propagação" da transformação local para deformar uma malha,mas para o caso de curva isto pode ser definido independen-temente por ponto e não precisa ser propagado.
Este algoritmo é apresentado como uma analogia decurva: dado um par de curvas fontes, Cs e C1sr e uma curvaalvo C, gerar uma nova curva C de modo que a relação entreCe C' seja análoga à relação entre Cs e C"s. Enquanto asoperações convencionais de deformação de malha podem direta-mente transformar os vértices, o módulo de deformação 108transforma as coordenadas diferenciais correspondentes dosvértices para erros distribuídos uniformemente através detoda a curva.
Inicialmente, Cb possui dois nós nos pontos extre-mos da curva. Um usuário pode adicionar nós para executar aedição em um nível mais detalhado. 0 sistema 100 suportadois modos de edição: um manipula um ajuste de escala gros-seiro para a curva original, Cbr e o outro esboça uma curvatotalmente nova. No último caso, a correspondência entre acurva esboçada e a curva de controle é alcançada pelo com-primento do arco por valor padrão. Nesta implementação, ousuário também pode especificar uma série de pontos corres-pondentes entre as duas curvas.
Redirecionamento de Deformação Ilustrativo a par-tir de Desenhos Animados 2-D
Em uma implementação, o redirecionamento de defor-mação do sistema 100 de desenhos animados 2-D para malhas 3-D 112 é uma aplicação ilustrativa direta da deformação base-ada em esboço 2-D. para este fim, um usuário especifica umaou mais curvas de controle 3-D na malha 116 junto com seusplanos de projeção, e para cada curva, uma série de curvas2-D 120 na seqüência de imagem do desenho animado que serãoutilizadas para acionar a deformação da malha 116.
A Fig. 9 apresenta a especificação de curva decontrole 3-D e 2-D ilustrativa para redirecionamento de de-formação a partir das imagens 2-D. Mais particularmente, osconjuntos de curvas de controle 902 (isto é, 902-la até 902-3b) são especificadas em uma malha 3-D, e os conjuntos decurvas de controle (isto é, 904-la até 904-3b) são especifi-cadas em uma imagem 2-D. (Para propósitos de ilustração, ascurvas de controle 2-D e 3-D . são apresentadas como pontosespecificados 120 da Fig. 1).
Suponha que Ci seja a projeção de uma curva decontrole 3-D 902, e suas curvas correspondentes 904 na se-qüência do desenho são Ci, j, j e{l, ..., Jc} . 0 índice i épara curvas de controle diferentes, acionando diferentespartes do modelo como braços e pernas. 0 índice j é o índicedo quadro - a mesma curva de controle possui uma curva dodesenho correspondente para cada quadro. 0 módulo de defor-mação 108 automaticamente deriva uma seqüência de deformaçãomapeando C± para sucessivos Cirj. Co respeito a estas opera-ções de deformação, não é necessário gerar uma deformação apartir do esboço a cada quadro. Em uma implementação, um u-suário pode selecionar apenar alguns quadros chave e especi-ficar curvas de controle do desenho apenas para os amigoschave selecionados, ao invés do que especificar curvas decontrole para todo a seqüência de quadros. O módulo de de-formação 108 implementa operações de interpolação automáticabaseado nas coordenadas diferenciais para interpolar entrequadros chave. Por exemplo, suponha que existem duas malhasMeM' com a mesma conectividade. Estas duas malhas repre-sentam a malha deformada 112 em dois quadros chave.
O módulo de deformação 108 começa por calcular ascoordenadas Laplacianas para cada vértice nas duas malhas. Omódulo de deformação 108 calcula uma rotação e escala no vi-zinho local de cada vértice p, pegando a coordenada Laplaci-ana a partir de sua localização em M até M' (por exemplo,veja a seção acima denominada "Deformação Ilustrativa doGráfico Volumétrico"). Denote a transformação por Tp. Porinterpolar cada transformação a partir da identidade para Tpatravés do tempo, obtemos uma coordenada Laplaciana variandosuavemente a partir de M até M'. Neste ponto, o módulo dedeformação 108 resolve a equação (2) para proporcionar umaseqüência de malhas de M até M'.
As curvas do desenho 2-D somente especificam comoa curva deformada se projeta em um plano único, deixando nãoespecificado seu formato perpendicular ao plano. Em vistadisto, o sistema 100 permite a um usuário selecionar outrosplanos de projeção para especificar estes graus extras deliberdade, se desejado.
A Fig. 10 apresenta comparações adicionais ilus-trativas de técnicas convencionais de deformação ampla demalha comparadas com a deformação ampla de malha utilizandoo Laplaciano de gráfico volumétrico do sistema 100. Maisparticularmente, a partir da esquerda para a direita, a fi-leira de cima respectivamente apresenta uma imagem de umamalha original, e a imagem ilustrativa apresentando resulta-dos da malha de Poisson editando a deformação, e uma imagemapresentando resultados ilustrativos da deformação ampla demalha utilizando o Laplaciano de gráfico volumétrico. A se-gunda, ou fileira de baixo, respectivamente, apresenta par-tes ampliadas das regiões deformadas associadas com a imagemimediatamente acima na fileira de cima. Ou seja, as imagensna coluna (a) estão associadas com uma malha original 116,as imagens na coluna (b) correspondem aos resultados da ma-lha original tendo sido deformada utilizando a edição de ma-lha de Poisson, e as imagens na coluna (c) correspondem aosresultados da malha original tendo sido deformada utilizandoa deformação ampla de malha utilizando o Laplaciano de grá-fico volumétrico do sistema 100.
Procedimento Ilustrativo
A Fig. 11 apresenta um procedimento ilustrativo1100 para a deformação ampla de malha utilizando o Laplacia-no de gráfico volumétrico. Para propósitos de discussão e deilustração, as operações deste procedimento são descritascom respeito aos componentes da Fig. 1. 0 digito mais à es-querda de um número de referência do componente identifica afigura particular na qual o componente primeiro aparece. A-dicionalmente, apesar da Fig. 11 apresentar as operações doprocedimento 1100 em uma ordem particular, as operações as-sociadas com qualquer bloco especifico do procedimento podemser implementadas em uma ordem diferente. Por exemplo, asoperações do bloco 1104 podem ser implementadas antes dasoperações do bloco 1102, e /ou assim por diante.
No bloco 1102, o módulo de deformação 108 constróium gráfico volumétrico 118 a partir de uma malha original116. Em uma implementação, o módulo de deformação 108 cons-trói o gráfico volumétrico utilizando estruturas intermediá-rias de dados de gráfico interno e externo. O gráfico inter-no é uma treliça simples que é construída para se situardentro da malha original 116. 0 gráfico externo inclui ospontos originais da malha bem como pontos derivados, e é u-tilizado pelo módulo de deformação 108 para impedir grandesalterações de volume durante as operações de deformação am-pla de malha. Em uma implementação, o módulo de deformação108 constrói o gráfico interno utilizando envelopes de sim-plificação para deslocar cada vértice, da malha original nadireção oposta a sua normal. Em uma implementação, o módulode deformação 108 constrói o gráfico externo para impedirauto-interseção local por repetidamente deslocar cada vérti-ce da malha original em direção ao exterior da superfície damalha original. 0 módulo de deformação 108 constrói as cone-xões entre os gráficos interno e externo e a malha original116 almejada para deformação para gerar o gráfico volumétrico.
No bloco 1104, o módulo de deformação 108 permiteque um usuário especifique um conjunto de curvas de controle3-D 120. Cada curva de controle -3-D identifica um conjuntode pontos na malha original 116. Em uma implementação, o mó-dulo de deformação 108 apresenta uma interface com o usuário(UI) em um dispositivo de vídeo. Uma vista 3-D de uma malhaoriginal 116 é apresentada para o usuário pela UI. Utilizan-do um mouse, ou algum outro tipo de dispositivo de aponta-mento / seleção, o usuário seleciona um conjunto de pontosna malha original 116 definindo a curva de controle 3-D 120.
No bloco 1106, o módulo de deformação 108 permiteao usuário editar as curvas de controle 3-D como as respec-tivas curvas de controle 2-D 120 para gerar as curvas decontrole deformadas 124. As curvas de controle deformadas124 indicam como a malha original 116 é para ser deformada.
Nesta implementação, um usuário especifica como a malha ori-ginal 116 é para ser deformada como se segue: 0 módulo dedeformação 108 projeta as curvas de controle 3-D especifica-das 120 sobre um plano de projeção dentro da UI como curvasde controle 2-D 120. O usuário deforma a malha original 116por manipular as curvas de controle 2-D projetadas 120 uti-lizando a UI proporcionada. Isto indica onde os pontos espe-cificados nas curvas de controle 3-D 120 são para serem mo-vidos como resultado da deformação definida. Por exemplo, emuma implementação, um usuário manipula as curvas de controle2-D projetadas por selecionar uma curva de controle 2-D comum dispositivo de apontamento, tal como um mouse, uma canetade imagem gráfica, e / ou assim por diante, e modifica acurva de controle 2-D 120. Por exemplo, o usuário pode dese-nhar uma nova curva representando uma curva desejada (istoé, deformação), diretamente editar a curva 2-D utilizando ospontos de controle B-Spline apresentados na curva 2-D pelaUI, etc.
No bloco 1108, o módulo de deformação 108 cria oLaplaciano do gráfico volumétrico 118 (isto é, o Laplacianode gráfico volumétrico 114) para codificar os detalhes volu-métricos como a diferença entre cada ponto no gráfico e amédia de seus vizinhos. Estes detalhes volumétricos são uti-lizados durante as operações de deformação para impor umarestrição volumétrica que impede alterações não naturais novolume. Estes detalhes volumétricos também incluem pontos auma cura distância do exterior da malha original 116, osquais são utilizados durante as operações de deformação parasubstancialmente impedir auto-interseções locais do volume.
No bloco 1110, o módulo de deformação 108 deformaa malha original 116 baseado nas curvas de controle deforma-das 124. Desta maneira, o sistema 100 proporciona um sistemade deformação baseado em curva permitindo a um usuário criaramplas deformações de malha.
Sistema Operacional Ilustrativo
A Fig. 12 ilustra um exemplo de um ambiente decomputação adequado no qual a deformação ampla de malha uti-lizando o Laplaciano e gráfico volumétrico pode ser total-mente ou parcialmente implementada. 0 ambiente de computaçãoilustrativo 1200 é somente um exemplo de um ambiente de com-putação adequado para o sistema ilustrativo 100 da Fig.l epara as operações ilustrativas da Fig.ll, e não é pretendidopara sugerir qualquer limitação quanto ao escopo de uso oude funcionalidade dos sistemas e métodos descritos neste do-cumento. Nem deve o ambiente de computação 1200 ser inter-pretado como possuindo qualquer dependência ou requerimentose relacionando com um ou com uma combinação de componentesilustrados no ambiente de computação 1200. Os métodos e sis-temas descritos neste documento são operacionais com váriosoutros sistemas de computação, ambientes ou configurações depropósito geral ou de propósito especial. Exemplos de siste-mas de computação, ambientes, e / ou de configurações bemconhecidos que podem ser adequados para uso incluem, mas nãoestão limitados, aos computadores pessoais, computadoresservidores, sistemas com vários processadores, sistemas ba-seados em microprocessador, PCs de rede, minicomputadores,computadores de grande porte, ambiente de computação distri-buidos que incluem qualquer um dos sistemas ou dispositivosacima, e assim por diante. Versões compactas ou subconjuntosda estrutura também podem ser implementados em clientes comrecursos limitados, tal como computadores portáteis, ou ou-tros dispositivos de computação. A invenção, apesar de nãorequerido, pode ser praticada em um ambiente de computaçãodistribuído, onde as tarefas são executadas por dispositivosremotos de processamento que estão ligados através de umarede de comunicações. Em um ambiente de computação distribu-ído, módulos de programa podem estar localizados em disposi-tivos de armazenamento em memória, tanto locais como remotos.
Com referência à Fig. 12, um sistema ilustrativoproporcionando deformação ampla de malha utilizando o Lapla-ciano de gráfico volumétrico inclui um dispositivo de compu-tação de propósito geral na forma de um computador 1210 im-plementando, por exemplo, o sistema 100 da Fig. 1. Os compo-nentes do computador 1210 podem incluir, mas não estão limi-tados, às unidades de processamento 1220, à memória do sis-tema 1230, e a um barramento do sistema 1221 que acopla osvários componentes do sistema, incluindo a memória do siste-ma com a unidade de processamento 1220. O barramento do sis-tema 1221 pode ser qualquer uma dentre vários tipos de es-truturas de barramento, incluindo um barramento de memóriaou controlador de memória, um barramento periférico, e umbarramento local utilizando qualquer uma dentre uma varieda-de de arquiteturas de barramento. A titulo de exemplo e nãode limitação, tais arquiteturas podem incluir o barramentoda Arquitetura Padrão da Industria (ISA), o barramento daArquitetura de Micro Canal (MCA), o barramento ISA Aperfei-çoado (EISA), o barramento local da Associação de Padrões deComponentes Eletrônicos de Video (VESA), e o barramento deInterconexão de Componente Periférico (PCI) também conhecidocomo barramento Mezanino.
Um computador 1210 tipicamente inclui uma varieda-de de meios legíveis por computador. Os meios legíveis porcomputador podem ser qualquer meio disponível que possa seracessado pelo computador 1210, incluindo tanto meio volátilcomo não volátil, meio removível e meio não removível. A tí-tulo de exemplo, e não de limitação, os meios legíveis porcomputador podem compreender meio de armazenamento do compu-tador e meio de comunicação. Os meios de armazenamento docomputador incluem meio volátil e não volátil, removível enão removível, implementados em qualquer método ou tecnolo-gia para armazenamento de informações tais como instruçõeslegíveis por computador, estruturas de dados, módulos deprograma e outros dados. 0 meio.de armazenamento do computa-dor inclui, mas não está limitado a RAM, ROM, EEPR0M, memó-ria flash ou a outra tecnologia de memória, CD-ROM, discosversáteis digitais (DVD) ou outro armazenamento em disco óp-tico, cassetes magnéticos, fita magnética, armazenamento emdisco magnético ou outros dispositivos magnéticos de armaze-namento, ou qualquer outro meio que possa ser utilizado paraarmazenar as informações desejadas e que possa ser acessadopelo computador 1210.
O meio de comunicação tipicamente incorpora ins-truções legíveis por computador, estruturas de dados, módu-los de programa ou outros dados em um sinal de dados modula-do tal como uma onda portadora ou outro mecanismo de trans-porte, e inclui qualquer meio de distribuição de informação.O termo "sinal de dados modulado" significa um sinal que temuma ou mais de suas características estabelecidas ou altera-das de um modo tal a codificar informação no sinal. A títulode exemplo e não de limitação, o meio de comunicação incluimeio com fios, tal como uma rede com fios, ou uma conexãocom fios direta, e meio sem fios, tal como meio acústico,RF, infravermelho e outros meios sem fios. Combinações dequalquer um dos citados acima também devem estar incluídasdentro do escopo de meio legível por computador.
A memória do sistema 1230 inclui meio de armazena-mento do computador na forma de memória volátil e / ou nãovolátil, tal como memória somente para leitura (ROM) 1231 ea memória de acesso aleatório (RAM) 1232. Um sistema básicode entrada / saída 1233 (BIOS), contendo as rotinas básicasque ajudam a transferir informações entre os elementos den-tro do computador 1210, tal como durante a partida, tipica-mente é armazenado na ROM 1231. A RAM 1232 tipicamente con-tém dados e / ou módulos de programa que são imediatamenteacessíveis e / ou estão atualmente sendo operados pela uni-dade de processamento 1220. A titulo de exemplo e não de Ii-mitação, a Fig. 12 ilustra o sistema operacional 1234, osprogramas de aplicação 1235, outros módulos de programa 1236e os dados de programa 1237.
0 computador 1210 também pode incluir outros meiosde armazenamento do computador removível / não removíveis,voláteis / não voláteis. Somente a título de exemplo, a Fi-gura 12 ilustra um controlador de disco rígido 1241 que lêou grava junto ao meio magnético não removível, não volátil,um controlador de disco magnético 1251 que lê ou grava juntoa um disco magnético removível, não volátil 1252, e um con-trolador de disco óptico 1255 que lê ou grava junto a umdisco óptico removível, não volátil 1256, tal como um CD ROMou outro meio óptico. Outros meios de armazenamento do com-putador removíveis / não removíveis, voláteis / não voláteisque podem ser utilizados no ambiente operacional ilustrativoincluem, mas não estão limitados ao cassete de fita magnéti-ca, cartões de memória flash, discos versáteis digitais, fi-ta de vídeo digital, RAM de estado sólido, e assim por dian-te. 0 controlador de disco rígido 1241 tipicamente está co-nectado com o barramento do sistema 1221 através e uma in-terface de memória não removível tal como a interface 1240,e o controlador de disco magnético 1251 e o controlador dedisco óptico 1255 tipicamente estão conectados com o barra-mento do sistema 1221 por uma interface de memória removi-vel, tal como a interface 1250.
Os controladores e seus meios de armazenamento docomputador associados discutidos acima' e ilustrados na Figu-ra 12 proporcionam armazenamento de instruções legíveis porcomputador, de estruturas de dados, de módulos de programa ede outros dados para o computador 1210. Na Figura 12, porexemplo, o controlador de disco rígido 1241 é ilustrado comoarmazenando o sistema operacional 1244, os programas de a-plicação 1245, outros módulos de programa 1246, e os dadosde programa 1247. Observe que estes componentes podem ser osmesmos ou diferentes do sistema operacional 1234, dos pro-gramas de aplicação 1235, dos outros módulos de programa1236 e dos dados de programa 1237. Para o sistema operacio-nal 1244, os programas de aplicação 1245, outros módulos deprograma 124 6 e os dados de programa 1247 são dados númerosdiferentes neste documento para ilustrar que eles são pelomenos cópias diferentes.
Um usuário pode entrar com comandos e com informa-ções no computador 1210 através de dispositivos de entradatal como um teclado 1262 e o dispositivo de apontamento1261, normalmente referido como mouse, trackball ou tecladosensível ao toque. Outros dispositivos de entrada (não apre-sentados) podem incluir um microfone, joystick, caneta e te-clado sensível ao toque de artes gráficas, antena de satéli-te, scanner, ou coisa parecida. Estes e outros dispositivosde entrada são freqüentemente conectados com a unidade deprocessamento 1220 através de uma interface de entrada dousuário 1260 que é acoplada com o barramento do sistema1221, mas pode ser conectada por outras estruturas de inter-face e de barramento, tal como uma porta paralela, porta dejogo ou um barramento serial universal (USB).
Um monitor 1291 ou outro tipo de dispositivo devideo também é conectado com o barramento do sistema 1221via uma interface, tal como uma interface de video 1290. Emadição ao monitor, os computadores também podem incluir ou-ros dispositivos periféricos de saida, tal como a impressora1296 e os dispositivos de áudio 1297, os quais podem ser co-nectados através de uma interface periférica de saida 1295.
0 computador 1210 opera em um ambiente em rede u-tilizando conexões lógicas com um ou mais computadores remo-tos, tal como um comutador remoto 128 0. O computador remoto1280 pode ser um computador pessoal, um servidor, um rotea-dor, um PC de rede, um dispositivo par ou outro nó comum darede, e em função de sua implementação particular, pode in-cluir vários ou todos os elementos acima descritos com rela-ção ao computador 1210, apesar de somente um dispositivo dearmazenamento em memória 1281 ter sido ilustrado na Figura12. As conexões lógicas representadas na Figura 12 incluemuma rede de área local (LAN) 1281 e uma rede de área ampla(WAN) 1273, mas também podem incluir outras redes. Tais am-bientes de colocação em rede são comuns em escritórios, emredes de computadores a nivel empresarial, intranets e naInternet.
Quando utilizado em um ambiente de interligaçãoLAN, o computador 1210 é conectado com a LAN 1271 através deuma interface de rede ou de um adaptador 1270. Quando utili-zando em um ambiente de interligação WAN, o computador 1210tipicamente inclui um modem 1272 ou outro dispositivo paraestabelecer comunicações através da WAN 1273, tal como a In-ternet. 0 modem 1272, o qual pode ser interno ou externo,pode ser conectado com o barramento do sistema 1221 via ainterface de entrada do usuário 1260, ou via outro mecanismoapropriado. Em um ambiente em rede, os módulos de programarepresentados em relação ao computador 1210, ou partes dosmesmos, podem ser armazenados no dispositivo de armazenamen-to em memória remoto . A titulo de exemplo e não de limita-ção, a Figura 12 ilustra os programas de aplicação remotos1285 como residindo no dispositivo de memória 1281. As cone-xões de rede apresentadas são ilustrativas e outros disposi-tivos para estabelecer uma ligação de comunicação entre oscomputadores podem ser utilizados.
Conclusão
Apesar das técnicas de deformação de malha conven-cionais no domínio diferencial preservarem o detalhe da su-perfície à medida que uma malha é deformada, tais técnicasexistentes tipicamente produzem artefatos de que comprimem ede interseção censuráveis quando a deformação é grande. 0sistema 100 da Fig. 1 endereça estes problemas por preservaros detalhes volumétricos representados pelo Laplaciano degráfico volumétrico. Esta solução evita as dificuldades desolidamente entrelaçar objetos complexos. Apesar dos siste-mas e métodos para deformação ampla de malha utilizando oLaplaciano de gráfico volumétrico terem sido descritos emlinguagem específica para os aspectos estruturais e / ou asoperações ou ações metodológicas, é entendido que as imple-mentações definidas nas reivindicações anexas não estão ne-cessariamente limitadas aos aspectos ou ações específicosdescritos. Ao invés disso, os aspectos e operações específi-cos do sistema 100 são revelados como formas ilustrativas deimplementar o tema reivindicado.

Claims (20)

1. Método implementado por computador,CARACTERIZADO por compreender:receber informação a partir de um usuário indican-do como uma malha original pe para ser deformada; edeformar a malha original baseado na informação eem um operador volumétrico diferencial aplicado a um gráficovolumétrico gerado a partir da malha original.
2. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que a informação é uma ou maiscurvas de controle 2-D derivadas a partir de uma ou maisrespectivas curvas de controle 3-D especificadas com respei-to à malha original.
3. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que a informação é uma ou maisnovas curvas de controle 2-D especificadas por um usuáriopara representar a deformação da malha original.
4. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que deformar a malha original éindependente de solidamente entrelaçar o interior da super-fície da malha original.
5. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o operador volumétrico dife-rencial é um Laplaciano do gráfico volumétrico.
6. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o operador volumétrico dife-rencial é um Laplaciano do gráfico volumétrico, o Laplacianodo gráfico volumétrico codificando os detalhes volumétricosda malha original como uma diferença volumétrica entre cadaponto dos vários pontos em um gráfico volumétrico e uma mé-dia volumétrica de vizinhos de cada ponto.
7. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o operador volumétrico dife-rencial é um Laplaciano do gráfico volumétrico, o Laplacianodo gráfico volumétrico codificando os detalhes volumétricospara impor restrições volumétricas que impedem alteraçõesnão naturais no volume quando deformando a malha original,os detalhes volumétricos incluindo pontos fora da malha ori-ginal e uma estrutura de treliça simples de pontos dentro damalha original.
8. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o método adicionalmente compreende:permitir a um usuário especificar uma ou mais cur-vas de controle 3-D na superfície da malha original;apresentar uma respectiva curva de controle 2-Dpara o usuário correspondendo a pelo menos uma ou mais cur-vas de controle 3-D; epermitir ao usuário modificar a curva de controle 2-D para especificar o movimento de um conjunto de pontosassociados com a curva de controle 2-D em resposta à defor-mação.
9. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o método adicionalmente com-preende gerar o gráfico volumétrico por:criar estruturas de gráfico interno e externo, aestrutura de gráfico interno sendo uma primeira treliçaconstruída para se situar dentro da malha original, a estru-tura de gráfico externo sendo uma segunda treliça construídapara se situar fora da malha original;construir uma conexão entre a estrutura de gráficointerno e a malha original; econectar detalhes da estrutura de gráfico externocom a malha original.
10. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o método adicionalmente com-preende gerar o gráfico volumétrico por:criar estruturas de gráfico interno e externo, aestrutura de gráfico interno sendo uma primeira treliçaconstruída para se situar dentro da malha original, a estru-tura de gráfico externo sendo uma segunda treliça para sesituar fora da malha original;impedir grandes alterações de volume durante asoperações de deformação ampla de malha associadas com a ma-lha original utilizando informação baseada na estrutura degráfico interno; eprevenir auto-interseção local de vértices duranteas operações de deformação ampla de malha associada com amalha original baseado na informação baseada na estrutura degráfico externo.
11. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que deformar a malha original a-dicionalmente compreende equilibrar a preservação de deta-lhes originais da superfície associados com a malha origi-nal, as localizações de deformação escolhidas por um usuá-rio, e a preservação dos detalhes volumétricos especificadospor um Laplaciano do gráfico volumétrico.
12. Método implementado por computador,CARACTERIZADO por compreender:apresentar uma interface com o usuário para um u-suário, a interface com o usuário exibindo uma malha 3-D;permitir ao usuário especificar uma curva de con-trole 3-D com respeito à malha 3-D;projetar a curva de controle 3-D sobre ura planocomo uma curva de controle 2-D;permitir ao usuário editar a curva de controle 2-Dpara criar uma curva de controle modificada que especificadeformação almejada da malha 3-D; edeformar a malha 3-D baseado em um Laplaciano degráfico volumétrico derivado a partir da malha 3-D e na cur-va de controle modificada.
13. Método, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que permitir ao usuário editar acurva de controle 2-D adicionalmente compreende apresentarao usuário uma oportunidade de criar uma nova curva, a novacurva sendo a curva de controle modificada.
14. Método, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que permitir ao usuário editar acurva de controle 2-D adicionalmente compreende apresentaros pontos de controle B-Spline na curva de controle 2-D, ospontos de controle B-Spline podendo ser selecionados paramanipular o formato e o tamanho da curva de controle 2-D.
15. Método, de acordo com a reivindicação 12,CARACTERIZADO pelo fato e que deformar a malha 3-D adicio-nalmente compreende:criar um gráfico volumétrico baseado nos vérticesda malha 3-D, o gráfico volumétrico compreendendo uma treli-ça simples de vértices dentro de uma superfície associadacom a malha 3-D e vértices fora da superfície; edeterminar um Laplaciano do gráfico volumétricopara codificar os detalhes volumétricos como uma diferençaentre cada ponto dos vários pontos no gráfico volumétrico euma média dos pontos vizinhos ao ponto.
16. Método, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que deformar a malha 3-D adicio-nalmente compreende impedir a ampla mudança de volume duran-te a deformação ampla de malha da malha original usando in-formação a partir de uma treliça simples formada dentro damalha 3-D.
17. Método, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que deformar a malha 3-D adicio-nalmente compreende impedir auto-interseções de volume du-rante a deformação ampla de malha da malha 3-D utilizandoinformação a partir de um gráfico gerado fora de uma super-fície da malha 3-D.
18. Método, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que deformar a malha 3-D adicio-nalmente compreende equilibrar a preservação dos detalhesoriginais da superfície associados com a malha 3-D, as loca-lizações de deformação escolhidas por um usuário, e a pre-servação dos detalhes volumétricos especificados pelo Lapla-ciano de gráfico volumétrico.
19. Método, de acordo com a reivindicação 12,CARACTERIZADO adicionalmente por compreender:criar uma estrutura de gráfico de treliça simplesdentro da malha 3-D utilizando envelopes de simplificaçãopara repetidamente deslocar cada vértice dentre vários vér-tices da malha original na direção oposta à normal do vértice;gerar um gráfico externo por repetidamente deslo-car cada vértice da malha original para o exterior de umasuperfície correspondendo à malha original, o gráfico exter-no compreendendo vértices fora da malha 3-D;construir conexões entre os gráficos interno e ex-terno e a malha original para criar um gráfico volumétrico.
20. Método, de acordo com a reivindicação 19,CARACTERIZADO adicionalmente por compreender simplificar ográfico volumétrico utilizando operações de desmoronamento ede suavização de borda.
BRPI0612280-9A 2005-06-22 2006-06-22 deformação ampla de malha utilizando laplaciano de gráfico volumétrico BRPI0612280A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/158.428 2005-06-22
US11/158,428 US7286127B2 (en) 2005-06-22 2005-06-22 Large mesh deformation using the volumetric graph Laplacian
PCT/US2006/024562 WO2007002453A2 (en) 2005-06-22 2006-06-22 Large mesh deformation using the volumetric graph laplacian

Publications (1)

Publication Number Publication Date
BRPI0612280A2 true BRPI0612280A2 (pt) 2010-11-03

Family

ID=37566764

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0612280-9A BRPI0612280A2 (pt) 2005-06-22 2006-06-22 deformação ampla de malha utilizando laplaciano de gráfico volumétrico

Country Status (14)

Country Link
US (1) US7286127B2 (pt)
EP (1) EP1897062A4 (pt)
JP (2) JP5242386B2 (pt)
KR (1) KR20080034420A (pt)
CN (1) CN101203861B (pt)
AU (1) AU2006262013A1 (pt)
BR (1) BRPI0612280A2 (pt)
CA (1) CA2606794C (pt)
IL (1) IL186858A (pt)
MX (1) MX2007014662A (pt)
NO (1) NO20075645L (pt)
RU (1) RU2413996C2 (pt)
WO (1) WO2007002453A2 (pt)
ZA (1) ZA200709247B (pt)

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11026768B2 (en) 1998-10-08 2021-06-08 Align Technology, Inc. Dental appliance reinforcement
US9492245B2 (en) 2004-02-27 2016-11-15 Align Technology, Inc. Method and system for providing dynamic orthodontic assessment and treatment profiles
JP4613313B2 (ja) * 2005-04-01 2011-01-19 国立大学法人 東京大学 画像処理システムおよび画像処理プログラム
US7286127B2 (en) * 2005-06-22 2007-10-23 Microsoft Corporation Large mesh deformation using the volumetric graph Laplacian
US7545379B2 (en) * 2005-10-28 2009-06-09 Dreamworks Animation Llc Artist directed volume preserving deformation and collision resolution for animation
US8180605B1 (en) * 2005-11-23 2012-05-15 Livermore Software Technology Corporation Methods and systems for creating a smooth contact-impact interface in finite element analysis
GB2450260B (en) 2006-01-25 2011-09-14 Pixar Techniques for interior coordinates
US7920140B2 (en) * 2006-03-29 2011-04-05 Autodesk, Inc. System for controlling deformation
US8749543B2 (en) * 2006-08-15 2014-06-10 Microsoft Corporation Three dimensional polygon mesh deformation using subspace energy projection
US7843467B2 (en) * 2006-12-18 2010-11-30 Microsoft Corporation Shape deformation
US7952595B2 (en) * 2007-02-13 2011-05-31 Technische Universität München Image deformation using physical models
EP1990607A1 (de) * 2007-05-10 2008-11-12 Leica Geosystems AG Positionsbestimmungsverfahren für ein geodätisches Vermessungsgerät
US7878805B2 (en) 2007-05-25 2011-02-01 Align Technology, Inc. Tabbed dental appliance
US7868885B2 (en) * 2007-06-22 2011-01-11 Microsoft Corporation Direct manipulation of subdivision surfaces using a graphics processing unit
US7843456B2 (en) * 2007-06-29 2010-11-30 Microsoft Corporation Gradient domain editing of animated meshes
US8738394B2 (en) 2007-11-08 2014-05-27 Eric E. Kuo Clinical data file
US8108189B2 (en) * 2008-03-25 2012-01-31 Align Technologies, Inc. Reconstruction of non-visible part of tooth
US8112254B1 (en) * 2008-05-01 2012-02-07 Lucasfilm Entertainment Company Ltd. Transferring surface attributes across geometric models
US8092215B2 (en) 2008-05-23 2012-01-10 Align Technology, Inc. Smile designer
US9492243B2 (en) 2008-05-23 2016-11-15 Align Technology, Inc. Dental implant positioning
US8172569B2 (en) 2008-06-12 2012-05-08 Align Technology, Inc. Dental appliance
US8525871B2 (en) * 2008-08-08 2013-09-03 Adobe Systems Incorporated Content-aware wide-angle images
US8300052B1 (en) * 2008-09-24 2012-10-30 Autodesk, Inc. Application of bevel curves to splines
US8152518B2 (en) 2008-10-08 2012-04-10 Align Technology, Inc. Dental positioning appliance having metallic portion
US8292617B2 (en) 2009-03-19 2012-10-23 Align Technology, Inc. Dental wire attachment
RU2523915C2 (ru) * 2009-04-03 2014-07-27 Конинклейке Филипс Электроникс Н.В. Система и способ интерактивной live-mesh-сегментации
US8765031B2 (en) 2009-08-13 2014-07-01 Align Technology, Inc. Method of forming a dental appliance
KR20110024053A (ko) * 2009-09-01 2011-03-09 삼성전자주식회사 3d 오브젝트 변형 장치 및 방법
JP5357685B2 (ja) * 2009-09-28 2013-12-04 株式会社ソニー・コンピュータエンタテインメント 3次元オブジェクト処理装置、3次元オブジェクト処理方法、プログラム、及び情報記憶媒体
US9117312B2 (en) * 2009-10-08 2015-08-25 Sony Corporation System and method for preventing pinches and tangles in animated cloth
CA2782465C (en) * 2009-12-02 2018-03-20 Zymeworks Inc. Combined on-lattice/off-lattice optimization method for rigid body docking
US9241774B2 (en) 2010-04-30 2016-01-26 Align Technology, Inc. Patterned dental positioning appliance
US9211166B2 (en) 2010-04-30 2015-12-15 Align Technology, Inc. Individualized orthodontic treatment index
CN101833790B (zh) * 2010-04-30 2012-05-23 浙江大学 一种基于波动方程的各向异性的四边形网格生成方法
JP2012116074A (ja) 2010-11-30 2012-06-21 Kyocera Document Solutions Inc 画像形成装置及び画像形成システム
CN102236913A (zh) * 2011-04-15 2011-11-09 杭州普乐信信息技术有限公司 一种体网格变形方法
CN102163340A (zh) * 2011-04-18 2011-08-24 宁波万里电子科技有限公司 计算机***中实现三维动态几何图形数据信息标注的方法
KR101819535B1 (ko) * 2011-06-30 2018-01-17 삼성전자주식회사 표정 제어점에 기초한 강체 영역의 표현 방법 및 장치
US9403238B2 (en) 2011-09-21 2016-08-02 Align Technology, Inc. Laser cutting
US20130141433A1 (en) * 2011-12-02 2013-06-06 Per Astrand Methods, Systems and Computer Program Products for Creating Three Dimensional Meshes from Two Dimensional Images
US9375300B2 (en) 2012-02-02 2016-06-28 Align Technology, Inc. Identifying forces on a tooth
US9220580B2 (en) 2012-03-01 2015-12-29 Align Technology, Inc. Determining a dental treatment difficulty
US9830743B2 (en) * 2012-04-03 2017-11-28 Autodesk, Inc. Volume-preserving smoothing brush
KR101558246B1 (ko) 2012-05-10 2015-10-19 광주과학기술원 이식체 시뮬레이션을 위한 3차원 매시 생성 방법
US10424112B2 (en) 2012-05-14 2019-09-24 Autodesk, Inc. Mesh boundary smoothing
US9414897B2 (en) 2012-05-22 2016-08-16 Align Technology, Inc. Adjustment of tooth position in a virtual dental model
US9639981B1 (en) * 2012-06-26 2017-05-02 Pixar Tetrahedral Shell Generation
US9536338B2 (en) * 2012-07-31 2017-01-03 Microsoft Technology Licensing, Llc Animating objects using the human body
US20150030231A1 (en) 2013-07-23 2015-01-29 Mitsubishi Electric Research Laboratories, Inc. Method for Data Segmentation using Laplacian Graphs
US20150032420A1 (en) * 2013-07-25 2015-01-29 Ansys, Inc. Systems and Methods for Creating Engineering Models
US9142022B2 (en) * 2013-10-11 2015-09-22 Intel Corporation 3D object tracking
US9483878B2 (en) * 2013-11-27 2016-11-01 Disney Enterprises, Inc. Contextual editing using variable offset surfaces
US9344733B2 (en) 2013-12-27 2016-05-17 Samsung Electronics Co., Ltd. Feature-based cloud computing architecture for physics engine
JP2015184875A (ja) * 2014-03-24 2015-10-22 株式会社東芝 データ処理装置及びデータ処理プログラム
CN103942836B (zh) * 2014-04-25 2016-09-28 杭州梅德珥智能科技有限公司 三维网格模型四面体化方法
US9483879B2 (en) * 2014-09-18 2016-11-01 Microsoft Technology Licensing, Llc Using free-form deformations in surface reconstruction
US10449016B2 (en) 2014-09-19 2019-10-22 Align Technology, Inc. Arch adjustment appliance
US9610141B2 (en) 2014-09-19 2017-04-04 Align Technology, Inc. Arch expanding appliance
US9744001B2 (en) 2014-11-13 2017-08-29 Align Technology, Inc. Dental appliance with cavity for an unerupted or erupting tooth
US10504386B2 (en) 2015-01-27 2019-12-10 Align Technology, Inc. Training method and system for oral-cavity-imaging-and-modeling equipment
US9858700B2 (en) * 2015-05-13 2018-01-02 Lucasfilm Entertainment Company Ltd. Animation data transfer between geometric models and associated animation models
US11931222B2 (en) 2015-11-12 2024-03-19 Align Technology, Inc. Dental attachment formation structures
US11554000B2 (en) 2015-11-12 2023-01-17 Align Technology, Inc. Dental attachment formation structure
US20170140505A1 (en) * 2015-11-13 2017-05-18 Microsoft Technology Licensing, Llc. Shape interpolation using a polar inset morphing grid
US11596502B2 (en) 2015-12-09 2023-03-07 Align Technology, Inc. Dental attachment placement structure
US11103330B2 (en) 2015-12-09 2021-08-31 Align Technology, Inc. Dental attachment placement structure
US10274935B2 (en) 2016-01-15 2019-04-30 Honeywell Federal Manufacturing & Technologies, Llc System, method, and computer program for creating geometry-compliant lattice structures
EP3200160B1 (en) * 2016-01-29 2018-12-19 Dassault Systèmes Computer implemented method for designing a three-dimensional modeled object comprising a curve and a point placed on the curve
EP3471653B1 (en) 2016-06-17 2021-12-22 Align Technology, Inc. Orthodontic appliance performance monitor
EP3471599A4 (en) 2016-06-17 2020-01-08 Align Technology, Inc. INTRAORAL DEVICES WITH SENSOR
CN113499159B (zh) 2016-07-27 2023-02-03 阿莱恩技术有限公司 具有牙科诊断能力的口内扫描仪
US10453253B2 (en) * 2016-11-01 2019-10-22 Dg Holdings, Inc. Virtual asset map and index generation systems and methods
CN117257492A (zh) 2016-11-04 2023-12-22 阿莱恩技术有限公司 用于牙齿图像的方法和装置
WO2018102702A1 (en) 2016-12-02 2018-06-07 Align Technology, Inc. Dental appliance features for speech enhancement
EP3824843A1 (en) 2016-12-02 2021-05-26 Align Technology, Inc. Palatal expanders and methods of expanding a palate
CA3043049A1 (en) 2016-12-02 2018-06-07 Align Technology, Inc. Methods and apparatuses for customizing rapid palatal expanders using digital models
US11376101B2 (en) 2016-12-02 2022-07-05 Align Technology, Inc. Force control, stop mechanism, regulating structure of removable arch adjustment appliance
US10548700B2 (en) 2016-12-16 2020-02-04 Align Technology, Inc. Dental appliance etch template
US10779718B2 (en) 2017-02-13 2020-09-22 Align Technology, Inc. Cheek retractor and mobile device holder
US10613515B2 (en) 2017-03-31 2020-04-07 Align Technology, Inc. Orthodontic appliances including at least partially un-erupted teeth and method of forming them
CN107067476A (zh) * 2017-05-11 2017-08-18 重庆市劢齐医疗科技有限责任公司 一种基于高阶拉普拉斯算子的快速网格补洞方法
US11045283B2 (en) 2017-06-09 2021-06-29 Align Technology, Inc. Palatal expander with skeletal anchorage devices
WO2018232299A1 (en) 2017-06-16 2018-12-20 Align Technology, Inc. Automatic detection of tooth type and eruption status
US10639134B2 (en) 2017-06-26 2020-05-05 Align Technology, Inc. Biosensor performance indicator for intraoral appliances
US10885521B2 (en) 2017-07-17 2021-01-05 Align Technology, Inc. Method and apparatuses for interactive ordering of dental aligners
WO2019018784A1 (en) 2017-07-21 2019-01-24 Align Technology, Inc. ANCHOR OF CONTOUR PALATIN
CN115462921A (zh) 2017-07-27 2022-12-13 阿莱恩技术有限公司 牙齿着色、透明度和上釉
CN110996836B (zh) 2017-07-27 2023-04-11 阿莱恩技术有限公司 用于通过光学相干断层扫描术来处理正畸矫正器的***和方法
US11116605B2 (en) 2017-08-15 2021-09-14 Align Technology, Inc. Buccal corridor assessment and computation
US11123156B2 (en) 2017-08-17 2021-09-21 Align Technology, Inc. Dental appliance compliance monitoring
US10813720B2 (en) 2017-10-05 2020-10-27 Align Technology, Inc. Interproximal reduction templates
EP3700458B1 (en) 2017-10-27 2023-06-07 Align Technology, Inc. Alternative bite adjustment structures
WO2019089773A1 (en) 2017-10-31 2019-05-09 Align Technology, Inc. Dental appliance having selective occlusal loading and controlled intercuspation
WO2019089989A2 (en) 2017-11-01 2019-05-09 Align Technology, Inc. Automatic treatment planning
US11534974B2 (en) 2017-11-17 2022-12-27 Align Technology, Inc. Customized fabrication of orthodontic retainers based on patient anatomy
EP3716885B1 (en) 2017-11-30 2023-08-30 Align Technology, Inc. Orthodontic intraoral appliances comprising sensors
WO2019118876A1 (en) 2017-12-15 2019-06-20 Align Technology, Inc. Closed loop adaptive orthodontic treatment methods and apparatuses
US10980613B2 (en) 2017-12-29 2021-04-20 Align Technology, Inc. Augmented reality enhancements for dental practitioners
EP3743010B1 (en) 2018-01-26 2022-01-12 Align Technology, Inc. Diagnostic intraoral scanning and tracking
US11937991B2 (en) 2018-03-27 2024-03-26 Align Technology, Inc. Dental attachment placement structure
CN116211501A (zh) 2018-04-11 2023-06-06 阿莱恩技术有限公司 腭扩张器、腭扩张器设备及***、腭扩张器的形成方法
CN109147061B (zh) * 2018-07-20 2022-04-01 清华大学 一种对体数据的分割结果进行人机交互编辑的方法
US10706500B2 (en) * 2018-09-25 2020-07-07 Adobe Inc. Generating enhanced digital content using piecewise parametric patch deformations
US10628918B2 (en) 2018-09-25 2020-04-21 Adobe Inc. Generating enhanced digital content using piecewise parametric patch deformations
US10832376B2 (en) 2018-09-25 2020-11-10 Adobe Inc. Generating enhanced digital content using piecewise parametric patch deformations
CN109523634B (zh) * 2018-09-30 2024-04-19 先临三维科技股份有限公司 优化网格的方法及装置
US10643365B1 (en) * 2018-11-20 2020-05-05 Adobe Inc. Deformation mesh control for a computer animated artwork
CN110120069B (zh) * 2019-03-26 2023-05-23 深圳大学 基于拉普拉斯算子的三角网格滤波方法及终端设备
US20230409643A1 (en) * 2022-06-17 2023-12-21 Raytheon Company Decentralized graph clustering using the schrodinger equation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6069634A (en) * 1997-01-08 2000-05-30 Mitsubishi Electric Information Technology Center America, Inl System for rapidly deforming a graphical object
US6987511B2 (en) * 2002-10-17 2006-01-17 International Business Machines Corporation Linear anisotrophic mesh filtering
JP4346938B2 (ja) * 2003-04-09 2009-10-21 キヤノン株式会社 画像処理装置、方法、プログラム及び記憶媒体
US7286127B2 (en) * 2005-06-22 2007-10-23 Microsoft Corporation Large mesh deformation using the volumetric graph Laplacian

Also Published As

Publication number Publication date
JP2008544413A (ja) 2008-12-04
US20060290693A1 (en) 2006-12-28
CN101203861A (zh) 2008-06-18
MX2007014662A (es) 2008-01-24
JP5432328B2 (ja) 2014-03-05
EP1897062A2 (en) 2008-03-12
CA2606794C (en) 2014-02-18
JP2012178176A (ja) 2012-09-13
AU2006262013A1 (en) 2007-01-04
NO20075645L (no) 2008-03-17
EP1897062A4 (en) 2017-01-25
RU2413996C2 (ru) 2011-03-10
US7286127B2 (en) 2007-10-23
JP5242386B2 (ja) 2013-07-24
WO2007002453A2 (en) 2007-01-04
IL186858A0 (en) 2008-02-09
WO2007002453A3 (en) 2007-04-19
RU2007147846A (ru) 2009-06-27
CN101203861B (zh) 2010-10-27
CA2606794A1 (en) 2007-01-04
KR20080034420A (ko) 2008-04-21
ZA200709247B (en) 2009-04-29
IL186858A (en) 2011-08-31

Similar Documents

Publication Publication Date Title
BRPI0612280A2 (pt) deformação ampla de malha utilizando laplaciano de gráfico volumétrico
Gain et al. A survey of spatial deformation from a user-centered perspective
Milliron et al. A framework for geometric warps and deformations
US7307633B2 (en) Statistical dynamic collisions method and apparatus utilizing skin collision points to create a skin collision response
JP4783586B2 (ja) スペクトル分析を用いたメッシュパラメータ化による伸縮について
US20040227761A1 (en) Statistical dynamic modeling method and apparatus
Beirão da Veiga et al. A posteriori error estimation and adaptivity in hp virtual elements
US6603473B1 (en) Detail data pertaining to the shape of an object surface and related methods and systems
Boyé et al. A vectorial solver for free-form vector gradients
US7023435B1 (en) Object surface representation and related methods and systems
Zhang et al. Proxy-driven free-form deformation by topology-adjustable control lattice
Dym et al. Homotopic morphing of planar curves
Gatto et al. Construction of H1-conforming hierarchical shape functions for elements of all shapes and transfinite interpolation
Bischoff et al. Teaching meshes, subdivision and multiresolution techniques
McDonnell et al. PB-FFD: a point-based technique for free-form deformation
JP2004102834A (ja) 三角形メッシュのデータ構造、三角形メッシュデータ圧縮方法および伸張方法、プログラム、記録媒体およびシステム
Angelidis et al. Sweepers: Swept deformation defined by gesture
US6920415B1 (en) Method of trimming a representation of an object surface comprising a mesh of tessellated polygons and related system
Gregory et al. Feature-based surface decomposition for polyhedral morphing
Toothman Expressive Skinning Methods for 3D Character Animation
Sheng et al. Sketch-based design for green geometry and image deformation
Packer Focus+ context via snaking paths
Mancinelli et al. Splines on Manifolds: a Survey
Parra Oyarce Study and evaluation of algorithms to generate polygon meshes
Anjyo et al. Parametrizing 3D Positive Affine Transformations

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE AS 5A E 6A ANUIDADES.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: NAO APRESENTADA A GUIA DE CUMPRIMENTO DE EXIGENCIA. REFERENTE AS 5A E 6A ANUIDADES.