2D IMAGE MAPPED TO 3D
Autor: Victor Marcelo Franco Regio dos Passos | Publicado: 2011-03-28T06:20:00-07:00

learningprocessing - Fonte


Código Processing// Learning Processing
// Daniel Shiffman
// http://www.learningprocessing.com

// Example 15-15: 2D image mapped to 3D

PImage img;       // The source image
int cellsize = 2; // Dimensions of each cell in the grid
int cols, rows;   // Number of columns and rows in our system

void setup() {
  size(200,200,P3D);
  img = loadImage( "sunflower.jpg" ); // Load the image
  cols = width/cellsize;              // Calculate # of columns
  rows = height/cellsize;             // Calculate # of rows
}

void draw() {
  background(255);
  img.loadPixels();

  // Begin loop for columns
  for (int i = 0; i &lt; cols; i++ ) {
    // Begin loop for rows
    for (int j = 0; j &lt; rows; j++ ) {
      int x = i*cellsize + cellsize/2; // x position
      int y = j*cellsize + cellsize/2; // y position
      int loc = x + y*width;           // Pixel array location
      color c = img.pixels[loc];       // Grab the color

      // Calculate a z position as a function of mouseX and pixel brightness
      float z = (mouseX/(float)width) * brightness(img.pixels[loc])- 100.0;

      // Translate to the location, set fill and stroke, and draw the rect
      pushMatrix();
      translate(x,y,z); 
      fill(c);
      noStroke();
      rectMode(CENTER);
      rect(0,0,cellsize,cellsize);
      popMatrix();

    }
  }
}


Método de processamento de imagens 2D mapeada em objetos 3D
Site em Inglês

Um método de processamento de imagens em imagens compreendendo objetos tridimensionais, o método compreendendo uma etapa de mapeamento de uma imagem bidimensional em uma face de um objeto tridimensional, um passo de interação entre o usuário ea imagem bidimensional mapeado no a imagem tridimensional, destina-se a permitir que um usuário para deslocar a totalidade ou parte da imagem bidimensional na face do objeto tridimensional. Este método permite que o usuário para mapear uma imagem fixa 2D ou uma imagem de vídeo em uma face de um objeto 3D, e para deslocar a imagem como quiser sobre a face do objeto que ele escolheu. Se a imagem é constituída por várias peças, por exemplo, as peças de um quebra-cabeça, o utilizador pode deslocar cada parte dessa imagem, por exemplo, de modo a reconstituir a imagem inicial do puzzle.
<span closure_uid_vbq9et="575" gd="FIELD OF THE INVENTION" hd="CAMPO DA INVENÇÃO
" style="background-color: #e6ecf9; color: black;" title="">CAMPO DA INVENÇÃOA invenção se refere a um método de processamento de imagens em imagens compreendendo objetos em três dimensões, o referido método compreendendo uma etapa de mapeamento de uma imagem bidimensional em uma face de um objeto tridimensional. <span closure_uid_vbq9et="577" gd="The invention is used, for example, in the ICT industry, notably in video games." hd="A invenção é utilizada, por exemplo, no sector das TIC, nomeadamente em jogos de vídeo.

" title="">A invenção é utilizada, por exemplo, no sector das TIC, nomeadamente em jogos de vídeo.<span closure_uid_vbq9et="578" gd="BACKGROUND OF THE INVENTION" hd="FUNDAMENTOS DA INVENÇÃO
" title="">FUNDAMENTOS DA INVENÇÃOA projeção de objetos tridimensionais (3D seguir objetos) em uma tela é atualmente utilizada em especial na concepção de jogos de vídeo. inúmeras interfaces, referido como HAL (Hardware Abstraction Layer) permite a simplificação deste projeto através da realização de interfaces entre o idioma do software utilizado para a concepção e uma placa gráfica, permitindo a projecção de imagens 3D. Algumas dessas interfaces permitem a aplicação de uma imagem bidimensional (2D imagem a seguir) sobre uma face de um objeto 3D. Isso é chamado de "mapeamento". Por exemplo, é possível mapear uma tapeçaria nas paredes de uma peça apresentada em 3D, ou uma textura nas faces de um cubo 3D. Além disso, o desenvolvimento de vídeo digital, por exemplo, no formato MPEG, permite a interação entre o mundo do vídeo e do mundo 3D. Assim, linguagens de determinado projeto para imagens 3D permite o uso futuro dos vídeos nestas imagens. Este é o caso, por exemplo, com a linguagem VRML (Virtual Reality Modeling Language) descrito na ISO/IEC14772-1 padrão: 1997. Esta linguagem é uma linguagem de descrição de cena que prevê a possibilidade particular de mapeamento de imagens de vídeo no formato MPEG em uma face de um objeto 3D. Essa linguagem permite também o mapeamento de uma imagem fixa no rosto de um objeto 3D. A linguagem VRML descreve uma cena por meio de uma árvore constituída por diferentes nós. A cena é descrita através de um arquivo de texto. <span closure_uid_vbq9et="591" gd="A 2D image is mapped on a 3D object by virtue of the “image texture” node and a video mapping is effected by virtue of the “movie texture” node." hd="A imagem em 2D é mapeado em um objeto 3D em virtude da &quot;imagem de textura&quot; nó e um mapeamento de vídeo é feita por intermédio do filme &quot;textura&quot; do nó.

