BR112012007559A2 - otimização de geometria dependente de conectividade para renderização em tempo real - Google Patents

otimização de geometria dependente de conectividade para renderização em tempo real Download PDF

Info

Publication number
BR112012007559A2
BR112012007559A2 BR112012007559-4A BR112012007559A BR112012007559A2 BR 112012007559 A2 BR112012007559 A2 BR 112012007559A2 BR 112012007559 A BR112012007559 A BR 112012007559A BR 112012007559 A2 BR112012007559 A2 BR 112012007559A2
Authority
BR
Brazil
Prior art keywords
component
computer
components
zones
connection
Prior art date
Application number
BR112012007559-4A
Other languages
English (en)
Other versions
BR112012007559B1 (pt
Inventor
Tue Jakobsen
Jesper Martin Erstvang
Jakob Sprogoe Jakobsen
Original Assignee
Lego A/S
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 Lego A/S filed Critical Lego A/S
Publication of BR112012007559A2 publication Critical patent/BR112012007559A2/pt
Publication of BR112012007559B1 publication Critical patent/BR112012007559B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

OTIMIZAÇÃO DE GEOMETRIA DEPENDENTE DE CONECTIVIDADE PARA RENDERIZAÇÃO EM TEMPO REAL. A presente invenção refere-se a um método implementado por computador para visualizar/renderizar um modelo de computador, o modelo de computador compreendendo uma pluralidade de componentes, em que o método compreende: armazenar uma pluralidade de peças de pelo menos um de uma pluralidade de componentes, cada peça incluindo informação de geometria para visualizar/renderizar a peça, armazenar informação indicativa de posição e orientação de uma pluralidade de componentes em um sistema de coordenadas, determinar uma relação espacial entre os componentes individuais, determinar para o pelo menos um componente um número de peças armazenadas para uso para visualizar/renderizar o componente, baseado na relação espacial determinada entre os componentes individuais. Usando a relação espacial entre os componentes para determinar o número de peças para uso para visualizar/renderizar um componente, o conhecimento sobre a geometria de componentes individuais e as conexões dos componentes com outros componentes pode ser usado para encontrar as peças ocultas que podem ser removidas.

Description

m
Relatório Descritivo da Patente de lnvenção para "OTIMIZAÇÃO
- DE GEOMETRIA DEPENDENTE DE CONECTIVIDADE PARA RENDERI- ZAÇÃO EM TEMPO REAL". . Campo da lnvenção
- 5 A presente invenção refere-se a um método para visuali- zar/renderizar um modelo de computador.
Especificamente, a invenção refe- re-se a um método de computação eficaz par visualizar/renderizar um mode- lo de computador.
Antecedentes da Invenção 10 Gráficos de computador 3D são usados e uma ampla faixa de campos tais como projetos auxiliados por computador (CAD) e jogos de ^ computador.
Os gráficos de computador 3D podem ser usados para gerar " vistas em perspectiva de modelos 3D.
Isto pode ser usado em um processo de projeto como é o caso com CAD ou para fins de entretenimento como é 15 o caso com jogos de computador.
Um problema comum voltado para gráficos de computador 3D são os grandes recursos de computação necessários.
Este é especificamente um problema para gráficos de compu- tador 3D em tempo real, uma vez que a falta de recursos de computação resultará em uma taxa de quadro diminuída com uma experiência do 20 usuário diminuída.
A pesquisa intensiva em computação é igualada por um aumento análogo na complexidade dos modelos de computador.
Isto é tan- to o caso para CAD, onde grandes estruturas são projetadas, bem como jogos de computador, onde um nível de detalhe aumentado resulta em 25 modelos mais complexos.
Um grupo comum de objetos para representar com gráficos de computador 3D são os produtos compósitos.
Produtos compósitos são os produtos compreendidos de um número de componen- tes físicos menores.
Exemplos de produtos compósitos compreendendo um grande 30 número de componentes incluem máquinas grandes, carros, aviões e outros veículos. edifícios, bem como os produtos que são vendidos e transportados desmontados, tais como mobílias, modelos de brinquedo, etc.
Um exemplo particular de produtos que são compostos de um grande número de compo-
. nentes menores inclui conjuntos de construção de brinquedo incluindo uma pluralidade de elementos de construção de brinquedo interconectáveis. ^ Existem vários tipos conhecidos de conceitos de modelagem de
. 5 tais conjuntos de construção de brinquedo.
Os conceitos especialmente mo- dulados e semimodulados são muito populares na medida em que eles pro- veem uma experiência de brincadeira interessante e desafiadora.
Tipicamen- te, estes conceitos proveem um conjunto de elementos de construção pré- fabricados que podem ser interconectados um com os outros de alguma 10 forma predeterminada por meio de elementos de conexão ou outros meios de acoplamento dos elementos pré-fabricados.
Os elementos de construção » pré-fabricados podem assemelhar-se a objetos bem conhecidos adaptados " para uma tarefa de modelagem específica.
Assim, por exemplo, na constru- ção de um modelo de uma casa, os elementos de construção podem asse- 15 melhar-se a tijolos de parede, telhas de telhado, portas e janelas.
Uma van- tagem de selecionar os elementos de construção deste modo é que o jogo é coIocado dentro do sistema e o trabalho envolvido com a construção de um modelo de uma casa é reduzido significativamente comparado a uma situa- ção onde todos qs detalhes da casa devem ser definidos cada vez que Llm 20 novo modelo deve ser feito.
No entanto, a Iiberdade completa na construção de uma casa ou outro objeto é trocada para simplicidade de construção do modelo.
Por exemplo, os conjuntos de construção de brinquedo, disponí- veis sob o nome LEGO, compreendem uma pluraiidade de tipos diferentes 25 de elementos de constmção interconectáveis tendo protrusões e cavidades correspondentes como elementos de conexão.
Os elementos de conexão são dispostos de acordo com os padrões de grade regulares, deste modo permitindo uma ampla variedade de interconexões entre os elementos de construção. 30 Um modo conhecido de reduzir a carga de computação neces- sária para visualizar/renderizar um modelo de computador é a escolha de obstrução.
A escolha de obstrução trabalha descobrindo as faces ocultas de uma dada perspectiva de visualização.
Algoritmos de escolha de obstrução
. conhecidos, no entanto, são lentos e precisam ser executados sempre que a visão muda. lsto é especialmente um problema para projeto auxiliado por computador e jogos de computador uma vez que a visão neste aplicativo 5 moda tipicamente frequentemente resultando em uma carga de computação grande causada pelo algoritmo de escolha de obstrução.
Permanece, assim, um problema visualizar/renderizar produtos compósitos de um modo computacionalmente eficaz.
Sumário 10 Um primeiro aspecto da invenção refere-se a um método imple- mentado por computador para visualizar/renderizar um modelo de computa- - dor, o modelo de computador compreendendo uma pluralidade de compo-
" nentes em que o método compreende: - armazenar uma pIuralidade de peças de pelo menos uma da 15 pluralidade de componentes, cada peça incluindo informação de geometria para visualizar/renderizar a peça, - armazenar a informação indicativa de respectivas posições e orientações de uma pluralidade de componentes em um sistema de coorde- nadas, 20 - determinar uma relação espacial entre aqueles individuais dos componentes baseados na informação armazenada indicativa das respecti- vas posições e orientações da pluralidade de componentes, - determinar, para pelo menos um componente e baseado na re- lação espacial determinada entre os componentes individuais, um número 25 de peças armazenadas a ser usadas para visualizar/renderizar dito compo- nente.
O modelo de computador pode representar qualquer objeto tal como um produto compósito, por exemplo, um modelo de brinquedo ou, al- ternativamente, um produto não compósito, por exemplo, um caractere digi- 30 tal.
O modelo de computador pode ter quaisquer dimensões tais como bidi- mensionais ou tridimensionais.
O modelo de computador pode ainda ser a- nimado ao longo do tempo.
A animação do modelo de computador pode en-
volver o modelo completo ou os componentes selecionados do modelo. Um . componente pode ser qualquer subgrupo do modelo tal como um elemento de construção de brinquedo quando o modelo de computador representa um . modelo de brinquedo construido de elementos de construção de brinquedo . 5 ou, alternativamente, um grupo de faces de um elemento de construção de brinquedo. Uma peça pode ser qualquer subgrupo de um componente tal como um cilindro saliente sobre um elemento de construção de brinquedo ou, alternativamente, um grupo de faces de um cilindro saliente. Em uma modalidade, os subgrupos são subgrupos apropriados 10 significando que um componente não pode ser o modelo completo, e uma
W peça não pode ser o componente completo. Em uma modalidade, os subgrupos não são restritos para serem " subgrupos apropriados significando que um componente pode ser o modelo completo, e uma peça pode ser o componente completo. 15 Uma peça pode compreender a informação de geometria, defi- nindo a geometria da peça. A informação de geometria pode ser armazena- da em qualquer formato taj como uma malha poligonal, superfícies NURBS ou superfícies Patch. A peça pode compreender ainda as propriedades do material da peça tais como propriedades de textura, propriedades de refle- 20 xão, propriedades de refração, ajustes de transparência e propriedades de sombreamento. A informação indicativa da posição e orientação de um compo- nente pode ser a posição e orientação do componente em qualquer informa- ção global ou local de sistemas de coordenadas descrevendo sua posição 25 em uma relação a outro modelo, componente, peça ou semelhante, por e- xemplo, como descrito em WO04034333. O número de peças para uso na visualização/renderização de um componente pode ser qualquer número incluindo os casos especiais quando todas as peças do componente são usadas e quando nenhuma peça 30 é usada. O resultado de visualizar/renderizar um modelo de computador pode ser a criação de uma imagem ou uma série de imagens. A(s) ima-
gem(ns) pode(m) ser bidimensionais.
A(s) imagem(ns) pode(m) ser mostra-
. das diretamente em uma tele e/ou salvadas em um arquivo digital.
Subdividindo os componentes em uma pluralidade de peças e . usando a relação espacial entre os componentes para determinar o núrnero
. 5 de peças a usar para visualizar/renderizar um componente, o conhecimento sobre a geometria de componentes individuais e as conexões dos compo- nentes com outros componentes podem ser usadas para encontrar as peças ocultas que podem ser removidas sem ter impacto visual sobre o modelo. lsto torna possÍvel encontrar peças ocultas sem usar algoritmos 10 de rastreamento de raios computacionalmente complexos, deste modo tor- nando o método apropriado para uso em tempo real.
Usando a relação espa- . cial entre os componentes individuais e não a relação espacial entre a câmera
" virtual e os componentes como é o caso em algoritmos de escolha de obstru- ção padrão, uma otimização independente da visão é obtida. lsto salva os 15 recursos de computação quando o método precisa somente ser reexecutado quando mudanças estruturais ocorrem no modelo compósito, por exemplo, um novo componente é adicionado ou um componente existente é removido.
Mesmo quando a mudança estrutural ocorre, o método precisa somente ser reexecutado nos componentes que estão na proximidade da mudança. lsto 20 salva os recursos de comutação para otimização subsequente.
Dividindo os componentes em peças e armazenando as peças antes de realizar a otimização, quaisquer recursos de computação necessá- rios para dividir os componentes na etapa de otimização são salvos.
A sub- divisão dos componentes pode ser realizada usando um procedimento au- 25 tomático ou, alternativamente, manualmente.
Quando a subdivisão é reali- zada manualmente, uma habilidade humana pode ser usada para fazer a subdivisão usando o conhecimento sobre a geometria e/ou conexões dos componentes, deste modo possibilitando uma otimização eficaz.
Um segundo aspecto da invenção refere-se a um programa de 30 computador, em que o programa de computador compreende código de pro- grama de computador executável adaptado para fazer com que um sistema de processamento de dados realize:
pelo menos uma etapa do projeto compreendendo - prover uma ferramenta de construção implementada por com- . putador para permitir que um usuário selecione uma respectiva representa- ção digital de uma pluralidade de componentes de um repositório de compo- 5 nentes, onde cada componente é compreendido de uma pIuralidade de pe- ças, e dispor os componentes selecionados em uma relação espacial um com os outros de modo a gerar uma representação digital de um produto compósito, e outra etapa de processamento compreendendo 10 - gerar uma visualização/renderização de pelo menos uma por-
e ção do produto compósito em que a geração compreende: - armazenar uma pluralidade de peças de pelo menos um da
- pluralidade de componentes, cada peça incluindo informação de geometria para visualizar/renderizar a peça, 15 - armazenar informação indicativa da posição e orientação de uma pIuralidade de componentes em um sistema de coordenadas, - determinar uma relação espacial entre aqueles individuais dos componentes baseada na informação armazenada indicativa da posição e orientação da pluralidade de componentes, 20 - determinar para pelo menos um componente um número de peças armazenadas para uso na visualização/renderização de dito compo- nente, baseado na relação espacial determinada entre os componentes indi- viduais.
Em uma modalidade, o programa de computador é um programa 25 de computador de brinquedo para crianças.
A ferramenta de construção implementada por computador pode ser uma interface de usuário gráfica.
A tarefa de criar modelos digitais pode ser muito desafiadora.
Os limites físicos normais que existem no mundo real a pnori não estão presen- 30 tes em um ambiente digital.
As possibilidades infinitas tornam possível criar qualquer modelo, no entanto, torna a etapa de projeto muito desafiadora.
Uma habilidade chave para qualquer modelador digital é usar a quantidade m certa de detalhe nos pontos certos no modelo- lsto significa que além de ter
. que focalizar sobre a forma do modelo digital, um projetista digital também precisa estar Focalizado na estrutura subjacente do modelo, por exemplo, na quantidade de vértices usados em vários iugares. lsto é importante porque a
. 5 tarefa de modelagem é um processo interativo envolvendo tipicamente a visualização/renderização do modelo em tempo real contínua, perm itindo ao projetista digital inspecionar visualmente o modelo enquanto ele está sendo projetado.
Se o modelo tornar-se desnecessariamente complexo, a taxa de quadro da renderização do modelo em tempo real diminuirá tornando o outro 10 processo de projeto problemático.
Quando um usuário desse sistema é uma criança, torna-se im- w portante simplificar o projeto do projeto tanto quanto possível.
Ao fornecer à
- criança uma ferramenta de construção digital compreendendo um repositório de componentes e ainda simplificando automaticamente o modelo construí- 15 do usando a relação espacial entre os componentes, a complexidade do processo do projeto é grandemente reduzida. lsto permitirá à criança focali- zar exclusivamente sobre a tarefa de modelagem sem ter que se preocupar sobre aplicar a quantidade certa de complexidade nos pontos certos do mo- delo. lsto permitirá às crianças criar modelos de muito mais interessantes, 20 aumentando o valor do jogo do programa de computador do brinquedo, bem como permitindo às crianças mais jovens usar o programa de brinquedo.
Em uma modalidade, pelo menos um componente tem associa- do a ele pelo menos uma zona de conexão predeterminada, em que dita zo- na de conexão é indicativa de uma porção do componente que pode ser co- 25 nectada às zonas de conexão em componentes similares.
A zona de conexão pode ser qualquer zona predefinida em uma proximidade do componente.
Em uma modalidade, a zona de conexão é posicionada sobre a superfície do componente.
A zona de conexão pode corresponder a ou ser definida por uma ou mais peças do componente, por 30 exemplo, uma porção da superfície.
A zona de conexão pode ter qualquer forma tal como um plano ou uma seção de uma superfície pIana ou redon- da ou curvada.
A posição da zona de conexão pode ser definida em um sistema de coordenada global ou em relação ao componente.
Um compo- nente pode compreender qualquer número de zonas de conexão.
Múltiplos tipos de zonas de conexão podem existir.
Uma zona de conexão pode ser compatível com um número predeterminado de tipos de zonas de conexão,
. 5 por exemplo, uma zona de conexão de um componente representando um elemento de construção de brinquedo, ligado ao topo do componente, pode ser somente compatível com as zonas de conexão ligadas aos fundos dos componentes representando elementos de construção de brinquedo.
Em algumas modalidades, a informação indicativa da compatibilidade dos 10 respectivos tipos de zonas de conexão pode ser armazenada em uma es- trutura de dados apropriada, por exemplo, uma tabela, isto é, a informação « indicativa de se os respectivos tipos de zonas de conexão são conectáveis
- uns com os outros.
Por exemplo, a informação pode ser indicativa, para cada tipo determinado de zona de conexão, de que tipos de zonas de 15 conexão são conectáveis com o dito determinado tipo de zona de conexão.
Em uma modalidade, a estrutura de dados pode indicar para cada par de tipos de zonas de conexão se o par de tipos de zonas de conexão se com- pativel, incompatível ou indiferente- Quando um par de zonas de conexão é compatível, elas podem prover uma conexão entre dois componentes. 20 Quando um par de zonas de conexão é incompatível, elas previnem o posicionamento de dois componentes próximos um do outro.
Quando um par de zonas de conexão é indiferente, elas permitem o posicionamento de dois componentes próximos um do outro, sem prover atualmente uma co- nexão entre os componentes. 25 Ao prover os componentes com zonas de conexão predefinidas, a função de criar modelos a partir dos componentes é simplificada. lsto abai- xa os custos de produção de modelos em desenvolvimento se os modelos são usados para CAD, jogos de computador ou outros apiicativos.
Em uma modalidade da invenção, a etapa de determinar uma re- 30 lação espacial entre componentes individuais compreende a etapa de de- terminar a relação espacial de zonas de conexão dos componentes individu- ais.
Em uma modalidade da invenção, a etapa de determinar a rela-
. ção espacial entre zonas de conexão individuais compreende a etapa de determinar uma distância entre duas zonas de conexão. . A distância pode ser qualquer distância de norma tal como uma 5 distância euclidiana de norma 2. A distância pode ser uma distância entre dois pontos das zonas de conexão ou uma pluralidade de pontos nas zonas de conexão.
Em uma modalidade, a distância é definida como a distância mais próxima entre duas zonas de conexão.
Em uma modalidade, o proces- so determina duas zonas de conexão como estando conectadas quando sua 10 distância está dentro de uma faixa predefinida.
A determinação da relação espacial entre duas zonas de cone- . xão examinando sua distância é um método eficaz e de computação sim-
- ples. lsto diminuirá a necessidade de recursos de computação pelo método, deste modo diminuindo o número total de computações necessárias para 15 visualizar/renderizar um modelo.
Em uma modalidade, cada zona de conexão tem uma orientação associada com ela, e a etapa de determinar a relação espacial entre as zo- nas de conexão individuais compreende a etapa de determinar a orientação de uma zona de conexão com relação à outra. 20 Em uma modalidade, o processo determina duas zonas de conexão como estando conectadas quando elas têm uma orientação com relação uma à outra predeterminada, por exemplo, quando as zonas de conexão estão paralelas ou na proximidade de estarem paralelas uma à outra.
A relação espacial entre as zonas de conexão pode ser determinada 25 por uma combinação de uma distância entre as zonas de conexão e sua ori- entação relativa.
Duas zonas de conexão podem ser posicionadas próximas uma da outra sem estarem alinhadas, no entanto, usando adicionalmente a orien- tação relativa entre as zonas de conexão para determinar sua relação espa- 30 cial uma determinação mais precisa pode ser obtida.
Em algumas modalidades, o processo determina duas zonas de conexão como estando conectadas quando elas estão posicionadas em uma proximidade predeterminada uma à outra, e quando sua respectiva orienta-
. ção e tipos são compatíveis uns com os outros.
Em algumas modalidades, o processo determina uma primeira q peça como para não ser usada para visualizar/renderizar um componente
. 5 somente se o componente tem uma ou mais zonas de conexão associadas com dita primeira peça, cuja(s) zona(s) de conexão está/estão conectada(s) a outra zona de conexão de outro componente.
Otimizando somente os componentes que estão atualmente conectados, a reotimização pode ser impedida quando os componentes não 10 conectados são movidos com relação uns aos outros durante a animação. lsto diminuirá a necessidade de reotimização, resultando assim em uma k diminuição correspondente dos recursos de computação necessários para a
- otimização, como o caso em que os elementos de construção de brinquedo conectados são movidos com relação uns aos outros é muito menos prová- 15 vel do que para elementos de construção de brinquedo não conectados.
Em modalidades alternativas, o processo também determina uma primeira peça como para não ser usada para visualizar/renderizar um componente quando uma zona de conexão associada com a primeira peça está em uma proximidade predeterminada e/ou orientação relativa a uma 20 zona de conexão de outro componente, sem as conexões atualmente forne- cendo uma conexão entre os componentes, por exemplo, porque os tipos das duas zonas de conexão são indiferentes com respeito um ao outro.
Também a otimização dos componentes que não estão conec- tados, mais peças dos componentes podem ser otimizadas. lsto diminuirá os 25 recursos de computação necessários para visualizar/renderizar o modelo de computador, especialmente quando os componentes do modelo são esta- cionários.
Em uma modalidade, a determinando da relação espacial com- preende determinar se as zonas de conexão dos respectivos componentes 30 têm um tipo compatível que forneça/permite uma conexão.
Em uma modalidade, a etapa de determinação para que o pelo menos um componente, um número de peças para uso na visualiza-
ção/renderização de dito componente, menos peças são usadas quando
. pelo menos uma zona(s) de conexão de dito componente está conectada.
Em uma modalidade, o processo determina uma primeira peça « como para não ser usada para visualizar/renderizar um componente quando 5 pelo menos uma porção predeterminada da área de superfície da peça está coberta com uma ou mais peças quando visualizada a partir de qualquer direção externa da caixa de confinamento de dito modelo de computador.
A percentagem predefinida pode ser qualquer percentagem.
Preferivelmen- te, é 40$, mais preferivelmente é 70%, ainda mais preferivelmente é 90%. 10 A caixa de confinamento é a menor caixa que pode compreender o modelo completo.
Não usando as peças que es"tão cobertas com uma percentagem fÇ predefinida para visualizar/renderizar um determinado componente, qualquer
- impacto visual sobre o modelo da otimização pode ser limitado- lsto ainda provê um sistema flexível onde a comercialização entre o impacto visual e a 15 complexidade de computação podem ser controlados.
Em um dado aplicati- vo, tais como gráficos de computador em tempo real, pode ser útil priorizar um número baixo de computações, resultando em uma alta taxa de quadro, sobre a precisão visual do modelo, enquanto a precisão visual em outros aplicativos pode ser mais importante do que o número de computações. 20 Em uma modalidade da invenção, a etapa de determinação para o pelo menos um componente, um número de peças para uso na visualiza- ção/renderização de dito componente compreende ainda a etapa de deter- minar as propriedades de material de um componente, e baseada tanto na relação espacial determinada como nas propriedades de material, determi- 25 nar um número de peças para usar a visuaiizar/renderizar dito componente.
Em uma modalidade, a etapa de determinar as propriedades de material compreende a etapa de determinar os ajustes de transparência para um componente.
Os ajustes de transparência podem ser quaisquer ajustes referentes à transparência do componente o uma peça do componente.
A 30 transparência pode envolver o fenômeno de refração.
As peças de um com- ponente de um modelo que normalmente poderia estar ocultas podem ser visíveis se o componente ou outros componentes conectados ao componen-
te é transparente.
Usando tanto a relação espacial determinada como as
. propriedades de material, uma determinação mais precisa das peças ocultas pode ser obtida.
Em algumas modalidades, o modelo de computador representa 5 um produto compósito.
Em algumas modalidades, o modelo de computador representa um modelo de brinquedo construído a partir dos elementos de construção de brinquedo, onde cada componente do modelo de compu'tador corresponde a Llm elemento de construção de brinquedo.
Em algumas mo- dalidades, os elementos de construção de brinquedo têm meios de conexão 10 para conectar os mesmos com outros elementos de construção de brinque- do similares.
Os meios de conexão podem ter qualquer forma tal como re- . donda, ou retangular. % Em uma modalidade, uni primeiro componente compreende uma primeira zona de obstrução de um tipo predeterminado e um segundo com- 15 ponente compreende uma segunda zona de exclusão de um tipo predeter- minado, em que a relação espacial entre a primeira e a segunda zona de exclusão é usada para determinar uma porção do primeiro componente obs- truído pelo segundo componente.
As zonas de obstrução podem ter uma forma similar ou mesmo 20 idêntica a uma peça de um componente.
Por exemplo, a zona de obstrução pode ser definida como uma peça da superficie de dita peça do componente.
A zona de obstrução pode ser ligada a uma peça específica ou número de peças do componente.
A(s) peça(s) ligada(s) a uma zona de obstrução pode(m) ser determinada(s) como estando obstruídas quando a zona de 25 obstrução ligada à peça é obstruída.
A relação espacial entre a primeira e a segunda zona de obstrução pode ser determinada pela relação espacial entre a(s) zona(s) de conexão do primeiro componente e a(s) zona(s) de conexão do segurido componente.
O tipo de zona de obstrução pode estar relacionado à sua forma.
A zona de obstrução pode ter qualquer forma tal 30 como uma forma redonda ou retangular.
O tipo de zona de obstrução pode ainda referir-se a um tamanho da zona de obstrução.
O tipo de zona de obs- trução pode determinar como um componente obstrui o outro, por exemplo,
uma zona de obstrução redonda pode obstruir outra zona de obstrução re- 0 donda, mas não uma zona de obstrução quadrada, uma zona de obstrução quadrada pode obstruir tanto uma zona de obstrução redonda como quadra- . da. 5 As zonas de conexão podem determinar como um componente pode ser conectado a outros componentes enquanto as zonas de obstrução podem determinar como um componente obstrui outro componente.
Dois componentes podem ser conectados sem obstruir um ao outro e dois com- ponentes podem obstruir um ao outro sem estarem conectados. 10 Um componente e/ou uma ou mais peças de um componente pode ter uma ou mais zonas de obstrução e/ou uma ou mais zonas de cone- . xão associadas com o mesmo.
Em uma modalidade, uma zona de conexão
. também pode funcionar como uma zona de obstrução.
Ao atribuir as zonas de obstrução aos componentes, o método é 15 capaz de encontrar facilmente as peças ocultas no modelo de computador.
Uma peça oculta pode ser encontrada examinando a relação espacial entre duas zonas de conexão de dois componentes.
Se duas zonas de conexão associadas com os respectivos componentes são encontradas, o processo pode determinar uma ou peças obstruídas baseado nas respectivas zonas 20 de obstrução associadas com as respectivas peças, por exemplo, baseada em regras lógicas relativas aos respectivos tipos de zonas de obstrução as- sociadas, por exemplo, uma zona quadrada cobre uma zona redonda, etc.
Portanto, cada peça pode ter uma ou mais zonas de conexão e uma ou mais zonas de obstrução associadas com a mesma. 25 Em uma modalidade, Lima pIuralidade de zonas de obstrução é Íigada a uma peça única.
Em uma modalidade, uma peça somente está obstruída se todas as zonas de obstrução ligadas à peça estiverem obstruídas.
Em uma modalidade, um modelo de computador pode ser ani- 30 mado independentemente de outros modelos de computador, um compo- nente de um modelo de computador pode ser animado independentemente de outros componentes do modelo de computador e uma peça de um com-
ponente não pode ser animada independentemente de outras peças do . componente. Em uma modalidade, uma primeira peça e uma segunda peça
N representam uma seção comum de um componente, em que a primeira peça . 5 tem um nível mais alto de detalhe do que a segunda peça e em que a etapa de determinar um número de peças armazenadas para uso na visualiza- ção/renderização de dito componente compreende ainda selecionar no má- ximo uma da primeira e da segunda peça para usar na visualiza- ção/renderização de dito componente. 10 Tendo uma pluralidade de peças representando uma porção comum de um componente, as peças que em uma determinada situação . estão somente parcialmente ocuitas podem ainda ser otimizadas. lsto resul- - tará em uma otimização mais eficaz e tornará mais fácil a função de dividir os componentes em peças. 15 Os diferentes aspectos da presente invenção podem ser imple- mentados de modos diferentes incluindo o método implementado por com- putador, um sistema de processamento de dados e programas de computa- dor de brinquedo descritos acima e a seguir e ainda meios de produto, cada um dando um ou mais dos benefícios e vantagens descritos em conexão 20 com pelo menos um dos aspectos descritos acima, e cada um tendo uma ou mais modalidades preferidas correspondendo às modalidades preferidas descritas em conexão com pelo menos um dos aspectos descritos acima e/ou divulgados nas reivindicações dependentes. Além disso, será bem a- preciado que as modalidades descritas em conexão com um dos aspectos 25 descritos no presente documento podem ser igualmente aplicadas a outros aspectos. Em uma modalidade, as peças são predefinida- Em uma modalidade, cada peça compreende uma pluralidade e faces, onde uma face é definida como um plano dado por três vértices. 30 Em uma modalidade, a escolha de obstrução é usada em com- binação com o método divulgado. Em uma modalidade, um componente representa um componen-
te físico de um produto compósito, tal como um componente fisico do produ-
. to compósito que não pode ser não destrutivamente ainda decomposto em componentes menores, por exemplo, um parafuso em um avião ou um ele- . mento de construção de brinquedo em um modelo de brinquedo construído a
, 5 partir de elementos de construção de brinquedo de um sistema de constru- ção de brinquedo.
Breve Descrição dos Desenhos Os objetivos, características e vantagens acima e/ou adicionais da presente invenção serão mais bem elucidados pela seguinte descrição 10 detalhada ilustrativa e não limitante de modalidades da presente invenção, com referência aos desenhos anexos, em que: As figuras la-c mostram um exemplo de uma forma de otimiza-
· ção da técnica anterior.
A figura 2a mostra um exemplo de um modelo de computador 15 compreendendo um número de componentes.
A figura 2b mostra um exemplo de um componente de um mode- lo de computador compreendendo um número de peças.
A figura 2c mostra um exemplo de um número de peças de um componente de um modelo de computador, de acordo com uma modalidade 20 da invenção.
A figura 3 mostra um exemplo de um número de peças de um componente de um modelo de computador, de acordo com uma modalidade da invenção.
A figura 4a mostra um modelo de computador compreendendo 25 um número de componentes antes da otimização.
A figura 4b mostra um modelo de computador compreendendo um número de componentes após otimização- A figura 5a mostra um modelo de computador compreendendo um número de componentes antes da otimização. 30 A figura 5b mostra um modelo de computador compreendendo um número de componentes após otimização.
A figura 6a mostra um modelo de computador compreendendo um número de componentes antes da otimização.
A figura 6b mostra um modelo de computador compreendendo um número de componentes após otimização. « A figura 7a mostra as zonas de conexão definidas em relação a 5 um cornponente.
A figura 7b mostra a compatibilidade das zonas de conexão.
A figura 8a mostra as zonas de conexão definidas em relação a um componente.
A figura 8b mostra a compatibilidade das zonas de conexão de- lO finidas em relação a um componente.
A figura 9a mostra um exemplo de um modelo de computador 0 compreendendo um número de componentes.
D A figura 9b mostra um exemplo de um número de peças de um componente de um modelo de computador, de acordo com uma modalidade 15 da invenção.
A figura 9c mostra um exemplo de um número de peças de um componente de um modelo de computador, de acordo com uma modalidade da invenção.
A figura lOa mostra um modelo de computador compreendendo 20 um número de componentes antes da otimização.
A figura lOb mostra um modelo de computador compreendendo um número de componentes após otimização.
A figura 11a mostra um modelo de computador compreendendo um número de componentes antes da otimização. 25 A figura 11b mostra um modelo de computador compreendendo um número de componentes após otimização.
A figura 12 mostra um fluxograma de um método para visuali- zar/renderizar um modelo de computador de acordo com uma modalidade da invenção- 30 A figura 13 mostra um exemplo de um número de peças de um componente de um modelo de computador, de acordo com uma modalidade da invenção.
A figura 14 mostra um exemplo de um número de peças de um componente de um modelo de computador, de acordo com uma modalidade « da invenção.
Q As figuras 15a-f mostram exemplos de componentes, peças e 5 zonas de obstrução de acordo com uma modalidade da invenção- . A figura 16 mostra um exemplo de otimização de modelo de computador de acordo com uma modalidade da invenção. A figura 17 mostra um exemplo de otimização de modelo de computador de acordo com uma modalidade da invenção. 10 A figura 18 mostra um exemplo de um número de peças de um componente de um modelo de computador, de acordo com uma modalidade da invenção. N A figura 19 mostra um exemplo de otimização de modelo de computador de acordo com uma modalidade da invenção. 15 A figura 20 mostra um fluxograma de um método para visuali- zar/renderizar um modelo de computador de acordo com uma modalidade da invenção. A figura 21 mostra um exemplo de uma estrutura de dados de acordo com uma modalidade da invenção. 20 A figura 22 mostra uma vista esquemática de um exemplo de um sistema de computador. As figuras 23a-b mostram exemplos de peças e de zonas de obstrução de acordo com uma modalidade da invenção. A figura 23C mostra um exemplo de uma otimização de modelo 25 de computador de acordo com uma modalidade da invenção- A figura 24 mostra uma interface de usuário gráfica de uma fer- ramenta de construção implementada por computador de acordo com uma modalidade da invenção. Descrição Detalhada 30 Na seguinte descrição, referência é feita às figuras anexas, que mostram por meio de ilustração como a invenção pode ser praticada. As figuras la-c mostram um exemplo da forma de otimização,
escolha de obstrução da técnica anterior.
A idéia básica de escolha de obs- trução é examinar a relação espacial entre uma câmera e uma cena para . descobrir superficies ocultas que podem ser deixadas fora no processo de visualização/renderização.
A figura la mostra uma vista de topo de uma ce-
. 5 na 3D compreendendo duas câmeras virtuais 102, 103, uma caixa grande 104, 105, 106, 107 e uma caixa pequena 108, 109, 110, 111. A figura lb mostra a imagem gerada pela câmera virtual 102. Somente duas superfícies 104, 106 da caixa grande podem ser vistas, todas as superfícies restantes estão ocultas.
O uso de métodos de rastreamento de raios, os algoritmos de 10 escolha de obstrução podem encontrar estas faces ocultas e removê-las. lsto, no entanto, é um processo de demanda altamente computacionalmen- te.
A figura 1c mostra a imagem gerada a partir da câmera 103. Devido à
. troca em perspectiva, a caixa pequena previamente sombreada pela caixa grande pode agora ser vista. lsto ilustra uma lim itação dos métodos de esco- 15 lha de obstrução.
Existem visões altamente dependentes. lsto torna a esco- lha de obstrução menos utilizável ara aplicativos onde a perspediva de visu- alização muda frequentemente.
A figura 2a mostra um exemplo de um modelo de computador 201 de acordo com uma modalidade da presente invenção.
Neste exemplo, 20 d modelo de computador 201 representa um modelo de brinquedo construí- do a partir de elementos de construção de um sistema de construção de brinquedo.
O modelo de computador é construído a partir de seis componen- tes iguais 202; no entanto, em outras modalidades, o número e tipo de com- ponentes podem diferir.
Os seis componentes são posicionados no topo um 25 do outro criando um modelo triangular.
A figura 2b mostra um exemplo de um componente 202 de um modelo de computador 201 de acordo com uma modalidade da presente invenção.
O componente 202 representa um ele- mento de construção de brinquedo.
O elemento de construção de brinquedo 202 compreende seis lados retangulares 215, 216, 217, 218, 219, 220, e oito 30 ciíindros salientando-se a partir do topo 207, 208, 109, 110, 112, 113, 114. A figura lc mostra um exemplo de um número de peças de um componente de acordo com uma modalidade da presente invenção.
Oito cilindros 107, 108,
íEm 109, 110, 111, 112, 113, 114 e seis retângulos são mostrados 215, 216, 217, 218, 219, 220. A tabela 1 mostra as possÍveis contagens de face para as diferentes peças. TABELA 1 N° de Referência 101 102 107 108 109 110 111 112 Número de faces 9288 1548 192 192 192 192 192 192 N° de Referência 213 214 215 216 217 218 219 220 Número de faces 192 192 2 2 2 2 2 2 5 A figura 3 mostra um número de peças de um componente de acordo com uma modalidade da presente invenção. O componente neste . exemplo é o elemento de construção de brinquedo mostrado na figura 2b.
· Um cilindro 301 e três retângulos 302, 303, 304 são mostrados. Neste e- xemplo, somente as peças únicas são salvas. 10 A figura 7a mostra exemplos de zonas de conexão associadas com o componente, de acordo com uma modalidade da presente invenção- As zonas de conexão determinam como o componente pode ser conectado a outros componentes. Neste exemplo, seis zonas de conexão são associa- das com o computador, no entanto, qualquer número de zonas de conexão 15 pode ser definido. Uma zona de conexão do tipo A é associada com a frente e a traseira do componente, uma zona de conexão do tipo B é associada com o lado esquerdo e direito do componente, uma zona de conexão do tipo C é associada com o topo do componente e uma zona de conexão do tipo D é associada com o fundo do componente. Os diferentes tipos de zonas de 20 conexão são seletivamente compatíveis com outros tipos de zonas de cone- xão. A 'figura 7b mostra um exemplo de uma tabela de compatibilidade das zonas de conexão definidas na figura 7a. A zona de conexão A é compatível com as zonas de conexão A, B e D, a zona de conexão B é compatível com a zona de conexão D, e a zona de conexão D é compatível com as zonas de 25 conexão A, B, C e D. As zonas de conexão podem ser usadas para determi- nar a relação espacial entre componentes diferentes. A figura 8 mostra outro exemplo de zona de conexâo de um componente de acordô com uma modalidade da presente invenção.
Neste exemplo, as zonas de conexão somente são definidas onde os elementos de construção de brinquedo representados pelos componentes podem ser conectados Llns com os outros por um ajuste de atrito ou outra conexão físi- 5 ca.
A figura 8b mostra a compatibilidade das zonas de conexão.
A figura 8c mostra um exemplo de zonas de conexão associadas com um componente.
Neste exemplo, um número de zonas de conexão é colocado lado a lado no topo e fundo do componente.
A figura 8d mostra um exemplo de uma zona de conexão redonda- A figura mostra um componente representando um aro 10 801. O aro 801 tem uma zona de conexão redonda única 802 associada.
A figura 8e mostra um modelo de computador 804 compreendido de dois componentes, um aro 801 e um pneu 803, conectados ao aro 801. A figura 4 mostra uma modalidade da presente invenção usada . para otimizar um modelo de computador de um modelo de brinquedo.
A figu- 15 ra 4a mostra o modelo de brinquedo antes da otimização e a figura 4b mos- tra o modelo de brinquedo após a otimização.
O modelo de brinquedo é construído a partir de três tijolos de construção de brinquedo 401, 402, 403 posicionados lado a lado.
Nesta modalidade, cada tijolo de brinquedo repre- senta um componente físico do modelo; no entanto, em outras modalidades, 20 os componentes podem ser definidos de outros modos, por exemplo, um primeiro componente pode ser definido como os dois tijolos de construção de brinquedo 401, 402 e um segundo componente pode ser definido como o tijolo de construção de brinquedo 403 ou um primeiro componente pode ser definido como um primeiro grupo de faces do tijolo de construção de brin- 25 quedo 401 e um segundo componente pode ser definido como um segundo grupo de faces do tijolo de construção de brinquedo 401. Neste exemplo, cada componente 401, 402, 403 é composto das peças mostradas na figura lc, com o número de face mostrado na tabela 1. Para cada um dos compo- nentes 401, 402, 403 um conjunto de seis zonas de conexão é associado 30 como mostrado nas figuras 7a-b.
Antes da etapa de otimização, cada um dos componentes 401, 402, 403 compreende 1546 faces, resultando em 4644 faces para todo o modelo.
Para otimizar o modelo, a relação espacial entre os componentes 401, 402, 403 é determinada. lsto pode ser obtido & usando as zonas de conexão dos componentes.
Uma primeira etapa pode ser determinar se quaisquer zonas de conexão estão em uma proximidade . predeterminada de outras zonas de conexão e/ou estão em uma faixa prede- 5 terminada de outras orientações relativas.
Neste exempío, duas zona de co- . nexão do tipo B dos componentes 401 e 402 e duas zonas de conexão do tipo B dos componentes 402 e 403 estão em contato.
A partir da tabela na figura 7b pode ser visto que uma zona de conexão do tipo B é compativel com ela mesma.
Em seguida, o tipo de conexão entre as zonas de conexão 10 é determinado.
Usando a relação espacial determinada entre os componen- tes 401, 402, 403 um número de peças de cada um dos componentes é es- . colhido.
Neste exemplo, a peça 218 pode ser deixada fora quando represen-
. tando o componente 401, as peças 216, 218 podem ser deixadas fora quan- do representando o componente 402 e a peça 216 pode ser deixada quando 15 representando o componente 403. O modelo completo pode, portanto, ser representado com 4636 faces após a otimização comparado às 4644 faces antes da otimização.
A tabela 2 mostra a face para o modelo antes e depois da otimização.
TABELA 2 Número de referência 411 401 402 403 Número de faces após otimização 4636 1546 1544 1546 Número de faces não otimizadas 4644 1548 1548 1548 20 A figura 5 mostra uma modalidade da presente invenção usada para reotimizar um modelo após uma mudança estrutural.
O modelo 510 é o modelo mostrado na figura 4 411 com a adição de dois componentes 504, 505 do mesmo tipo como os componentes 501, 502, 503. Os dois compo- nentes 504, 504 são posicionados no topo dos três componentes subjacen-· 25 tes 501, 502, 503. Para determinar a relação espacial entre os componentes, a relação espacial entre as zonas de conexão é examinada.
O exame das relações espaciais entre os três componentes originais 501, 502, 503 podem ser ignorados desde que eles já tenham sido otimizados.
O componente 504 tem uma zona de conexão tipo D e contato com duas zonas de conexão do tipo C dos componentes 501, 502, e uma zona de conexão do tipo B em contato com uma zona de conexão do tipo B do componente 505. A partir da tabela na figura 7b pode ser visto que a zona de conexão do tipo D é compa- " tível com uma zona de conexão do tipo C e um tipo B é compatível com um 5 tipo B. Neste exemplo, uma conexão parcial existe entre os componentes 504, 501 e 504, 502 e uma conexão total existe entre os componentes 504,
505. O componente 505 tem uma zona de conexão do tipo D em contato com duas zonas de conexão do tipo C dos componentes 502, 503 e uma zona de conexão do tipo B em contato com uma zona de conexão do tipo B 10 do componente 504. A partir da tabela na figura 7b pode ser visto que uma zona de conexão do tipo D é compatível com uma zona de conexão do tipo . C. Novamente, uma conexão parcial existe entre ambos os componentes . 505, 502 e 505, 503- Usando a relação espacial determinada entre os com- ponentes um número de peças para cada componente pode ser escolhido 15 para representar o componente. Para o componente 501, são usadas as peças 207, 208, 211, 212, 215, 216, 217, 219, 220, para o componente 502, são usadas as peças 215, 219, 220, para o componente 503, são usadas as peças 209, 210, 213, 214, 215, 218, 219, 220, para o componente 504, são usadas as peças 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 219, 20 e para o componente 505, são usadas as peças 207, 208, 209, 210, 211, 212, 213, 214, 215, 217, 218, 219. Deve ser notado que a peça 209 ainda é usada para representar o componente 503 ainda que a peça não esteja visi- vel na figura 5b. Isto é porque a peça não está oculta como um resultado da relação espacial entre os componentes do modelo, mas a relação espacial 25 entre o modelo e a câmera virtual. O modelo todo pode ser representado usando 4650 faces comparadas às 7740 antes da otimização, correspon- dendo a 39,9°6 de redução no número de faces. A tabela 3 mostra as conta- gens de faces para o modelo antes e após a otimização-
TABELA 3 N' de referência 511 501 502 503 504 505 . Número de faces após otimização 4650 778 6 778 1544 1544 Número de faces parcialmente otimi- 7732 1546 1544 1546 1548 1548 zadas Número de faces não otimizadas 7740 1548 1548 1548 1548 1548 A figura 6 mostra outro exemplo de reotimização de um modelo onde uma mudança estrutural ocorreu de acordo com uma modalidade da presente invenção.
O modelo 611 é o modelo 511 da figura 5 com a adição 5 de outro componente do mesmo tipo como os componentes 601, 602, 603, 604, 605. O componente 606 está posicionado no topo dos componentes 604, 605. Para determinar a relação espacial entre os componentes, a rela-
- ção espacial entre as zonas de conexão é examinada.
O exame das rela- ções entre as zonas de conexão dos cinco componentes originais 601, 602, 10 603, 604, 605 pode ser ignorado na medida em que eles já foram otimiza- dos.
O componente 606 tem uma zona de conexão do tipo D em contato com duas zonas de conexão do tipo C dos componentes 604, 605. A partir da tabela na figura 7b pode ser visto que a zona de conexão do tipo D é compatlvel com uma zona de conexão do tipo C.
Uma conexão parcial entre 15 ambos os componentes 606, 604 e 606, 605. Usando a relação espacial de- terminada entre os componentes, um número de peças para cada compo- nente pode ser escolhido para representar o componente- Para o componen- te 601, são usadas as peças 207, 208, 211, 212, 215, 216, 217, 219, 220, para o componente 602, são usadas as peças 215, 219, 220, para o compo- 20 nente 603, são usadas as peças 209, 210, 213, 214, 215, 218, 219, 220, pa- ra o componente 604, são usadas as peças 207, 208, 211, 212, 215, 216, 217, 219, para o componente 605, são usadas as peças 209, 210, 213, 214, 215, 217, 218, 219 e para o componente 606, são usadas as peças 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219. Como no caso 25 no último exemplo, deve ser notado que a peça 209 ainda é usada para re- presentar ambos os componentes 603 e 605 ainda que a peça não esteja visível na figura 6b.
O modelo todo pode ser representado usando 4660 fa-
ces comparadas 9288 antes da otimização, correspondendo a 49,8% de re-
B dução no número de faces. A tabela 4 mostra as contagens de faces para o modelo antes e depois da otimização. ' TABELA 4 a N' de referência 611 601 602 603 604 605 606 Número de faces após otimização 4660 778 6 778 776 776 1546 Número de faces parcialmente 6198 778 6 778 1544 1544 1548 otimizadas Número de faces não otimizadas 9288 1548 1548 1548 1548 1548 1548 5 Pode ser visto a partir dos exemplos que o método torna-se mais eficaz para os modelos complexos. lsto é um efeito altamente útil como para os modelos complexos a otimização é especialmente importante.
A figura 9a mostra outro exemplo de um modelo de cornputador 1001, de acordo com uma modalidade da invenção. O modelo de computa- lO dor 1001 representa um marcador. O computador 1001 compreende dois componentes 901 correspondendo à cobertura do marcador e 902 corres- pondendo ao corpo do marcador. A figura 9b mostra um modo possível para dividir o corpo do marcador 902 em peças. A ponta do corpo do marcador é dividida em 5 peças 903, 904, 905, 906, 907 e a porção de retenção do cor- 15 po do marcador 908 é representada usando uma peça 908 única. A figura 9c mostra um exemplo de como a cobertura do marcador 901 pode ser dividida em peças. A peça externa da cobertura é representada por uma peça 909 e a porção interna da cobertura é representada por uma peça 910.
A figura 10 mostra um exemplo de como uma modalidade do 20 método da presente invenção pode ser usada para otimizar o modelo de computador mostrado na figura 9. Examinando a relação espacial entre os dois componentes 1002 e 1003, o método é capaz de determinar que as pe- ças 903, 904, 905, 906, 907, 910 estão ocultas a partir de todas as perspec- tivas. lsto pode ser obtido examinando as zonas de obstrução e/ou as zonas 25 de conexão dos componentes 1002, 1003. As peças podem, portanto, ser deixadas fora como mostrado na figura lOb mostrando o modelo de compu- tador após otimização.
A figura 11 mostra outro exemplo de como uma modalidade do método da presente invenção pode ser usada para otimizar o modelo de computador descrito em relação à figura 9. Examinando a relação espacial entre os dois componentes 1002 e 1003, o método é capaz de determinar 5 que nenhuma peça está oculta a partir de todos as perspectivas- Como um resultado, nenhuma peça é, portanto, deixada fora, e o modelo de computa- dor após a otimização mostrada na figura 11b é igual ao modelo de compu- tador mostrado na figura 11a antes da otimização.
A figura 12 mostra um fluxograma de um método para visuali- 1O zar/renderizar um modelo de computador de acordo com uma modalidade da presente invenção.
O modelo de computador é definido para ser compos- to de um número de componentes e cada componente é definido para ser composto de um número de peças.
As modalidades do método da presente invenção escolhem seletivamente um número de peças para cada um dos componentes a ser usado para visualizar/renderizar o modelo.
Na primeira etapa do método 1201 um número de peças de um componente é armaze- nado. lsto significa que o modo como um componente pode ser otimizado é determinado por como o componente é dividido em peças.
Na próxima etapa 1202, a posição e a orientação dos componentes são armazenadas.
A posi- ção pode ser armazenada em qualquer sistema de coordenadas.
Em segu j- da, a posição armazenada dos componentes é usada para determinar a re- lação espacial na etapa 1203 entre os componentes.
A relação espacial po- de ser determinada examinando as zonas de conexão dos componentes, onde a determinação da relação espacial pode incluir a determinação de uma propriedade de conectividade dos componentes, por exemplo, determi- nar as zonas de conexão de um componente que estão conectadas a uma zona de conexão compatível do outro componente.
WO2204034333 divulga um método para determinar a relação espacial entre os componentes.
A re- lação espacial dos componentes determinada é então usada para escolher um número de peças para cada componente para uso na visualiza- ção/renderização do componente na etapa 1204 e usando as peças deter- minadas o modelo é visualizado/renderizado na etapa 1205.
As figuras 13 e 14 mostram um número de peças usadas para e· representar um componente de acordo com uma modalidade da invenção. Neste exemplo, o componente é um tijolo de construção de brinquedo. Oito 0 peças 1302, 1303, 1304, 1305 são usadas para representar botões do tijolo 5 de construção de brinquedo, uma peça é usada para representar o invólucro . externo 1306 do tijolo, duas peças são usadas para representar o invólucro interno do tijolo 1037, 1038 e três peças são usadas para representar cilin- dros debaixo dotijolo 1309, 1310, 1311. A figura 15a mostra um componente 1501 de acordo com uma 10 modalidade da presente invenção. O componente 150 representa um ele- mento de construção de brinquedo quadrado. A figura 15b ilustra um com- ponente 1502 de acordo com uma modalidade da presente invenção.
. O componente 1502 representa um elemento de construção de brinquedo cilíndrico. A figura 15c mostra as peças 1503, 1504, 1505, 1506, 1507, 1515 15 do componente 1501. A figura 15d mostra as peças 1508, 1509, 1510 do componente 1502. A figura 15e mostra dias zonas de obstrução 1511, 1512 de um tipo especifico associado com o componente 1501. As zonas de obs- trução 1511, 1512 são preferivelmente posicionadas na porção de um com- ponente onde o componente pode ser conectado a outros componentes. 20 Neste exemplo, as zonas de obstrução 1511, 1512 são posicionadas no topo e fundo do componente 1501. Estas posições correspondem às porções do elemento de construção de brinquedo que o componente 1501 representa que pode ser conectado a outros elementos de construção de brinquedo. O tipo das zonas de obstrução pode ser dependente de sua forma e/ou ta- 25 manho. Neste exemplo, as zonas de obstrução 1511, 1512 são zonas de obstrução quadradas. As zonas de obstrução podem ser ligadas a uma ou mais peças de seu componente. Neste exemplo, a zona de obstrução 1512 está ligada à peça 1503 e a zona de obstrução 1511 está ligada à peça
1515. A figura 15f mostra as duas zonas de obstrução 1513, 1514 de um tipo 30 específico associado com o componente 1502. Neste exemplo, as zonas de obstrução 1513, 1514 estão posicionadas no topo e fundo do componente
1502. Estas posições correspondem às porções do tijolo de construção de brinquedo que o componente 1502 representa que pode ser conectada a , outros elementos de construção de brinquedo. Neste exemplo, as zonas de obstrução 1513, 1514 são redondas. Neste exemplo, as zonas de obstrução 1513 está ligada à peça 1510 e a zona de obstrução 1514 está ligada à peça 5 1509. A figura 16 mostra um exemplo de otimização de modelo de a- cordo com uma modalidade da presente invenção. O modelo de computador 1601 representa uma construção de modelo de brinquedo de dois elementos de construção de brinquedo quadrados 1603, 1604. Neste exemplo, cada 10 elemento de construção de brinquedo 1603, 1604 corresponde a um compo- nente, e cada componente é compreendido das peças 1503, 1504, 1505, 1506, 1507, 1515 mostradas na figura 15c. Cada componente tem ainda du- as zonas de obstrução 1511, 1512 associadas como mostrado na figura 15e. Para otimizar o modelo de computador 1601 a relação espacial entre as zo- 15 nas de obstrução dos dois componentes 1603, 1604 é examinada. Exami- nando a distância entre a zona de obstrução 1511 do componente 1603 e a zona de obstrução 1512 do componente 1604, e sua orientação em relação uma à outra, o método é capaz de determinar que as duas zonas de obstru- ção estão em contato. Quando duas zonas de obstrução estão em contato, 20 uma regra lógica pode ser usada para determinar se uma zona de obstrução obstrui a outra e se quaisquer peças ligadas a qualquer uma das zonas de obstmção podem ser deixadas fora para visualizar/renderizar o componente. Neste exemplo, uma regra lógica possível pode ser:
1. Uma zona de obstrução quadrada de tamanho X obstrui as 25 zonas de obstrução redondas e quadradas de tamanho menor ou igual a X.
2. Uma zona de obstrução redonda de tamanho Y obstrui as zo- nas de obstrução redondas de tamanho menor ou igual a Y.
3. As peças ligadas a uma zona de obstrução podem ser deixa- das fora quando visualizar/renderizar um componente. 30 Usando a regra lógica 1, o método é capaz de determinar que a zona de obstrução 1511 a peça 1603 obstrui a zona de obstrução 1512 da peça 1604 e a zona de obstrução 1512 da peça 1604 obstrui a zona de obs-
trução 1511 da peça 1603. Deste modo, o modelo otimizado 1602 pode ser W representado sem usar a peça 1515 para representar o componente 1603 e a peça 1503 para representar a peça 1604.
P A figura 17 mostra um exemplo de otimização de modelo de . 5 acordo com uma modalidade da presente invenção. O modelo de computa- dor 1701 representa um modelo de topo constrLIÍdo de um elemento de construção de brinquedo quadrado 1704 e um elemento de construção de brinquedo redondo 1703. Neste exemplo, cada elemento de construção de brinquedo 1703, 1704 corresponde a um componente. O elemento de cons- lO trução de brinquedo quadrado é compreendida das peças 1503, 1504, 1505, 1506, 1507, 1515 mostradas a figura 15C e o elemento de construção de brinquedo redondo é compreendido das peças 1508, 1509, 1510 mostradas na figura 15d. O elemento de construção de brinquedo quadrado 1704 tem duas zonas de obstrução 1511, 1512 associadas como mostrado na figura 15 15e, e o elemento de construção de brinquedo redondo 1703 tem duas zonas de obstrução 1513, 1514 associadas como mostrado na figura 15f. Para otimizar o modelo de computador 1601 a relação espacial entre as zo- nas de obstrução de dois componentes 1703, 1704 é examinada. Neste exemplo, verifica-se que a zona de obstrução 1514 do componente 1703 e a 20 zona de obstrução 1512 do componente 1704 estão em contato. Usando as três regras declaradas anteriormente, o método determina que a zona de obstrução quadrada 1512 do componente 1704 obstrui a zona de obstrução redonda 1514 do componente 1703, no entanto, a zona de obstrução redon- da 1514 do componente 1703 não obstrui a zona de obstrução quadrada 25 1512 do componente 1704. Deste modo o modelo de computador otimizado 1702 pode ser representado ser usar a peça 1509 para representar o com- ponente 1703, no entanto, o número total de peças ainda precisa ser usado para representar o componente 1704. A figura 23a mostra um exemplo de acordo com uma modalida- 30 de da presente invenção de como um componente pode ser dividido em pe- ças. No componente as peças representam o elemento de construção de brinquedo quadrado 1501 mostrado na figura 15a. Neste exemplo, o cilindro
2305 e a caixa 2306 são representados usando uma peça. A figura 23b mos-
P tra um exemplo de acordo com uma modalidade da presente invenção de como as zonas de obstrução podem ser associadas com um componente. As zonas de obstrução neste exemplo são associadas com o componente 5 1501. As zonas de obstrução 2311 e 2312 são usadas para encontrar as peças de outros componentes obstrLlÍdos pelo componente 1501 e a zona de obstrução 2313 é usada para encontrar as peças do componente 1501 obstruídas por outros componentes. As zonas de obstrução 2311 e 2312 não são ligadas a quaisquer peças e a zona de obstrução 2313 é ligada à peça 10 2305. A figura 23c mostra um exemplo de otimização de modelo de q acordo com uma modalidade da presente invenção. O modelo de computa- dor 230'1 representa um modelo de brinquedo construído de um elemento de construção de brinquedo 2304 e um elemento de construção de brinquedo 15 redondo 2303. Neste exemplo, cada elemento de construção de brinqL|edo 2303, 2304 corresponde a um componente. O elemento de construção de brinquedo quadrado é compreendido das peças 2305, 2306 mostradas na figura 23a e o elemento de construção de brinquedo redondo é compreendi- do das peças 1506, 1509, 1510 mostradas na figura 15d. O elemento de 20 construção de brinquedo quadrado 2304 tem três zonas de obstrução 2311, 2312, 2313 associadas como mostrado na figura 23b, e o elemento de cons- trução de brinquedo redondo 2303 tem duas zonas de obstrução 1513, 1514 associadas como mostrado na figura 15f, Para otimizar o modelo de compu- tador 2301 as relações espaciais entre as zonas de obstrução dos dois com- 25 ponentes 2303, 2304 são examinadas. Neste exemplo, verifica-se que a zo- na de obstrução 1514 do componente 2303 e a zona de obstrução 2312 do componente 2304 estão em contato, e verifica-se que a zona de obstrução 2313 do componente 2304 e a zona de obstmção 1513 do componente 2303 estão em contato. Usando as três regras lógicas declaradas anteriormente, o 30 método determina que a zona de obstrução quadrada 2312 do componente 2304 obstrui a zona de obstrução redonda 1514 do componente 2303 e a zona de obstrução redonda 1514 do componente 2303 obstrui a zona de obstrução redonda 2313 do componente 2304. Deste modo, p modelo de computador otimizado 2301 pode ser representado sem usar a peça 1509 para representar o componente 2303 e a peça 2305 para representar o componente 2304. Nas modalidades da invenção, uma primeira e segunda 5 coleção de zona(s) de obstrução pode(m) ser associada(s) com um compo- nente.
A primeira coleção de zona(s) de obstrução pode(m) ser usada(s) para encontrar as peças do componente oculto pelo componente e a segun- da coleção de zona(s) de obstrução pode(m) ser usada(s) para encontrar as peças do componente oculto por outros componentes.
A figura 18 mostra um exemplo de como o componente pode ser divid ido em peças de acordo com uma modalidade da presente invenção.
O componente das peças representam o elemento de construção de brin- quedo quadrado 1501 mostrado na figura 15a.
Neste exemplo, duas peças 1802, 1803 representam uma porção comum do componente 1501- A primei- ra peça 1802 corresponde a um quadrado com um cilindro no topo e a se- gunda peça 1803 corresponde a um quadrado.
A primeira peça tem um nível mais alto de detalhe do que a segunda peça- Portanto, menos recursos de computação são necessários para visualizar/renderizar a segunda peça 1803 do que a primeira peça 1802. Preferivetmente, no máximo uma da pri- meira 1802 ou da segunda peça 1803 no tempo é usada para representar o elemento de construção de brinquedo 1501. As peças remanescentes 1804, 1805, 1806, 1807, 1808 corresponde às peças mostradas na figura 15c.
A figura 19 mostra um exemplo de otimização de modelo de a- cordo com uma modalidade da presente invenção.
Um modelo de computa- dor 1901 representa um modelo de brinquedo construido de um elemento de construção de brinquedo 1904 e um elemento de construção de brinquedo redondo 1903. Neste exemplo, cada elemento de construção de brinquedo 1903, 1904 corresponde a um componente.
O elemento de construção de brinquedo quadrado 1904 é representado usando as peças 1802, 1803, 1804, 1805, 1806, 1807, 1808 mostradas na figura 18 e o elemento de cons- trução de brinquedo redondo é representado usando as peças 1508, 1509, 1510 mostradas na figura 15d.
O componente 1904 tem duas zonas de obs-
trução 1511, 1512 associadas como mostrado na figura 15e com a diferença de que a zona de obstrução 1511 está ligada à peça 1803 e a zona de obs- trução 1512 é ligada tanto à peça 1802 como à peça 1803. O componente 1903 tem duas zonas de obstrução 1513, 1514 associadas como mostrado 5 na figura 15f. Para otimizar o modelo de computador 1901 as relações espa- ciais entre as zonas de obstrução dos dois componentes 1903, 1904 são examinadas. Neste exemplo, verifica-se que a zona de obstrução 1514 do componente 1903 e a zona de obstrução 1512 do componente 1904 estão em contato. Quando se verifica que duas zonas de obstrução estão em con- lO tato, uma regra lógica pode ser usada para determinar se uma zona de obs- trução obstrui a outra e se quaisquer peças ligadas a qualquer uma das zo- nas de obstrução pode ser deixada fora para visualizar/renderizar o compo- nente. Neste exemplo, uma regra lógica possÍvel pode ser a seguinte:
1. Uma zona de obstrução quadrada de tamanho X obstrui zo- nas de obstrução redondas e quadradas de tamanho menor ou igual a X. 2- Uma zona de obstrução redonda de tamanho Y obstrui zonas de obstrução redondas de tamanho menor ou igual a Y.
3. Uma zona de obstrução redonda de tamanho Y obstrui parci- atmente uma zona de obstrução quadrada de tamanho menor ou igual a Y.
4. As peças ligadas a uma zona de obstrução obstruída podem ser deixadas fora quando visualização/renderização um componente.
5. Se duas peças representam uma porção comum de um com- ponente e estão ligadas a uma zona de obstrução, usar a peça com o nivel mais baixo de detalhe se a zona de obstrução está parcialmente obstruída.
6. Se duas peças representam uma porção comum de um com- ponente e são ligadas a uma zona de obstrução, usar a peça com o nivel mais alto de detalhe se a zona de obstrução não está obstruída. Usando a regra lógica 1 e 4, a peça 1509 pode ser deixada fora quando visualização/renderização o componente 1903 e a peça 1803 pode ser usada no lugar de uma peça 1802 para visualizar/renderizar o compo- nente 1904. Deste modo, ambos os componentes 1903 e 1904 podem ser otimizados, diminuindo mais os recursos de computação necessários para visualizar/renderizar o modelo de computador 1901. Neste exemplo, não há
. nenhuma perda visível de usar a peça 1803 em vez da peça 1802 para visu- alizar/renderizar o componente 1904., no entanto, em outra modalidade vá- . rias perdas visuais podem ocorrer. 5 A figura 20 mostra um fluxograma de um método para visuali- . zar/renderizar um modelo de computador de acordo com uma modalidade da presente invenção- Na etapa 2001, o método determina se todos os com- ponentes do modelo foram avaliados.
Se a resposta for não, o método conti- nua na etapa 2002 escolhendo o próximo componente na etapa 2003 o mé- lO todo determ ina se todas as peças do componente escolh ido foram examina- das.
Se a resposta for não, o método escolhe a próxima peça na etapa 2004. &
Na etapa 2005, o método determina se todas as zonas de obstrução ligadas à peça foram examinadas.
Se a resposta for não, o método escolhe a próxi- ma zona de obstrução na etapa 2006. Em seguida, na etapa 2007, o método 15 examina a zona de obstrução escolhida- O método pode examinar a zona de obstrução determinando a relação espacial entre a zona de obstrução esco- lhida e quaisquer outras zonas de obstrução de outros componentes.
A rela- ção espacial pode ser determinada examinando a distância entre a zona de obstrução escolhida e outras zonas de obstrução.
Se a distância entre duas 20 zonas de obstrução está dentro de uma faixa predeterminada, as zonas de obstrução podem ser determinadas estar em contato.
Adicionalmente, a ori- entação com relação à zona de obstrução pode ser usada para determinar se elas estão em contato.
Duas zonas de obstrução não precisam estar fisi- camente em contato para serem classificadas como estando em contato, 25 elas podem apenas estar na proximidade umas das outras.
Quando se veri- fica que duas zonas de obstrução estão em contato, uma regra lógica pode ser aplicada para determinar se e como elas obstruem urnas às outras.
Uma zona de obstrução pode ser totalmente obstruída ou parcialmente obstruída como descrito em relação à figura 19. Após o método ter terminado o exame 30 da zona de obstrução escolhida na etapa 2007, ele retorna para a etapa 2005 para examinar se todas as zonas de obstrução Iigadas à peça foram examinadas.
Se a resposta for sim, o método vai para a etapa 2008 onde determina se a peça escolhida está totalmente obstruída.
Se a resposta for não, o método vai para a etapa 2009, onde determina se a peça está parci- . almente obstruída.
Se a resposta for não, o método retorna para a etapa . 2003- Na etapa 2009, se a resposta for sim, o método determina se a peça 5 tem um nível mais baixo de versão de detalhe na etapa 2011. Um nível mais baixo de versão de detalhe pode ser uma versão da peça tendo menos deta- lhes, por exemplo, se a peça representa o topo de um elemento de constru- ção de brinquedo composto de um quadrado com um cilindro saliente no topo, um nívet mais baixo de versão de detalhe da peça pode simplesmente 10 ser o quadrado sem o cilindro.
Se a resposta for não, o método retorna à etapa 2003. Se a resposta for sim, o método substitui a peça com um nível . mais baixo de versão de detalhe no processo de renderização e retorna à
. etapa 2003. Na etapa 2008, se o método determina que a peça escolhida está totalmente obstruída, ele remove a peça escolhida na etapa 2013 e re- 15 torna à etapa 2003. Se o método na etapa 2003 determina que todas as pe- ças do componente escolhido foi avaliado ele retorna à etapa 2001. Na eta- pa 2001, se o método determina que todos os componentes do modelo fo- ram avaliados, o método inicia o processo de visualização/renderização na etapa 2014 e gera uma representação do modelo.
A representação pode ser 20 uma vista em perspectiva bidimensional do modelo.
A vista em uma pers- pectiva bidimensional do modelo pode ser diretamente mostrada na tela e/ou salva em um arquivo digital.
No exemplo da figura 20, o processo determina a relação espa- cial entre dois componentes diretamente baseado nas zonas de obstrução. 25 Em uma modalidade alternativa, o processo pode determinar a relação es- pacial pelo menos parcialmente baseado nas zonas de obstrução como des- crito no presente documento.
Em particular, em uma modalidade, cada peça de um componente pode ter uma ou mais zonas de obstrução e uma ou mais zonas de obstrução associadas com a mesma.
Por exemplo, uma pri- 30 meira peça pode ter uma ou mais zonas de obstrução associadas com a mesma e cada zona de obstrução pode ter uma zona de obstrução associa- da com a mesma.
Se pelo menos uma primeira zona de conexão ligada à primeira peça é conectada a uma zona de conexão compatível de outro componente, o processo determina se (e/ou em que grau), a peça é obstruí- da devido á conexão.
Para este fim, o processo determina se a zona de obs- trução ligada à zona de conexão do outro componente obstrui a zona de 5 obstrução Iigada à primeira zona de conexão, por exemplo, como descrito acima.
Portanto, em algumas modalidades o processo determina qual a peça não é para ser usada para visualizar/renderizar um componente, se a peça tem uma primeira zona de conexão associada com ela que está conec- lO tada a uma segunda zona de conexão de outro componente, se a segunda zona de conexão tem uma segunda zona de obstrução associada com ela que obstrui uma primeira zona de conexão associada com a primeira zona de conexão.
A figura 21 mostra uma estrutura de dados de um modelo de computador de acordo com uma modalidade da presente invenção.
Uma estrutura de dados de um modelo de computaclor 2101 pode compreender os parâmetros de modelo 2102 e um número de componentes e opcional- mente uma tabela de compatibilidade da zona de conexão 2121 e um núme- ro de regras de obstrução 2122. Os parâmetros de modelo 2102 podem compreender informação relacionada à posição e orientação do modelo em um sistema de coordenada apropriado.
Os parâmetros de modelo 2102 po- dem ainda ser animados ao longo do tempo.
Uma tabela de compatibilidade da zona de conexão 2121 pode conter informação relacionada à compatibili- dade dos diferentes tipos de zonas de conexão, por exemplo, a tabela mos- trada na figura 7b.
As regras de obstrução podem definir como os diferentes tipos de zonas de obstruçâo obstruem umas às outras, por exemplo, as re- gras lógicas anteriormente declaradas.
Uma estrutura de dados de um com- ponente 2104 pode compreender os parâmetros 2105, um número de zonas de conexão 2106, um número de zonas de obstrução 2107 e um número de peças 2108. Os parâmetros do componente 2105 podem compreender in- formação relacionada à poluição e orientação do componente.
Uma estrutu- ra de dados de uma zona de conexão 2109 pode compreender os parâme-
tros das zonas de conexão 2110 e opcionalmente informação de conexões . feita com zonas de conexão de outros componentes 2111. Os parâmetros das zonas de conexão 2110 podem compreender informação relacionada à
V posição, orientação, forma e tipo de zona de conexão. Uma estrutura de da- . 5 dos de uma zona de conexão 2112 pode compreender os parâmetros das zonas de obstrução 2113 e opcionalmente informação indicativa de peças ligadas à zona de obstrução 2114 e conexões da zona de obstrução com outras zonas de obstrução de outros componentes 2115. Os parâmetros das zonas de obstrução 2113 podem compreender informação relacionada à 10 posição, orientação, forma e tipo de zona de obstrLIção. Uma estrutura de dados para uma peça 2116 pode compreender os parâmetros de peça 2117 e opcionalmente um número de nível mais baixo de peças de detalhe 2118 e . informação indicativa de zonas de obstrução ligadas à peça 2118. Os parâ- metros de peça 2117 podem compreender informação relacionada à posi- 15 ção, orientação e forma da peça. Uma estrutura de dados para um nível mais baixo de peça de detalhe pode compreender os parâmetros 2120 que podem compreender informação relacionada aposição, orientação e forma da peça LOD mais baixa. Geralmente, em algumas modalidades, as zonas de conexão 20 dos componentes de um produto compósito que proveem conexões a outros componentes podem ser dispostos em uma estrutura regular, por exemplo, uma grade 2D regular onde cada uma das posições de grade representa uma zona de conexão. Cada zona de conexão tem um tipo associado com ela, e se um determinado par de zonas de conexão interage de modo a pro- 25 ver uma conexão é deterrrúnado por seus tipos, por exemplo, como definido em uma estrutura de dados apropriada. Em uma modalidade, somente as zonas de conexão que interagem com outra zona de conexão dentro do mo- delo como para formar uma conexão são levadas em conta pelo processo de otimização quando realizando o teste de obstrução. Além de ter um tipo, 30 uma zona de conexão também tem uma zona de obstrução associada com ela. Comparando as zonas de obstrução em ambos os lados de uma cone- xão, o processo determina como uma peça do componente pode ser remo-
vida ou substituída por uma peça opcional em ambos os lados da conexão.
. A peça opcional pode ter um nível de detalhe mais baixo do que o nível de detalhe da peça que é substituída pela peça opcional. . Sempre que um componente dentro de um modelo é otimizado 5 para o fim de renderização, o processo pode iterar através de todas as pe- ças de cada componente e examinar as zonas de conexão das quais cada peça é dependente e que formam uma conexão com outra zona de conexão. O resultado determina se a peça pode ser removida, substituída por uma peça opcional, ou mostrada em qualidade total, dependendo dos respectivos 10 tipos de zonas de obstrução associadas com as zonas de conexão formando uma respectiva conexão. Por exemplo, em uma representação digital do modelo, cada pe- ça do componente que pode ser potencialmente removida durante a otimiza- ção pode ser ligada a uma zona de conexão, por exemplo, associando um 15 ou mais atributos apropriados para a peça, tal como um atributo identificando a grade regular e a posição da zona de conexão dentro de dita grade. Em uma modalidade, se uma peça não depende de qualquer zona de conexão então essa peça é sempre mostrada. Em uma modalidade, sempre que uma peça do componente é 20 dependente em mais do que uma zona de conexão, o processo de otimiza- ção determina as propriedades de obstrução para cada zona de conexão baseado nas propriedades de conexão da zona de conexão e nas zonas de obstrução correspondentes das zonas de conexão conectadas. Por exemplo, o resultado para cada zona de conexão pode ser um de "oculta", "opcional" 25 e "mostra". O resultado total para uma peça dependente em mais do que uma zona de conexão pode então ser determinado como o resultado da zo- na de conexão resultando em otimização menor: por exemplo, para uma pe- ça dependente de 8 zonas de conexão, 7 "ocultas" e 1 "opcional", os resul- tados dão "opcional"; similarmente, 1 "ocuíta", 6 "opcionais" e 1 "mostra" dá 30 "mostra". Se o resultado é "opcional" e uma peça opcional não está disponí- vel para a peça atual, o resultado é convertido em "mostra". Se qualquer zo- na de conexão única resulta em "mostra", mais nenhuma zonas de conexão precisa ser testada com respeito à peça atual.
Contanto que nenhuma zona
. de conexão resulte em "mostra", o processo mantém-se testando as zonas de conexão restantes a fim de determinar um resultado "oculto'Topcional". 4
A figura 22 mostra uma vista esquemática de um exemplo de um 5 sistema de computador.
O sistema de computador, geralmente designado 2200, compreende um computador programado apropriadamente 2201, por exemplo, um computador pessoal, uma estação de trabalho, etc., compre- endendo um monitor 2220, um teclado 2221 e um mouse de computador 2222 e/ou outro dispositivo de anotação, tal como uma almofada de toque, 10 uma esfera de rastreamento, uma caneta ótica, uma tela de toque, ou seme- lhante.
O sistema de computador compreende ainda uma base de dados 2202 para armazenar informação sobre todos os modelos de computador
- acessíveis, componentes e peças.
A base de dados 2202 pode ser qualquer sistema de base de dados apropriado, por exemplo, uma base de dados de 15 relacionamento tal como as bases de dados Oracle ou MySQL, ou seme- lhantes.
O sistema de computador compreende ainda um dispositivo de ar- mazenamento de arquivos 2203. O dispositivo de armazenamento de arqui- vos pode ser qualquer tipo apropriado de armazenamento remotamente a- cessível como SMB ou NFS-shares, etc. e as definições de geometria po- 20 dem ser armazenadas em qualquer estrutura de diretório apropriada.
A base de dados 2202 e o armazém de arquivos 2203 são aces- sÍveis ao computador 2011 através de uma rede de computador 2204 apro- priada, por exemplo, uma rede de área local, uma rede de longa distância, uma internet, ou semelhantes.
Será apreciado que a base de dados 2202 25 e/ou o armazém de arquivos 2203 pode ser acessível ao computador 2201 diretamente ou através de outro computador tal como um servidor de arqui- vos, um servidor de bases de dados, e/ou semelhantes.
Será ainda aprecia- do que a base de dados 2202 e/ou o armazém de arquivos 2203 pode ser integrado no computador 2201. Será ainda apreciado que a informação so- 30 bre os modelos de computador, componentes e peças pode ser armazenada de um modo diferente.
O sistema de computador 2200 é adaptado para facilitar a visua-
Iização/renderização de modelos de computador.
O sistema de computador
. pode ser usado como sistema autônomo ou em conexão com outros compu- tadores.
Consequentemente, em algumas modalidades, o sistema de com- . putador 2200 compreende ainda uma ou mais interfaces para conectar o 5 computador com outros computadores através de uma rede de computador, . por exemplo, a lnternet.
A figura 24 mostra uma interface de usuário gráfica de uma fer- ramenta de construção implementada por computador.
A interface de usuá- rio compreende uma área de monitor 2401 mostrando uma vista de uma ce- lO na 3D com uma placa de base 2402 e um modelo de computador 2403 compreendendo um número de pontos de vista predeterminado.
No que se segue, o ponto de vista também será referido como a posição da câmera
· (virtual), uma vez que ele corresponde a uma posição a partir da qual a câ- mara pode gravar uma fotografia de uma estrutura real correspondendo à 15 fotografia gráfica mostrada na área do monitor.
Cada um dos componentes corresponde a um elemento ativo da interface de usuário gráfica que pode ser ativada, por exemplo, clicando nela com um mouse de computador, para selecionar esse componente.
Em uma modalidade, um componente selecionado muda de aparência.
Por exemplo, 20 o componente selecionado pode mudar a cor, textura, etc.; ele pode ser re- alçado mostrando uma caixa de confinamento em torno do bloco de constru- ção selecionado, ou semelhante.
Um usuário pode manipular um componen- te selecionado, por exemplo, mudar suas propriedades, por exemplo, sua cor, deletar o mesmo, efetuar uma cópia e operação de pasta, arrastar o 25 mesmo para uma posição diferente, girar o mesmo, ou semelhante.
A interface de usuário compreende ainda um painel de palheta de cores 2405 compreendendo um número de componentes diferentes 2406 que podem ser selecionados pelo usuário.
Por exemplo, um usuário pode clicar em um dos componentes 2406 com o mouse, deste modo selecionan- 30 do aquele componente e arrastar o componente selecionado para dentro da área de monitor 2401 para conectar o mesmo à estrutura 2403 ou à placa de base 2402. A interface de usuário compreende ainda uma barra de menu
2407 compreendendo um número de botões de menu 2408 para ativar vá-
. rias funções ou ferramentas.
Por exemplo, a barra de ferramentas pode compreender uma ferramenta de rotação para mudar a posição da cãmera a virtual, deste modo permitindo ao usuário visualizar a área de construção a 5 partir de direções diferentes.
A barra de menu compreende ainda uma fer- ramenta de zoom para usar as lentes de zoom paral a partir de dentro e fora da cena 3D.
Outros exemplos de ferramentas incluem uma ferramenta de palheta de cores para selecionar palhetas diferentes 2405 cada uma com- preendendo um conjunto diferente de componentes, uma ferramenta de co- lO lorir para coIorir as peças da estrutura, uma ferramenta de borracha de apa- . gar para apagar os blocos de construção, etc.
A barra de menu 2407 pode ainda prover funções padrão, tais
0 como funções para salvar um modelo, abrir um modelo previamente salvo, imprimir uma imagem de um modelo, uma função de ajuda, etc. 15 Embora algumas modalidades tenham sido descritas e mostra- das em detalhe, a invenção não está restrita às mesmas, mas também pode ser incorporada de outros modos dentro do escopo da matéria objeto defini- da nas seguintes reivindicações.
Em particular, deve ser entendido que ou- tras modalidades podem ser utilizadas e modificações estruturais e funcio- 20 nais podem ser feitas sem sair do escopo da presente invenção- Nas reivindicações do dispositivo enumerando vários meios, vá- rios destes meios podem ser incorporados por um e o mesmo item ou hard- ware.
O simples fato de que certas medidas são descritas nas reivindicações dependentes mutuamente diferentes ou descritas nas modalidades diferen- 25 tes não indica que uma combinação destas medidas não possa ser usada com vantagem.
Deve ser enfatizado que o termo "compreende/compreendendo" quando usado neste relatório é tomado para especificar a presença de ca- racterísticas declaradas, números inteiros, etapas ou componentes, mas não 30 elimina a presença ou a adição de uma ou mais outras características, nú- meros inteiros, etapas, componentes ou grupos dos mesmos.

Claims (19)

REIVINDICAÇÕES
1. Método implementado por computador para visuali- zar/renderizar um método implementado por computador para visuali- zar/renderizar um modelo de computador, o modelo de computador compre- 5 endendo uma pluralidade de componentes, em que o rnétodo compreende: - armazenar uma pIuralidade de peças de pelo menos um de uma pluralidade de componentes, cada peça incluindo informação de geo- metria para visualizar/renderizar a peça, - armazenar informação indicativa da posição e orientação de uma pluralidade de componentes em um sistema de coordenadas, - determinar uma relação espacial entre os individuais dos com- ponentes baseados na informação indicação da posição e orientação da plu- ralidade de componentes armazenada, - determinar para pelo menos um componente um número de peças armazenadas para uso na visualização/renderização de dito compo- nente, baseado na relação espacial determinada entre os componentes indi- viduais.
2. Método implementado por computador para visuali- zar/renderizar um modelo de computador, de acordo com a reivindicação 1, em que pelo menos uma zona de conexão predeterminada é definida em relação a pelo menos um componente, em que dita zona de conexão é indi- cativa de uma porção do componente que pode ser conectada a uma Olj mais zonas de conexão de outro componente.
3. Método implementado por computador para visuali- zar/renderizar um modelo de computador, de acordo com a reivindicação 2, em que a etapa de determinar uma relação espacial entre os componentes individuais compreende a etapa de determinar uma relação espacial das zo- nas de conexão dos componentes individuais.
4. Método implementado por computador para visuali- zar/renderizar um modelo de computador, de acordo com a reivindicação 3, em que a etapa de determinar a relação espacial entre zonas de conexão individuais compreende a etapa de determinar uma distância entre duas zo-
nas de conexão, e onde ditas zonas de conexão são conectadas quando uma distância está dentro de um inteNa|o predeterminado.
5. Método implementado por computador para visuali- zar/renderizar um modelo de computador, de acordo com as reivindicações 5 3 e 4, em que a etapa de determinar a relação espacial entre as zonas de conexão individuais compreende a etapa de determinar a orientação de uma zona de conexão com relação a outra.
6. Método implementado por computador para visuali- zar/renderizar um modelo de computador, de acordo com as reivindicações 4 e 5, em que uma primeira peça do componente está associada com uma ou mais zonas de conexão, e em que a etapa de determinar para o pelo me- nos um componente um número de peças para uso para visualiza- ção/renderização de dito componente compreende determinar se a uma ou mais zonas de conexão é conectada a uma zona de conexão do outro com- ponente.
7. Método implementado por computador para visuali- zar/renderizar um modelo de computador, de acordo com qualquer uma das reivindicações anteriores, em que um primeiro componente compreende uma primeira zona de obstrução de um tipo predeterminado e um segundo componente compreende uma segunda zona de obstrução de um tipo pre- determinado, em que a relação espacial entre a primeira e a segunda zona de obstrução é usada para determinar uma porção do primeiro componente obstruído pelo segundo componente- B.
Método implementado por computador para visuali- zar/renderizar um modelo de computador, de acordo com qualquer uma das reivindicações anteriores, em que o método compreende determinar uma peça como não usada para visualizar/renderizar um componente quando pelo menos uma porção predeterminada da área de superfície da peça é coberta por uma ou mais outras peças quando visualizada a partir de qual- quer direção externa da caixa de confinamento de dito modelo de computa- dor.
9. Método implementado por computador para visuali-
zar/renderizar um modelo de computador, de acordo com qualquer uma das reivindicações anteriores, em que a etapa de determinar para o pelo menos . um componente um número de peças para uso para visualizar/renderizar « dito componente compreende ainda a etapa de determinas as propriedades 5 de material de um componente, e baseado tanto na relação espacial deter- . minada como nas propriedades de material determinadas, determinando um número de peças para uso para visualizar/renderizar dito componente.
10. Método implementado por computador para visuali- zar/renderizar um modelo de computador, de acordo com a reivindicação 9, 10 em que a etapa de determinar as propriedades de material compreende a etapa de determinar os ajustes de transparência para um componente.
11. Método implementado por computador para visuali- . zar/renderizar um modelo de computador, de acordo com qualquer uma das reivindicações anteriores, em que o modelo de computador representa um 15 produto compósito.
12. Método implementado por computador para visuali- zar/renderizar um modelo de cornputador, de acordo com qualquer uma das reivindicações anteriores, em que uma primeira peça e uma segunda peça representam uma seção comum de um componente, em que a primeira peça 20 tem um nível mais alto de detalhe do que a segunda peça, e em que a etapa de determinar um número de peças armazenadas para uso para visuali- zar/renderizar dito componente compreende ainda selecionar no máximo uma das primeira e segunda peças para visualizar/renderizar dito compo- nente. 25 13. Programa de computador, em que o programa de computa- dor compreende código de programa de computador executável adaptado para levar um sistema de processamento de dados a efetuar: pelo menos uma etapa do projeto compreendendo - prover uma ferramenta de construção implementada por com- 30 putador para permitir qLIe um usuário selecione uma respectiva representa- ção digital de uma pluralidade de componentes de um repositório de compo- nentes, onde cada componente é compreendido de uma pluralidade de pe-
ças, e dispor os componentes selecionados em uma relação espacial um com os outros de modo a gerar uma representação digital de um produto compósito, e outra etapa de processamento compreendendo 5 - gerar uma visualização/renderização de pelo menos uma por- ção do produto compósito em que a geração compreende: - armazenar uma pluralidade de peças de pelo menos um da pluralidade de componentes, cada peça incluindo informação de geometria para visualizar/renderizar a peça, - armazenar informação indicativa da posição e orientação de uma pluralidade de componentes em um sistema de coordenadas, - determinar uma relação espacial entre aqueles individuais dos componentes baseada na informação armazenada indicativa da posição e orientação da pluralidade de componentes, - determinar para pelo menos um componente um número de peças armazenadas para uso na visualização/renderização de dito compo- nente, baseado na relação espacial determinada entre os componentes ind j- viduais.
14. Programa de computador, de acordo com a reivindicação 13, em que o programa de computador é um programa de computador de brin- quedo para crianças.
15. Estrutura de dados para uso com um método suplementado por computador, de acordo com qualquer uma das reivindicações acima 1 a 12, em que a estrutura de dados compreende uma estrutura de dados para um modelo de computador compreendendo: - parâmetros de modelo; e - um número de componentes; em que cada componente compreende uma estrutura de dados compreendendo: - parâmetros de componentes; - um número de zonas de conexão, compreendendo uma estru- tura de dados compreendendo parâmetros de zonas de conexão;
- um número de zonas de obstrução, compreendendo uma estru- tura de dados compreendendo parâmetros de zonas de obstrução; e - um número de peças, compreendendo uma estrutura de dados compreendendo parâmetros de peças. 5 16. Sistema de processamento de dados tendo armazenado ne- le meios de códigos de programa adaptados para fazer com que o sistema de processamento de dados realize as etapas do método como definido em qualquer uma das reivindicações 1 a 12, quando ditos meios de códigos de programa são executados no sistema de processamento de dados.
17. Produto de programa de computador compreendendo meios de códigos de programa adaptados para fazer com que um sistema de pro- cessamento de dados realize as etapas do método como definido em qual- quer uma das reivindicações 1 a 12, quando ditos meios de códigos de pro- grama de computador são executados no sistema de processamento de da- dos.
18. Produto de programa de computador, de acordo com a rei- vindicação 16, compreendendo um meio legivel por computador tendo ar- mazenado nele meios de código de programa.
19. Sinal de dados de computador incorporado em uma onda de transporte e representando as sequências de instruções que, quando execu- tadas por um processador, faz com que o processador realize as etapas do método como definido em qualquer uma das reivindicações 1 a 12.
BR112012007559-4A 2009-10-02 2010-09-10 Método implementado por computador para visualizar/renderizar um modelo de computador BR112012007559B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DKPA200970141 2009-10-02
DKPA200970141 2009-10-02
PCT/EP2010/063296 WO2011039041A2 (en) 2009-10-02 2010-09-10 Connectivity depended geometry optimization for real-time rendering

Publications (2)

Publication Number Publication Date
BR112012007559A2 true BR112012007559A2 (pt) 2020-08-11
BR112012007559B1 BR112012007559B1 (pt) 2021-04-27

Family

ID=42226509

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012007559-4A BR112012007559B1 (pt) 2009-10-02 2010-09-10 Método implementado por computador para visualizar/renderizar um modelo de computador

Country Status (13)

Country Link
US (1) US9230360B2 (pt)
EP (1) EP2483868B1 (pt)
JP (1) JP5665872B2 (pt)
KR (1) KR101721715B1 (pt)
CN (1) CN102782728B (pt)
BR (1) BR112012007559B1 (pt)
CA (1) CA2774114C (pt)
DK (1) DK2483868T3 (pt)
ES (1) ES2528605T3 (pt)
HK (1) HK1174135A1 (pt)
MX (1) MX2012003896A (pt)
PL (1) PL2483868T3 (pt)
WO (1) WO2011039041A2 (pt)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10016694B2 (en) * 2011-07-05 2018-07-10 Lego A/S Method and system for designing and producing a user-defined toy construction element
USD794466S1 (en) * 2012-08-09 2017-08-15 Friendship Products, Llc Container
USD806553S1 (en) * 2012-08-09 2018-01-02 Friendship Products, Llc Container
USD794467S1 (en) * 2012-08-09 2017-08-15 Friendship Products, Llc Container
JP2014102685A (ja) * 2012-11-20 2014-06-05 Sony Corp 情報処理装置、情報処理方法及びプログラム
US9239891B2 (en) 2013-05-23 2016-01-19 Fca Us Llc System and method for determining a mated surface of an object having a plurality of members
JP5505848B1 (ja) 2013-12-02 2014-05-28 株式会社サイバーノイズ 画像処理装置、画像処理方法及びプログラム
JP6193135B2 (ja) 2014-01-21 2017-09-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
JP6027554B2 (ja) 2014-01-21 2016-11-16 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、ブロックシステム、および情報処理方法
EP3098782B1 (en) * 2014-01-21 2021-06-16 Sony Interactive Entertainment Inc. Information processing device and information processing method
JP5610327B1 (ja) 2014-03-18 2014-10-22 株式会社Live2D 画像処理装置、画像処理方法及びプログラム
USD795925S1 (en) * 2014-04-16 2017-08-29 Hitachi, Ltd. Display screen or portion thereof with icon
US10176520B2 (en) * 2015-07-07 2019-01-08 The Boeing Company Product visualization system
US10650222B2 (en) * 2016-05-09 2020-05-12 Lego A/S System and method for toy recognition
EP3299072A1 (en) * 2016-09-27 2018-03-28 Danmarks Tekniske Universitet Method and toy element for generating a computer-readable representation of a construction made of toy building elements
LU100390B1 (en) * 2017-09-05 2019-03-19 Luxembourg Inst Science & Tech List Stretchable interactive tangibles
USD844394S1 (en) 2018-03-29 2019-04-02 Kraft Foods Group Brands Llc Mold
US10894342B2 (en) 2018-03-29 2021-01-19 Kraft Foods Group Brands Llc System and method for molding comestible building blocks
KR102384304B1 (ko) * 2019-07-15 2022-04-07 레고 에이/에스 렌더링 방법 및 이를 수행하는 렌더링 장치
JP7122583B1 (ja) 2022-01-14 2022-08-22 株式会社G-ant ブロックオブジェクトの設計図を生成する方法
KR102658703B1 (ko) * 2023-01-31 2024-04-18 김진한 코딩 교육용 교구 설계도 생성 시스템

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3010A (en) * 1843-03-21 Iiziiiiijiiii
US6335732B1 (en) * 1998-05-08 2002-01-01 Mohammad Salim Shaikh External recognition and rendering method
US6629065B1 (en) 1998-09-30 2003-09-30 Wisconsin Alumni Research Foundation Methods and apparata for rapid computer-aided design of objects in virtual reality and other environments
AU2092900A (en) * 1999-01-22 2000-08-07 Thomsen, Michael Virtual reality modelling
US6435226B1 (en) * 1999-12-08 2002-08-20 Mark D. Shaw Method and apparatus for breaching and venting sealed inner containers within a drum
US20020196250A1 (en) 2001-06-20 2002-12-26 Gateway, Inc. Parts assembly for virtual representation and content creation
US6897863B2 (en) * 2001-11-30 2005-05-24 Caterpillar Inc System and method for hidden object removal
RU2324975C2 (ru) * 2001-12-21 2008-05-20 Здфакто Апс Способ, компьютерная система и компьютерный программный продукт для настройки виртуального представления компоновки множества компонентов
CA2497621C (en) 2002-10-11 2012-09-25 Interlego Ag Method of generating a computer readable model
CN100495443C (zh) * 2002-10-11 2009-06-03 乐高公司 生成计算机可读模型的方法和数据处理系统
US7755620B2 (en) * 2003-05-20 2010-07-13 Interlego Ag Method and system for manipulating a digital representation of a three-dimensional object
US7979251B2 (en) * 2007-03-16 2011-07-12 Lego A/S Automatic generation of building instructions for building element models
US8581902B2 (en) 2008-01-17 2013-11-12 Dassault Systems Solidworks Corporation Reducing the size of a model using visibility factors

Also Published As

Publication number Publication date
JP5665872B2 (ja) 2015-02-04
EP2483868B1 (en) 2014-12-24
KR101721715B1 (ko) 2017-03-30
CA2774114C (en) 2018-07-31
WO2011039041A2 (en) 2011-04-07
EP2483868A2 (en) 2012-08-08
CN102782728A (zh) 2012-11-14
CA2774114A1 (en) 2011-04-07
PL2483868T3 (pl) 2015-04-30
ES2528605T3 (es) 2015-02-10
MX2012003896A (es) 2012-05-08
CN102782728B (zh) 2016-03-23
WO2011039041A3 (en) 2012-01-05
JP2013506896A (ja) 2013-02-28
BR112012007559B1 (pt) 2021-04-27
US20120280993A1 (en) 2012-11-08
HK1174135A1 (zh) 2013-05-31
DK2483868T3 (en) 2015-03-23
KR20120083893A (ko) 2012-07-26
US9230360B2 (en) 2016-01-05

Similar Documents

Publication Publication Date Title
BR112012007559A2 (pt) otimização de geometria dependente de conectividade para renderização em tempo real
Ikehata et al. Structured indoor modeling
US7979251B2 (en) Automatic generation of building instructions for building element models
KR20050049531A (ko) 컴퓨터 판독가능한 모델을 생성하는 방법
Panchetti et al. Towards recovery of complex shapes in meshes using digital images for reverse engineering applications
Ray et al. Hex-dominant meshing: mind the gap!
CN109983509B (zh) 一种使用几何面的即时布尔运算方法
Kelly et al. Interactive dimensioning of parametric models
Fayolle et al. Optimized surface discretization of functionally defined multi-material objects
Rassovsky Cubical marching squares implementation
McCrae Planar section representations of 3d shape
Parra Oyarce Study and evaluation of algorithms to generate polygon meshes
Eissa Image Space Coverage Model for Deployment of Multi-camera Networks
Vasiljevs Procedural modeling of park layouts
Thokala Haptic enabled multidimensional canvas
JP2021005212A (ja) 建物設計支援装置及び建物設計支援プログラム
Ribicic Comparative Rendering of Simulation Scenarios
Khattak A variational approach to mapping: an exploration of map representation for SLAM
Sulaiman et al. Development of real-time virtual environment with hierarchical construction
Boothroyd Using Mesh Cutting in an Interactive Podiatric Orthopaedic Surgery Simulator
Bernardon Function statistics applied to volume rendering: transfer functions design and computational issues on discrete functions
Acosta Stable haptic virtual reality application development platform
Nimscheck Adaptive Mesh Generation for Radiosity Methods
Stolpner Coarse-to-fine medial surfaces
Spinelli et al. Recovering 3D architectural information from dense digital models of buildings.

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Notification to applicant to reply to the report for non-patentability or inadequacy of the application [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 27/04/2021, OBSERVADAS AS CONDICOES LEGAIS.