" title="">A imagem em 2D é mapeado em um objeto 3D em virtude da "imagem de textura" nó e um mapeamento de vídeo é feita por intermédio do filme "textura" do nó.<span closure_uid_vbq9et="592" gd="OBJECT AND SUMMARY OF THE INVENTION" hd="OBJETO E SUMÁRIO DA INVENÇÃO
" title="">OBJETO E SUMÁRIO DA INVENÇÃO<span closure_uid_vbq9et="593" gd="It is an object of the invention to propose a method allowing interaction between a user and a 2D fixed image or a video image mapped on a face of a 3D object." hd="É um objeto da invenção propor um método que permite a interação entre um usuário e uma imagem 2D fixo ou uma imagem de vídeo mapeada em uma face de um objeto 3D.

" title="">É um objeto da invenção propor um método que permite a interação entre um usuário e uma imagem 2D fixo ou uma imagem de vídeo mapeada em uma face de um objeto 3D.De acordo com a invenção, um método, como descrito no parágrafo de abertura é caracterizada em que o método compreende uma etapa de interação entre o usuário ea imagem bidimensional mapeados no objeto tridimensional, disse que a etapa de interação se destina a permitir que o usuário <span closure_uid_vbq9et="595" gd="to displace the whole or a part of the two-dimensional image on the face of the three-dimensional object." hd="para deslocar a totalidade ou uma parte da imagem bidimensional na face do objeto tridimensional.

" title="">para deslocar a totalidade ou uma parte da imagem bidimensional na face do objeto tridimensional.A invenção tem os seguintes aspectos em consideração. Quando um usuário mapeia uma imagem 2D fixo ou uma imagem de vídeo (a palavra "imagem" que a seguir referem-se tanto uma imagem fixa e uma imagem de vídeo) em uma face de um objeto 3D, a imagem tem o tamanho desse cara e é não é possível interagir com o conteúdo resultante desta operação. <span closure_uid_vbq9et="599" gd="For example, it could be desirable to displace the image on the face of the 3D object, or to displace a part of this image if it is constituted by several parts." hd="Por exemplo, poderia ser desejável para deslocar a imagem na face do objeto 3D, ou para substituir uma parte desta imagem, se é constituído por várias partes.

" title="">Por exemplo, poderia ser desejável para deslocar a imagem na face do objeto 3D, ou para substituir uma parte desta imagem, se é constituído por várias partes.De acordo com a tecnologia anterior, é possível para um usuário para deslocar uma imagem em um plano 2D. <span closure_uid_vbq9et="601" gd="For example, the MPEG-4 standard authorizes a user to interact with a video object, allowing him to displace the whole or part of this object in the display window of the video object." hd="Por exemplo, o padrão MPEG-4 permite a um usuário interagir com um objeto de vídeo, permitindo-lhe deslocar a totalidade ou parte do objeto na janela de exibição do objeto de vídeo.

" title="">Por exemplo, o padrão MPEG-4 permite a um usuário interagir com um objeto de vídeo, permitindo-lhe deslocar a totalidade ou parte do objeto na janela de exibição do objeto de vídeo.O seguinte princípio permite que um usuário para deslocar uma imagem 2D mapeada em um objeto 3D, em especial tendo em conta a perspectiva. Cada objeto 3D é incluído em uma caixa 3D, que é o menor retângulo paralelepípedo, incluindo o objeto em questão. Quando o usuário deseja selecionar uma face de um objeto 3D, ele posiciona o cursor, cujo deslocamento é controlado por um rato, disse na cara e cliques no mouse. Um raio imaginário entre um ponto de observação e na posição onde o usuário clicou permite determinar qual caixa (objeto que assim) e que face da caixa que o usuário deseja selecionar. Em virtude das projeções das faces do objeto 3D na face da caixa selecionada, é possível conhecer o rosto do objeto que o usuário deseja selecionar, bem como do ponto de este rosto que o utilizador queira seleccionar . Este ponto pode corresponder à posição da face em que a imagem 2D ou uma parte desta imagem está mapeada. Por exemplo, no caso de uma imagem de vídeo MPEG-4, este ponto pode corresponder à localização de uma parte da imagem do vídeo na janela de exibição. O problema é saber as coordenadas desse ponto no visor, ou seja, em 2D. Sabendo as coordenadas em 3D do rosto do objeto 3D, bem como as coordenadas em 3D do ponto do rosto do objeto 3D selecionado pelo usuário, uma conversão de coordenadas com base em um cálculo permite que o baricentro 2D coordenadas deste ponto a ser conhecido em um plano 2D correspondentes, por exemplo, na janela de exibição. Uma vez que o 2D coordenadas deste ponto são conhecidos, o problema se resume a um problema 2D que foi resolvido na arte prévia. Quando o usuário desloca este ponto, por exemplo, por meio do cursor controlado pelo mouse, o primeiro ponto é deslocado em um plano 2D, por exemplo, a janela de exibição para um outro ponto neste plano 2D. Como o 2D coordenadas deste ponto são conhecidos outros, a conversão de coordenadas do mesmo tipo, como descrito acima permite que o 3D coordenadas deste outro ponto a ser conhecido. <span closure_uid_vbq9et="616" gd="By virtue of the mouse, the user can thus displace the point which he has selected as desired on the face of the 3D object, thus displacing the image or the part of the image which he has selected." hd="Em virtude do mouse, o usuário pode, assim, deslocar o ponto de que ele selecionou como desejado na face do objeto 3D, deslocando, assim, a imagem ou a parte da imagem que ele escolheu.

" title="">Em virtude do mouse, o usuário pode, assim, deslocar o ponto de que ele selecionou como desejado na face do objeto 3D, deslocando, assim, a imagem ou a parte da imagem que ele escolheu.Este método tem a vantagem de permitir um mapeamento mais flexível da imagem 2D nas faces de um objeto 3D. Com efeito, o utilizador pode colocar a imagem na posição desejada sobre a cara de um objeto 3D e deslocar a imagem como ele deseja sobre este cara simplesmente usando, por exemplo, um mouse conectado ao seu computador. Este método pode ser interessante para o criador, em que ele pode, por exemplo, criar um quebra-cabeça em um rosto de um objeto 3D que está parado ou em movimento. Na verdade, um quebra-cabeça em 2D é uma montagem de várias partes de uma imagem. Em um primeiro período de tempo, a imagem é cortada em várias partes, que são distribuídos de forma aleatória em uma área de jogo, que pode ser a tela do computador ou em uma janela na tela. O usuário deve posteriormente deslocar cada peça, a fim de reconstituir a imagem inicial, em que uma peça pode ser deslocada por posicionar o cursor sobre a peça e controlar o deslocamento do cursor, por meio de um mouse conectado ao computador. Em virtude do método de acordo com a invenção, a área do jogo pode ser um cara de um objeto 3D. Note-se que tal um quebra-cabeça pode incluir várias partes de uma imagem de vídeo no formato MPEG-4. <span closure_uid_vbq9et="625" gd="However, this method has multiple uses and is not limited to the design of a puzzle on a face of a 3D object." hd="No entanto, este método tem usos múltiplos e não se limita ao desenho de um quebra-cabeça em um rosto de um objeto 3D.

" title="">No entanto, este método tem usos múltiplos e não se limita ao desenho de um quebra-cabeça em um rosto de um objeto 3D.<span closure_uid_vbq9et="626" gd="BRIEF DESCRIPTION OF THE DRAWINGS" hd="DESCRIÇÃO SUMÁRIA DAS DESENHOS
" title="">DESCRIÇÃO SUMÁRIA DAS DESENHOS<span closure_uid_vbq9et="627" gd="The invention and additional characteristic features which may be used to advantage for carrying the invention into effect will hereinafter be described in greater detail with reference to the following Figures." hd="A invenção e características adicionais que podem ser aproveitados para a realização da invenção em vigor serão em seguida descritos em maiores detalhes com referência para os seguintes números.

" title="">A invenção e características adicionais que podem ser aproveitados para a realização da invenção em vigor serão em seguida descritos em maiores detalhes com referência para os seguintes números.FIG. <span closure_uid_vbq9et="629" gd="1 is a diagram illustrating the characteristic features of the invention;" hd="1 é um diagrama que ilustra as características da invenção;

" title="">1 é um diagrama que ilustra as características da invenção;FIG. <span closure_uid_vbq9et="631" gd="2 illustrates an example of a structure allowing the design of a 3D environment;" hd="2 ilustra um exemplo de uma estrutura que permite a criação de um ambiente 3D;

" title="">2 ilustra um exemplo de uma estrutura que permite a criação de um ambiente 3D;FIGOS. <span closure_uid_vbq9et="633" gd="3 a , 3 b and 3 c illustrate examples of parallelepiped boxes (bounding boxes) comprising 3D objects;" hd="3 a, b 3 e 3 c ilustrar exemplos de caixas de paralelepípedo (bounding boxes), que inclui objetos 3D;

" title="">3 a, b 3 e 3 c ilustrar exemplos de caixas de paralelepípedo (bounding boxes), que inclui objetos 3D;FIG. <span closure_uid_vbq9et="635" gd="4 illustrates a technique allowing selection of a face of a bounding box comprising a 3D object;" hd="4 ilustra uma técnica que permite a seleção de uma face de uma caixa delimitadora que compreende um objeto 3D;

" title="">4 ilustra uma técnica que permite a seleção de uma face de uma caixa delimitadora que compreende um objeto 3D;FIG. <span closure_uid_vbq9et="637" gd="5 illustrates a technique allowing selection of a face of a 3D object;" hd="5 ilustra uma técnica que permite a seleção de uma face de um objeto 3D;

" title="">5 ilustra uma técnica que permite a seleção de uma face de um objeto 3D;FIG. <span closure_uid_vbq9et="639" gd="6 illustrates an example of converting 3D co-ordinates into 2D coordinates;" hd="6 ilustra um exemplo de conversão de coordenadas 3D em coordenadas 2D;

" title="">6 ilustra um exemplo de conversão de coordenadas 3D em coordenadas 2D;FIG. <span closure_uid_vbq9et="641" gd="7 illustrates examples of transforming the shape of an image before it is mapped on a face of the 3D object." hd="7 ilustra exemplos de transformar a forma de uma imagem antes que ela seja mapeada em uma face do objeto 3D.

" title="">7 ilustra exemplos de transformar a forma de uma imagem antes que ela seja mapeada em uma face do objeto 3D.<span closure_uid_vbq9et="642" gd="DESCRIPTION OF PREFERRED EMBODIMENTS" hd="DESCRIÇÃO DO modalidades preferidas
" title="">DESCRIÇÃO DO modalidades preferidasFIG. 1 ilustra as características da invenção. Um sistema com o qual o método de acordo com a invenção é realizada compreende uma unidade central do computador 11, um mouse de 12 controlar um cursor 19, uma tela de computador 13 exibir objetos em 3D, como um paralelepípedo de 14 em cujas faces imagens 2D como uma imagem 15 <span closure_uid_vbq9et="646" gd="can be mapped." hd="podem ser mapeados.

" title="">podem ser mapeados.O exemplo ilustrado se aplica a objetos 3D, como um 17 cilindros, um cubo de 16 ou os 14 paralelepípedo. Neste exemplo, a imagem 15 é mapeado em uma das faces 14 a 14 de paralelepípedo. No caso do quebra-cabeça, a imagem 15, pode ser uma peça do puzzle. Quando o usuário deseja deslocar essa imagem 15 anos, ele usa o mouse 12, que é ligado à unidade central do computador 11, de forma a deslocar o cursor para a posição 19 da primeira imagem 15 na tela do computador 13. O usuário clica sobre uma das teclas do rato 12, a fim de selecionar a imagem 15. O usuário pode então deslocar esta imagem por meio de 15 a 12 do camundongo, de modo a colocá-lo em outra posição do rosto 14 a 14 de paralelepípedo. No caso do quebra-cabeça, o rosto 14 a 14 do paralelepípedo pode representar a área de jogo eo objetivo do jogo é deslocar cada peça mapeado no rosto 14-A, de modo a reconstituir a imagem inicial do puzzle. <span closure_uid_vbq9et="654" gd="It should be noted that the mouse 12 may be replaced by numerous control devices such as, for example, a handle, a pistol or a user's finger; in the latter example, the computer screen 13 is a touch screen." hd="Note-se que o rato 12 podem ser substituídos por dispositivos de controle de inúmeras, como, por exemplo, um punho, uma pistola ou um dedo do usuário e, no último exemplo, a tela do computador 13 é uma tela sensível ao toque.

" title="">Note-se que o rato 12 podem ser substituídos por dispositivos de controle de inúmeras, como, por exemplo, um punho, uma pistola ou um dedo do usuário e, no último exemplo, a tela do computador 13 é uma tela sensível ao toque.FIG. 2 ilustra uma estrutura permitindo o projeto de um ambiente 3D. O exemplo ilustrado se aplica a um projeto na linguagem VRML. <span closure_uid_vbq9et="658" gd="The structure comprises software 21 , a VRML interface 22 , a HAL interface 23 and a graphic card 24 ." hd="A estrutura compreende software 21, uma interface VRML 22, uma interface de HAL 23 e uma placa gráfica 24.

" title="">A estrutura compreende software 21, uma interface VRML 22, uma interface de HAL 23 e uma placa gráfica 24.A interface do HAL 23, por exemplo OpenGL, oferece a possibilidade de realizar a ligação entre a linguagem usada para criar o software de 21 e 24 da placa gráfica. A interface do HAL 23 é uma biblioteca gráfica 3D, ou seja, com base no layout dos primitivos gráficos 3D, a posição da câmera, luz, as imagens a serem mapeados nas superfícies dos objetos 3D e outras informações desse tipo, isso muda, por exemplo, as marcas , a projeção perspectiva sobre a tela ou elimina partes escondidas por objetos 3D. Posteriormente, aborda a placa gráfica 24 de modo a dar-lhe os elementos necessários para a exposição de objetos 3D. Consequentemente, a interface permite HAL 23 ambientes 3D a ser projetado sem levar o cartão gráfico 24 em conta, o imperativo de ser apenas o grau de compatibilidade entre a linguagem utilizada para a concepção, ou seja, aqui VRML, ea interface HAL 23. A interface VRML 22 garante essa compatibilidade, transformando a linguagem VRML, que é uma linguagem textual, em uma linguagem que seja compreensível para a interface do HAL 23, por exemplo, a linguagem C + +. <span closure_uid_vbq9et="665" gd="Similarly, the graphic card 24 may be designed without taking the software language describing the 3D environments which it must display into account, the only imperative being the compatibility between the language used for the graphic card 24 and the HAL interface 23 ." hd="Da mesma forma, a placa gráfica 24 pode ser concebida sem tomar o idioma do software descrevendo os ambientes 3D, que deve exibir em conta o imperativo de ser apenas a compatibilidade entre a linguagem utilizada para a placa gráfica de 24 e da interface HAL 23.

" title="">Da mesma forma, a placa gráfica 24 pode ser concebida sem tomar o idioma do software descrevendo os ambientes 3D, que deve exibir em conta o imperativo de ser apenas a compatibilidade entre a linguagem utilizada para a placa gráfica de 24 e da interface HAL 23.FIGOS. <span closure_uid_vbq9et="667" gd="3 a , 3 b and 3 c illustrate examples of bounding boxes comprising 3D objects." hd="3 a, b 3 e 3 c ilustrar exemplos de caixas delimitadoras compreendendo objetos 3D.

" title="">3 a, b 3 e 3 c ilustrar exemplos de caixas delimitadoras compreendendo objetos 3D.FIG. 3-A mostra uma caixa delimitadora que compreende um cilindro. A altura ea largura da caixa é igual ao diâmetro do cilindro e seu comprimento é igual ao comprimento do cilindro. FIG. 3 b mostra uma caixa delimitadora que compreende um paralelepípedo que não é retangular. A altura da caixa é igual à diagonal de uma das faces do paralelepípedo retangular e não a largura é igual à outra diagonal da face e seu comprimento é igual ao comprimento do paralelepípedo não retangular. FIG. 3-C mostra uma caixa delimitadora que compreende um objeto complexo. As dimensões da caixa são calculados em função das dimensões do objeto complexo, de modo a limitar o seu tamanho para um máximo. Note-se que, para um cubo, a caixa delimitadora que compõem este cubo se funde com este cubo. <span closure_uid_vbq9et="678" gd="This is the same for a parallelepiped rectangle." hd="Este é o mesmo para um retângulo paralelepípedo.

" title="">Este é o mesmo para um retângulo paralelepípedo.FIG. 4 ilustra uma técnica que permite a seleção de uma face de uma caixa delimitadora que compreende um objeto 3D. <span closure_uid_vbq9et="681" gd="The example illustrated applies to a bounding box 46 comprising an object 45 ." hd="O exemplo ilustrado se aplica a uma caixa delimitadora de um objeto composto por 46 45.

" title="">O exemplo ilustrado se aplica a uma caixa delimitadora de um objeto composto por 46 45.Quando o utilizador queira seleccionar uma das faces do objeto 45, o primeiro passo consiste em selecionar uma face da caixa delimitadora 46. O usuário clica em um ponto 42 na tela do computador 13, ou seja, quando o cursor está localizado a 19, neste ponto 42, o usuário pressiona uma das teclas do mouse 12. Um raio imaginário 47 é então calculado, que liga um ponto imaginário também visualizaram 41 e ponto 42 na tela. O ponto de observação é um ponto situado fora da tela do computador 13, que é fixo e pode corresponder, por exemplo, para o meio do rosto do usuário sentado na frente da tela do computador 13. O ponto de intersecção desse raio imaginário 47 com o encontrou pela primeira vez caixa delimitadora que compreende um objeto 3D é posteriormente calculado. Neste exemplo, o primeiro encontrado delimitadora, é a caixa delimitadora 46 que compõem o objeto 45. Um ponto de interseção 43 é então obtido. Note-se que o raio imaginário em geral tem dois pontos de intersecção com uma caixa delimitadora que compreende um objeto 3D. O ponto de interseção retido será aquela que está situada mais próxima à tela do computador 13. A face selecionados da caixa delimitadora 46 é, então, o rosto que compõem o ponto de intersecção 43. O ponto de intersecção da face selecionados do objeto 45 com o raio imaginário 47 é um ponto selecionado 44. A determinação da face selecionada do objeto 45 serão descritas em maior detalhe com referência à FIG. <span closure_uid_vbq9et="694" gd="5 ." hd="5.

" title="">5.FIG. 5 ilustra uma técnica que permite a seleção de uma face de um objeto 3D. <span closure_uid_vbq9et="697" gd="The example illustrated here applies to the selection of a face of the object 45 , in which the selected face of the bounding box 46 and the point of intersection 43 are known." hd="O exemplo mostrado aqui aplica-se à seleção de uma face do objeto 45, em que o rosto selecionado da caixa delimitadora 46 e do ponto de intersecção 43 são conhecidos.

" title="">O exemplo mostrado aqui aplica-se à seleção de uma face do objeto 45, em que o rosto selecionado da caixa delimitadora 46 e do ponto de intersecção 43 são conhecidos.O seguinte princípio permite a seleção de uma face do objeto 45. O objeto 45 é projetada sobre o rosto selecionado da caixa delimitadora 46 para obter uma projeção de 56. Essa projeção inclui cinco setores enumerados 51-55 correspondente ao rosto ou partes das faces do objeto 45. O setor que compreende o ponto de interseção 43 é retida, ou seja, o setor 51 no exemplo ilustrado aqui. A face selecionados do objeto 45 é, assim, face ao qual o setor 51, em 56 corresponde a projeção. As técnicas ilustradas por figos. 4 e 5, assim, proporcionar a possibilidade de que, com base no ponto 42 na tela do computador 13 selecionados pelo usuário, as coordenadas 3D da face do objeto que este utilizador queira seleccionar são conhecidos. Essas técnicas também oferecem a possibilidade de conhecer as coordenadas 3D do ponto selecionado 44, que é o ponto de intersecção entre o raio do imaginário e da face do objeto que o usuário deseja selecionar. No caso de, por exemplo, o quebra-cabeça, o ponto selecionado 44 pode corresponder à localização de uma das peças do quebra-cabeça e da face selecionada do objeto pode corresponder a área de jogo. Quando o usuário deseja deslocar a parte situada no ponto seleccionado 44, de modo a colocá-lo em outra posição da face selecionados, ele clica no ponto de selecionados, 44 por meio do mouse 12 e detém o clique enquanto deslocando o mouse. Para tornar esta acção possível, deve ser conhecida como a peça se desloca na área dos jogos, ou seja, em um ambiente 2D quando o usuário se desloca no ambiente 3D. As coordenadas devem, portanto, ser convertido de forma a saber, por exemplo, as coordenadas do ponto selecionado 44 na área de jogo. Esta conversão de coordenadas serão descritas em maior detalhe com referência à FIG. <span closure_uid_vbq9et="711" gd="6 ." hd="6.

" title="">6.FIG. 6 ilustra um exemplo de conversão de coordenadas 3D em coordenadas 2D. O exemplo se aplica a um K primeiro ponto pertencente a um cara com 4 vértices A, B, C e D (ABCD face) de um objeto 3D. No exemplo considerado, a face ABCD tem uma forma rectangular, mas o método ilustrado abaixo da mesma forma se aplica, por exemplo, o ponto selecionado 44 da face selecionada do objeto 45 ter uma forma arbitrária. O objetivo do método é ilustrado aqui para converter o 3D coordenadas do primeiro ponto K em 2D coordenadas de um ponto K terceiro "em um plano A" B "C" D "corresponde, por exemplo, para a área de jogos em <span closure_uid_vbq9et="717" gd="the case of a puzzle or to the display window in the case of a video image." hd="o caso de um quebra-cabeça ou na janela de exibição, no caso de uma imagem de vídeo.

" title="">o caso de um quebra-cabeça ou na janela de exibição, no caso de uma imagem de vídeo.O primeiro passo é converter as coordenadas 3D do ponto K primeiro em 2D de um segundo ponto K 'em um quadro de referência A'B'C'D', que é um quadro de referência uma praça, ou seja, "tem coordenadas (0, 0), B (1, 0), C (1, 1) e D (0, 1). Para este efeito, os pesos α, β, γ e δ são calculadas com que K seria o baricentro de A, B, C e D em virtude da relação vetorial, que é válido para cada ponto M da face ABCD, onde MA <span closure_uid_vbq9et="721" gd="designates the MA vector and where the sum (α+β+γ+δ) is different from zero:" hd="designa o vetor MA e onde a soma (α + β + γ + δ) é diferente de zero:
" title="">designa o vetor MA e onde a soma (α + β + γ + δ) é diferente de zero:<span closure_uid_vbq9et="722" gd="α MA+βMB+γMC+δMD =(α+β+γ+δ) MK" hd="α MA + + βMB γMC + δMD = MK (α + β + γ + δ)
" title="">α MA + + βMB γMC + δMD = MK (α + β + γ + δ)A solução dessa equação é encontrada, por um lado, ao projetar essa relação vetorial em um vetor arbitrário uma vez que este vetor não é ortogonal ao plano ABCD nem incluídas neste plano ABCD, com as quais três equações algébricas podem ser obtidos enquanto, Por outro lado, uma equação algébrica é obtida quarto, escolhendo o ponto O como ponto M particular com (0, 0, 0) em 3D de coordenadas, o que significa que 1 = α + β + γ + δ. Os pesos α, β, γ e δ são calculados resolvendo o sistema de 4 equações a 4 incógnitas. O ponto K 'é baricentro dos pontos A, B, C e D ", com coeficientes associados α, β, γ e δ. Posteriormente, uma determina a semelhança com os quais a A "B" C "D" de avião podem ser obtidos a partir do referencial A'B'C'D 'e esta similaridade é aplicada a ponto K', a fim de obter as coordenadas 2D do ponto K ". Desde o ponto ea face do objeto 3D que o utilizador queira seleccionar são conhecidas, o ponto correspondente a este ponto selecionadas em um plano corresponde, por exemplo, a área de jogo, no caso de um enigma ou a janela de exibição no caso de uma imagem de vídeo é conhecido. O usuário pode, assim, deslocar o ponto selecionado na face selecionados por meio do mouse 12 ou outro dispositivo de controle. Note-se que esta ação será possível, mesmo se os objetos 3D estão em movimento e as técnicas descritas com referência à FIGOS. <span closure_uid_vbq9et="733" gd="4 to 6 will be the same in this case." hd="4-6 será o mesmo neste caso.

" title="">4-6 será o mesmo neste caso.FIG. 7 ilustra exemplos de transformar a forma de uma imagem antes que ela seja mapeada em uma face de um objeto 3D. Algumas linguagens de software, para VRML exemplo, permitir a deformação da forma da imagem que se quer mapear em uma face de um objeto 3D. Por exemplo, no caso de o enigma pode deformar a área de jogo ou, no caso de uma imagem de vídeo, pode-se deformar a janela de exibição. Esta é efectuada por deformar o quadro de referência A'B'C'D. FIG. 7 mostra três exemplos de transformar o quadro de referência A'B'C'D, um primeiro exemplo levando a um quadro de referência antes transformado A B 1 1 C 1 D 1, um segundo exemplo levando a um quadro de referência segundo transformado A B 2 2 C 2 D 2, um terceiro exemplo, levando a um quadro de referência terceira transformou A 3 B 3 C 3 D 3. Quando o ponto K 'foi determinado, uma etapa suplementar é necessário, antes de calcular as coordenadas do ponto K ". No caso da primeira transformação, uma calcula as coordenadas de um ponto de primeiro transformou K 1 antes de aplicar a similaridade com este ponto com o qual o plano A "B" C "D" podem ser obtidos a partir do referencial A'B "C'D 'a fim de obter as coordenadas do ponto K". As coordenadas do ponto K 1 são calculados como segue. A referência xM é a abcissa de um ponto M e yM é a ordenada deste ponto M. Se o ponto K 'situa-se num triângulo formado pelos pontos A', B 'e D', como é o caso no exemplo <span closure_uid_vbq9et="747" gd="illustrated here, the following formulas are applied:" hd="ilustrado aqui, as fórmulas são aplicadas as seguintes:
" title="">ilustrado aqui, as fórmulas são aplicadas as seguintes:<span closure_uid_vbq9et="748" gd="xK 1 = xK ′*( xB 1 − xA 1 )+(1 −yK′ )* xA 1 + yK′*xD 1" hd="xK xK 1 = '* (1 xB - xA 1) + (1 yK &quot;) xA * 1 + * yK' xD 1
" title="">xK xK 1 = '* (1 xB - xA 1) + (1 yK ") xA * 1 + * yK' xD 1<span closure_uid_vbq9et="749" gd="yK 1 = yK ′*( yD 1 − yA 1 )+(1 −xK′ )* yA 1 + xK′*yB 1" hd="yK yK 1 = '* (m 1 - yA 1) + (1 XK-') * yA yB xK * 1 + &quot;1
" title="">yK yK 1 = '* (m 1 - yA 1) + (1 XK-') * yA yB xK * 1 + "1<span closure_uid_vbq9et="750" gd="If the point K′ is situated in a triangle formed by the points B′, C′ and D′, the following formulas are applied:" hd="Se o ponto K 'situa-se num triângulo formado pelos pontos B, C e D &quot;, as fórmulas são aplicadas as seguintes:
" title="">Se o ponto K 'situa-se num triângulo formado pelos pontos B, C e D ", as fórmulas são aplicadas as seguintes:<span closure_uid_vbq9et="751" gd="xK 1 =1−((1 −xK ′)*( xC 1 −xD 1 )+ yK ′*(1 −xC 1 )+(1 −yK ′)*(1 −xB 1 ))" hd="xK 1 = 1 - ('*) (xC 1 1-xD) + yK »(1 XK-* (1-XC 1) + * (1 yK') (1 xB-1))
" title="">xK 1 = 1 - ('*) (xC 1 1-xD) + yK »(1 XK-* (1-XC 1) + * (1 yK') (1 xB-1))<span closure_uid_vbq9et="752" gd="yK 1 =1−((1 −yK ′)*( xC 1 −xB 1 )+ xK ′*(1 −yC 1 )+(1 −xK ′)*(1 −yD 1 ))" hd="yK 1 = 1 - ('*) (xB xC 1-1) + xK »(1 YK-* (1 1-YC) + * (1 xK») (1-m 1))
" title="">yK 1 = 1 - ('*) (xB xC 1-1) + xK »(1 YK-* (1 1-YC) + * (1 xK») (1-m 1))As coordenadas de um ponto segundo transformou K 2 no caso da segunda transformação e co-ordenadas de um terceiro ponto transformou K 3, no caso da terceira transformação são calculados da mesma maneira como as coordenadas da transformada <span closure_uid_vbq9et="754" gd="point K 1 ." hd="ponto K 1.

" title="">ponto K 1.A descrição acima, com referência às figuras ilustra um pouco do que os limites da invenção. <span closure_uid_vbq9et="756" gd="In this respect, several remarks are made below." hd="A este respeito, várias observações são feitas a seguir.

" title="">A este respeito, várias observações são feitas a seguir.FIGOS. 2-7 aplicar o exemplo da linguagem VRML. <span closure_uid_vbq9et="759" gd="The invention may also be used for other languages for describing the 3D environment as soon as these languages provide the possibility of mapping 2D fixed images or video images on faces of 3D objects." hd="A invenção também pode ser usado para outras linguagens para descrever o ambiente 3D, logo que essas linguagens oferecem a possibilidade de mapeamento de 2D imagens fixas ou imagens de vídeo nas faces dos objetos 3D.

" title="">A invenção também pode ser usado para outras linguagens para descrever o ambiente 3D, logo que essas linguagens oferecem a possibilidade de mapeamento de 2D imagens fixas ou imagens de vídeo nas faces dos objetos 3D.O exemplo do quebra-cabeças usadas na descrição das figuras é uma possibilidade de utilizar a invenção. <span closure_uid_vbq9et="761" gd="It will be evident that the invention is not limited to this example but that it applies to all forms of mapping 2D elements on 3D elements." hd="Torna-se evidente que a invenção não se limita a esse exemplo, mas que se aplica a todas as formas de mapeamento de elementos em 2D com elementos 3D.

" title="">Torna-se evidente que a invenção não se limita a esse exemplo, mas que se aplica a todas as formas de mapeamento de elementos em 2D com elementos 3D.Em princípio, é possível implementar o método de acordo com a invenção por meio de um dispositivo de processamento de dados, por exemplo, um circuito de computador devidamente programado. Um conjunto de instruções que consistam em uma memória de programação pode fazer com que o circuito de computador para executar as diferentes operações descritas hereinbefore. O conjunto de instruções podem ser carregadas na memória de programação com a leitura de um portador de dados como, por exemplo, um disco que compõem o conjunto de instruções. A operação de leitura pode ser feita por meio de uma rede de comunicação, por exemplo, a Internet. <span closure_uid_vbq9et="766" gd="In this case, a service provider will put the set of instructions at the disposal of those interested." hd="Neste caso, um provedor de serviços irá colocar o conjunto de instruções à disposição dos interessados.
" title="">Neste caso, um provedor de serviços irá colocar o conjunto de instruções à disposição dos interessados.<span closure_uid_vbq9et="767" gd="Inventors:Duquesnois, Laurent Michel Olivier (San Mateo, CA, US)" hd="Inventores: Duquesnois, Olivier Michel Laurent (San Mateo CA, EUA)
" title="">Inventores: Duquesnois, Olivier Michel Laurent (San Mateo CA, EUA)<span closure_uid_vbq9et="768" gd="Application Number:10/059433 Publication Date:02/08/2005 Filing Date:01/29/2002 Export Citation:Click for automatic bibliography generation Assignee:Koninklijke Philips Electronics NV (Eindhoven, NL)" hd="Número da aplicação: 10/059433 Data de publicação: 02/08/2005 Arquivo Data: 2002/01/29 Exportação Citação: Clique para a geração automática da bibliografia Cessionário: Koninklijke Philips Electronics NV (Eindhoven, NL)
" title="">Número da aplicação: 10/059433 Data de publicação: 02/08/2005 Arquivo Data: 2002/01/29 Exportação Citação: Clique para a geração automática da bibliografia Cessionário: Koninklijke Philips Electronics NV (Eindhoven, NL)Classe principal: 345/581 Outras Classes: 345/419, 345/582, 345/583, 345/587, 345/619 Classes internacionais: A63F13/00; G06T15/00; G06T15/20; G06T17/40; A63F13/00 ; G06T15/00; G06T15/10; G06T17/40; (IPC1-7): G09G5/00 Campo de pesquisa: 345/581, 345/582, 345/587, 345/619, 345/583, 345/419
fonte: http://www.freepatentsonline.com/6853383.html