[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

ES2280096T3 - Sistema de procesamiento de imagen y metodo de procesamiento de imagen. - Google Patents

Sistema de procesamiento de imagen y metodo de procesamiento de imagen. Download PDF

Info

Publication number
ES2280096T3
ES2280096T3 ES98940626T ES98940626T ES2280096T3 ES 2280096 T3 ES2280096 T3 ES 2280096T3 ES 98940626 T ES98940626 T ES 98940626T ES 98940626 T ES98940626 T ES 98940626T ES 2280096 T3 ES2280096 T3 ES 2280096T3
Authority
ES
Spain
Prior art keywords
image processing
virtual
fish
positions
sensor
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
ES98940626T
Other languages
English (en)
Inventor
Hiroshi Sega Enterprises Ltd Kubota
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sega Corp filed Critical Sega Corp
Application granted granted Critical
Publication of ES2280096T3 publication Critical patent/ES2280096T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Unidad de procesamiento de imagen (10) para la generación de datos de imagen y/o mociones de un objeto simulando una criatura viviente por la definición del objeto en un espacio virtual tridimensional, poniendo puntos blancos sucesivos en un espacio virtual tridimensional con respecto al objeto, calculando movimientos y/o mociones para el objeto en correspondencia con cada punto blanco puesto sucesivo, y generando los datos de imagen basados en el resultado calculado, caracterizado porque el punto blanco es actualizado repetidamente por la reselección a cada tiempo de una tabla en donde una pluralidad de valores randomizados predeterminados de las posiciones en un espacio virtual tridimensional son puestos en avance, y en dicho cálculo de movimientos y/o mociones incluye el cálculo de la fuerza de rotación ejercida sobre el objeto.

Description

Sistema de procesamiento de imagen y método de procesamiento de imagen.
Campo técnico
La presente invención se refiere a un sistema de procesamiento de imagen y método de procesamiento de imagen. Más particularmente, la presente invención se refiere al procesamiento de imagen de un juego deleitable donde una criatura tal como un pez vivo puede ser movido en un estado cercano a la naturaleza en un espacio virtual tridimensional de manera que se deleita la criatura casi como una criatura real, y la interacción entre el movimiento de la criatura y el jugador es implementado.
Antecedente de la técnica
Junto con los avances recientes de la tecnología de gráficos computadorizados, los sistemas de simulación y las máquinas de juego ahora son ampliamente usados tanto en negocios y casas. Recientemente en el campo de las máquinas de juegos, un juego deleitable para disfrutar una criatura como un pez vivo semejante a un animal doméstico artificial en un monitor por el movimiento de la criatura en un espacio de juego virtual es propuesto.
Un sistema convencional para este juego deleitable generalmente comprende un CPU para el procesamiento de gráficos y un monitor. En el caso de un pez, por ejemplo, la información de la posición en el movimiento del pez colocado en un tanque en un espacio de juego virtual es copiada en su avance, y cientos de copias son determinados. El CPU selecciona la información de la posición del movimiento el cual es copiado de acuerdo a la situación, calcula una posición del objeto simulando un pez en base a esta información, interpola el movimiento mediante una matriz (rotación, movimiento) basado en la captura del movimiento, y regenera y despliega las imágenes. En el caso de un juego deleitable simulando una pluralidad del pez moviéndose en la corriente del océano, las posiciones y movimientos de la pluralidad del pez son calculados y desplegados en base a información específica representando el ambiente, que es, la corriente del océano.
En el caso del sistema convencional mencionado arriba para un juego deleitable del pez, sin embargo, la información de la posición es calculada meramente junto con tal información específica como la corriente del océano, y en el caso del movimiento regenerado por la matriz predeterminada convencional, como la captura del movimiento, una naturalidad suficiente para expresar el movimiento de una criatura viva es necesitada. En otras palabras, el método convencional está limitado a expresar el movimiento de una criatura viva. El jugador solamente mira al monitor, el cual es un tanque artificial, y no hay ninguna interacción vista en la naturaleza, como un pez en el tanque acercándose o nadando alejándose, dependiendo de la acción del jugador.
Con el precedente en vista, es un objeto de la presente invención el proveer un juego disfrutable realístico el cual pueda expresar el movimiento de una criatura tal como un pez realísticamente y naturalmente en un espacio virtual tridimensional, y permita al jugador disfrutar el juego como si la criatura existe real.
Otro objeto es proporcionar un juego deleitable el cual pueda expresar la interacción que ocurre de hecho en la naturaleza entre el objeto móvil simulando una criatura semejante como un pez en un espacio virtual tridimensional y el jugador, para que la realidad pueda ser mejorada junto con un entretenimiento aumentado.
Tu X, Terzopoulos D: "Artificial Fishes: Physics, Locomotion, Perception, Behavior"; Procedimientos o 21st Conferencia Internacional SIGGRAPH, 24-29 Julio 1994, Orlando, FL, USA; Procedimientos de Gráficos Computadorizados. Series de Conferencias Anuales1994, ACM, NY, USA; pp 43-50 revela una técnica de animación que proporciona una apariencia realística, movimiento y comportamiento de animales. Este artículo se centra en la síntesis de locomoción realística del pez basado en el modelo dinámico del pez consistiendo en masas y resortes de puntos nodales. Una rutina de comportamiento descrita involucra los giros fortuitos ejecutados por el pez, basados en los ángulos de giros arbitrarios.
Descubrimiento de la invención
De acuerdo a un aspecto de la invención, hay proporcionada una unidad de procesamiento de imagen para generar datos de imágenes para desplegar movimientos y/o mociones de un objeto simulando una criatura viviente mediante la definición del objeto en un espacio virtual tridimensional, colocando puntos blancos sucesivos en el espacio virtual tridimensional con respecto al objeto, calculando movimientos y/o mociones del objeto en correspondencia con cada punto blanco sucesivo puesto, y generando los datos de imágenes basados en los resultados calculados, caracterizados en que el punto blanco es repetidamente actualizado mediante el reseleccionamiento a cada tiempo a partir de una tabla en donde una pluralidad de valores arbitrarios predeterminados de posiciones en el espacio virtual tridimensional son puestos en progreso, y en dicho cálculo de movimientos y/o mociones incluye el cálculo de la fuerza de rotación ejercida sobre el objeto.
Características preferidas adicionales de la unidad de procesamiento de imagen, y de un sistema de procesamiento de imagen incorporando la unidad, son puestas afuera en las reivindicaciones 2 a la 14.
De acuerdo a otro aspecto de la invención, hay proporcionado un método de procesamiento de imagen generando datos de imágenes para el despliegue de movimientos y/o mociones de un objeto simulando una criatura viviente, comprendiendo los pasos de: definición del objeto en un espacio virtual tridimensional, colocación de puntos blancos sucesivos en un espacio virtual tridimensional con respecto al objeto, cálculo de los movimientos y/o mociones del objeto en correspondencia con cada punto blanco sucesivo semejante, generación de datos de imágenes basados en el resultado calculado, caracterizado por una actualización repetidamente del punto blanco mediante la reselección a cada tiempo a partir de una tabla en la cual una pluralidad de valores arbitrarios de posiciones en el espacio virtual tridimensional son puestos en progreso, y como parte de dicho paso calculado, cálculo de la fuerza de rotación de la fuerza de rotación ejercida sobre el objeto.
Características preferidas adicionales del método de procesamiento de imagen son colocadas afuera en las reivindicaciones 16 a la 27.
Breve descripción de los diseños
La Fig. 1 es una vista perspectiva general de un sistema de procesamiento de imagen en correspondencia con una realización de la presente invención;
La Fig. 2 es un dibujo representando el status de subida del monitor, tanque y sensor de esta realización;
La Fig. 3 es un diagrama de bloque representando la relación entre el tablero de procesamiento del juego y las funciones;
La Fig. 4 es un diagrama de bloque funcional eléctrico del tablero de procesamiento de juego;
La Fig. 5 es una carta de flujo representando la rutina principal de procesamiento ejecutada por el CPU;
La Fig. 6 es una subrutina de la colocación de un punto blanco ejecutado por el CPU;
La Fig. 7 es un dibujo representando un pez tropical como un objeto móvil, y muestra como poner el sistema de coordenada del pez;
La Fig. 8 es un dibujo representando un ejemplo de polígonos del pez tropical como un objeto móvil y las posiciones de los huesos virtuales;
La Fig. 9 es un dibujo representando un ejemplo del controlamiento de posiciones de los huesos virtuales;
La Fig. 10 es un dibujo representando un modelo simple de ondas;
La Fig. 11 es un dibujo representando la proyección de las ondas de luz;
La Fig. 12 es un dibujo representando la proyección de las ondas de luz;
La Fig. 13 es un dibujo representando la decisión de la posición donde la luz es proyectada basada en el vector de la fuente de luz y el vector normal;
La Fig. 14 es un dibujo representando el vector de la fuente de luz en el agua calculada usando el modelo simple de ondas;
La Fig. 15 es un dibujo representando la decisión de la posición donde la luz es proyectada basada en el vector de la fuente de luz y el vector normal;
La Fig. 16 es un dibujo representando cuantos jugadores tocan el sensor (tanque artificial);
La Fig. 17 es un diseño representando otro ejemplo de expresión de ondas (ondas del océano); y
La Fig. 18 a Fig. 20 son dibujos representando la operación de otras realizaciones en el control de posiciones comunes de los huesos virtuales.
Realización preferida de la invención
Una realización de la presente invención será ahora descrita con referencia a los dibujos acompañantes.
La Fig. 1 muestra un ejemplo de una configuración de un sistema de procesamiento de imagen de acuerdo a la realización. Este sistema de procesamiento de imagen está para ejecutar un juego agradable de un pez tropical el cual se mueve en un espacio de juego virtual.
\newpage
Como se muestra en la Fig. 1, el sistema de procesamiento de imagen comprende un monitor 1a para desplegar imágenes, el cuerpo principal 1 para el procesamiento de imágenes a ser desplegadas en el monitor 1a para mostrar las imágenes, e cuerpo principal 1 para el procesamiento de imágenes a ser mostradas en el monitor 1a, un tanque 2 el cual es montado sobre el monitor 1a, y un sensor el cual es montado sobre la cara frontal del tanque 2.
El cuerpo principal 1 tiene un tablero de procesamiento de juego, un orador 14, y varias producciones de invenciones 12 en una cubierta la cual está formada igual a un paralelípido rectangular con una anchura mayor que la altura. La configuración eléctrica y la operación de estos elementos están descritas más adelante.
El monitor 1a es despliegue de invención teniendo una extensión de pantalla con una anchura que es más larga que la altura, y es colocada sobre el cuerpo principal 1. El monitor 1a despliega un pez (pez tropical en este caso) representado por polígonos e imágenes de fondo. El tamaño y la forma de la extensión de pantalla del monitor 1a no está limitada a uno con una anchura que es más extensa que la altura, pero varias tallas y formas pueden ser usadas dependiendo en el uso deseado.
El tanque 2 es montado para crear una atmósfera de un tanque actual, donde el agua es expresada por la generación de burbujas. Este tanque 2 es montado también una forma, donde el ancho es más extenso que la altura y la profundidad es insípida, así como para proporcionar la forma del monitor 1a, y es hecho de vidrio transparente. El tanque 2 es montado sobre la cara frontal del monitor 1a, como se muestra en la Fig. 2, y un estado para disfrutar el pez en un tanque real puede ser creado artificialmente mediante la visualización del pez y el despliegue de fondo extendido sobre la pantalla del monitor 1a del tanque 2.
El sensor está comprendido de un sensor de matriz donde sensores infrarrojos son colocados en una matriz, y es dispuesta sobre al cara frontal del tanque 2, como se muestra en la Fig. 2. En otras palabras, la parte de despliegue de este sistema tiene una estructura capada de un sensor de matriz 3, un tanque 2 y un monitor 1a. Si el jugador golpea ligeramente o toca el tanque, el sensor 3 detecta esta operación y produce una señal de posición del cuerpo prinipal1 (ver Fig. 3). El tablero de procesamiento del juego 10 ejecuta tal procesamiento de imagen como un procesamiento de movimiento de polígono (e.g. pez), control de posición de la cámara de vista puntual, y procesamiento de la onda en el espacio virtual tridimensional basado en la señal de posición, la cual está descrita más adelante.
El tablero de procesamiento de juego 10 mostrado en la Fig. 4 está en el cuerpo principal 1. Un monitor (extendido) 1a, un sensor 2, como los dispositivos de salida 12 como un despliegue, y tal equipo como el orador 14 están conectados eléctricamente al tablero 10 de procesamiento de imagen. El jugador puede jugar un juego agradable mediante el contacto del sensor 2 a voluntad mirando en la pantalla del pez tropical mostrado en el monitor 1a.
Como se muestra en la Fig. 4, el tablero de procesamiento de juego 10 comprende un contador 100, un CPU (Unidad de Procesamiento Central) 101, ROM 102, RAM 103, unidad de sonido 104, interfase entrada/salida 106, unidad de procesamiento de de sello de datos 107, coprocesador 108 (unidad de procesamiento aritmético auxiliar), datos topográficos ROM 109, geometrizador 110, datos de figura ROM 111, unidad de dibujo 112, datos de textura ROM 113, mapa de textura RAM 114, buffer de ajuste 115, sintetizador de imagen 116 y convertidor D/A 117.
De estos, el CPU 101 es conectado al ROM 102, donde programas determinados y programas de procesamiento de imagen son almacenados, y el RAM 1 para el almacenamiento de datos de operación, unidad de sonido 104, interfase entrada/salida 106, unidad de procesamiento de rollos de datos 107, coprocesador 108 y geometrizador 110 por líneas de ómnibus. El RAM 103 funciona como un buffer, y es usado para escribir varios comandos (e.g. para desplegar objetos) al geometrizador y para escribir datos necesarios durante varias operaciones.
La interfase entrada/salida 106 es conectada al sensor 3. Por esto, tales señales de control como señales de posición a partir del sensor 3 son digitalmente entrados al CPU 101. La unidad de sonido 104 es conectada al orador 14 por un amplificador de poder 105. Mediante esto, el poder de señales acústicas generadas por la unidad de sonido 104 es amplificado y expulsado del orador 14 como un sonido.
El CPU 101 lee señales de control del sensor 3, datos topográficos a partir de datos topográficos ROM 109, o datos de forma (un "objeto simulando un pez tropical"), y tales datos tridimensionales como "fondo, incluyendo topografía, cielo, rocas, suelo del mar, y varias estructuras") basados en programas almacenados en el ROM 102, y se ejecuta un cálculo de comportamiento del objeto (simulación) y otros cálculos.
El cálculo de comportamiento es para simular el movimiento de un objeto (pez tropical) en un espacio virtual tridimensional (espacio de juego). Para ejecutar este cálculo, los valores de coordenadas de los polígonos del objeto en el espacio virtual tridimensional son determinados, entonces la matriz de conversión, para convertir estos valores de coordenadas a un sistema de campo coordinado de vista bidimensional y datos de forma (datos de polígono), son especificados en el geometrizador 110. El dato topográfico ROM 109 es conectado al coprocesador 108 y al CPU 101. El coprocesador 101 ejecuta primariamente el cálculo de dos puntos flotantes. Ya que el coprocesador 108 ejecuta varias decisiones y el resultado decisivo es transferido al CPU 110, la carga de cálculo sobre el CPU puede ser disminuida.
El geometrizador 110 es conectado a los datos de forma ROM 111 y la unidad de dibujo 112 al dato de forma (dato tridimensional de un objeto comprendiendo de cada uno vértice, topología y fondo), comprendiendo de una pluralidad de polígonos, ha sido almacenados en adelante en los datos de forma ROM 111. Este dato de forma es transferido al geometrizador 110. El geometrizador 110 ejecuta transformaciones perspectivas para el dato de forma especificado usando transformaciones de matrices enviadas del CPU 110, para así obtener el dato, donde el sistema coordenado en el espacio virtual tridimensional ha sido transformado en un sistema coordenado de visualización.
La unidad de dibujo 112 adiciona textura a los datos de forma transformados en el sistema coordenado de visualización, y produce este buffer de ajuste 115, la unidad de dibujo 112 es conectada al dato de textura ROM 113 y el mapa de textura RAM 114, y es conectado también al buffer de ajuste 115.
Los datos de polígono se refieren al grupo de datos coordenados relativos o absolutos de cada vértice de los polígonos (primariamente triángulos y cuadriláteros), comprendiendo de una pluralidad de colecciones de vértices. El dato de polígono grueso relativamente, el cual es suficiente para ejecutar una decisión predeterminada (e.g. decisión de contacto) es almacenado en el dato topográfico ROM 109. En el dato de forma ROM 111, por otra parte, más datos de polígonos son detallados en formas, como los objetos y fondo de la pantalla, es almacenado.
La unidad de procesamiento de rollo de datos 107 calcula datos, como caracteres, sobre el rollo de pantalla (almacenado en el ROM 102). Esta unidad de procesamiento 107 y el buffer de ajuste 115 son conectados sobre la topografía (fondo) temporalmente almacenados en el buffer de ajuste 115 y el rollo de pantalla sobre la información de carácter están sintetizados de acuerdo a prioridades especificadas, y el dato de imagen de ajuste final es generado a un tiempo predeterminado. Este dato de imagen de ajuste final ajustado es convertido a señales análogas por el convertidor D/A 117, es enviado al monitor 1a, y es mostrado como una pantalla de juego en tiempo real.
Este sistema de procesamiento de imagen ejecuta un juego agradable del pez tropical por las unidades de procesamiento en las Figs. 5 y 6, la cual incluye el CPU 101. La Fig. 5 muestra la rutina de procesamiento principal la cual es repetida para cada interrupción (e.g. 1/60 segundos), sincronizando el ciclo de ajuste de despliegue del monitor 1a, y la Fig. 6 muestra la subrutina detallada del procesamiento de determinación del punto blanco en la Fig. 5.
Primero, el CPU lee la señal producida del sensor 3 (Fig. 5, Paso S1), después ejecuta el procesamiento para la determinación del punto blanco del movimiento del pez de acuerdo a este resultado de lectura (Paso S2).
El proceso de la determinación del punto blanco es ejecutado por el CPU 101, como se muestra en la Fig. 6. Lo primero, el CPU 101 decide si la señal ha sido producida a partir del sensor 2 (Fig. 6, Paso 2-1). Si el resultado de esta decisión es NO, esto es, si el jugador no tocó el sensor, entonces el punto blanco m (m.x, m.y, m.z) del movimiento es seleccionado como sigue a partir de la tabla discreta (números randomizados) la cual ha sido predeterminada (Paso S2-2).
m.x= tabla [temporizador 1]. x
m.y= tabla [temporizador 1]. y
m.z= tabla [temporizador 1]. z
Aquí el temporizador 1 es el contador para actualizar la tabla. x, y y z denotan la coordenada de posición real del pez (pez tropical). Este punto blanco m es actualizado cada 30-40 interrupciones, por ejemplo. Cuando una pluralidad del pez son mantenidos el punto blanco y el número de interrupciones para la actualización son cambiados para cada pez. Esta colocación del punto blanco es una característica de la presente invención, y expresa el comportamiento natural del pez.
Si el resultado de la decisión en el Paso S2-a es SI, entonces es decidido más adelante si la señal recibida del jugador por el sensor 2 indica una posición o comida del pez en el paso S2-3 (ver Fig. 16). En este caso, la señal del sensor cuando el jugador toca el sensor 2 es reconocido como una señal indicando una posición, y la señal del sensor cuando es tocada por el jugador dos o más veces o por una duración diferente de tiempo es reconocido como una señal indicando comida del pez.
Si la decisión en el Paso 2-3 es NO, esto es, si es decidido que la señal indica una posición, o que la señal indica comida del pez está a mayor distancia que un valor predeterminado, entonces el procesamiento de avance S2-4, y la "posición de la matriz por la señal del sensor = punto blanco" es colocado. En otras palabras, los movimientos son colocados:
m.x = x de la posición detectada
m.y = y de la posición detectada
m.z = z de la posición detectada
Si la decisión del Paso 2-3 es SI, esto es, si es decidido que la señal indica comida del pez y la posición del pez está directamente delante del pez (dentro de un rango predeterminado del pez), entonces el procesamiento de avance al paso S2-5, y "la posición de la matriz de la comida del pez = punto blanco" es colocado. En otras palabras, los movimientos son colocados.
m.x =x de la posición de comida del pez
m.y =y de la posición de comida del pez
m.z =z de la posición de comida del pez
Después que el punto blanco es puesto en esta manera, el punto blanco es corregido adelante (Paso S2-6). Este procesamiento de corrección es ejecutado por (Xmax., Ymax, Zmax), la cual indica el valor máximo de la posición espacial en el tanque virtual, el cual es colocado en un espacio virtual tridimensional, y (Xmin, Ymin, Zmin), lo cual indica el valor mínimo de la posición espacial en el tanque virtual. Específicamente, el punto blanco m (m.x, m.y, m.z) el cual fue colocado es puesto para:
si m.x > Xmax del tanque, entonces m.x = Xmax del tanque
si m.x < Xmin del tanque, entonces m.x = Xmin del tanque
si m.y > Xmax del tanque, entonces m.y = Xmax del tanque
si m.y < Xmin del tanque, entonces m.y = Xmin del tanque
si m.z > Xmax del tanque, entonces m.z = Xmax del tanque
si m.z < Xmin del tanque, entonces m.z = Xmin del tanque
Debido a esto, el punto blanco nunca será desviado del tanque virtual.
Entonces el CPU 101 retorna reprocesando al Paso S3 del procesamiento principal en la Fig. 5. En el Paso S3, el impulsamiento de la velocidad del pez (velocidad) puede ser cambiada dependiendo de la comida del pez la cual aparece cuando el jugador toca el sensor 3, como se mencionó arriba, o dependiendo de la temperatura del agua. En este sentido el grado de movimiento activo del pez puede ser ajustado.
Luego en el Paso S4, el CPU 101 calcula la fuerza (Fw.x, Fw.y, Fw.z) del componente de rotación ejercida sobre el pez. Los detalles están como siguen.
Primero, el vector de dirección h (h.x, h.y, h.z), el cual puede ser un vector único, apuntando de la posición actual p (p.x, p.y, p.z) al punto blanco m (m.x, m.y, m.z), es calculado a partir de
h.x = (m.x – p.x) / L
h.y = (m.y – p.y) / L
h.z = (m.y – p.y) / L
Aquí, L denota una distancia entre el punto p y el punto m en cada dirección x,y y z.
Por consiguiente la fuerza Fw del componente de rotación es calculada. Al principio, la fuerza Fw.y del eje de rotación Y y la fuerza Fw.x del eje de rotación X del pez son determinados a partir de
Fw.y = Fw.y + (h.z* sin (r.y) – h.x* cos (r.y)) * velocidad * k0
Fw.x = (m.y- p.y) *k1
Aquí, k0 y k1 son constantes. El (r.y) indica la coordenada del componente y del ángulo de rotación r del pez visto en la coordenada global.
Luego, usando el tiempo (temporizador), la fuerza de rotación cuando el cuerpo del pez oscila a la izquierda o la derecha cuando la impulsión es determinada por
Fw.y = Fw.y +(k0 + velocidad * k1)
Si el tiempo 3%2 = 0 ( el resto cuando el valor del temporizador 3 dividido por 2 es 0) o por
Fw.y = Fw.y – (k0 + velocidad * k1)
si no ( el resto es 1).
Entonces la fuerza de rotación, para prevenir al pez de contactar la pared del tanque virtual, es determinada. Por esto, es decidido si la distancia a la pared es menor que un valor determinado, y si es,
Fw. x = Fw.x + componente x de la fuerza de rotación para prevenir el contacto con la pared
Fw. y = Fw.y + componente y de la fuerza de rotación para prevenir el contacto con la pared
son calculados. La fuerza de rotación para prevenir el contacto de la pared es un valor predeterminado como una constante.
Luego la fuerza de rotación para prevenir el contacto de otro pez es determinado. Por esto, si es decidido si la distancia a otro pez es menor que un valor predeterminado, y si es así
Fw.x + componente X de la fuerza de rotación para prevenir el contacto con otro pez
\vskip1.000000\baselineskip
Fw. y = Fw.y + componente Y de la fuerza de rotación para prevenir el contacto con otro pez
son calculados. La fuerza de rotación para prevenir el contacto con otro pez es también un valor predeterminado.
La fuerza Fw del componente general de rotación es calculada como una síntesis de fuerzas en cada condición mencionada arriba.
El CPU 101 entonces avanza al paso S5, y calcula el ángulo de rotación del pez. Ahora, se asume que la aceleración angular es aw (aw.x, aw.y, aw.z), la velocidad angular es w (w.x, w.y, w.z), la rotación angular es r (r.x, r.y, r.z), y el coeficiente de resistencia del agua es repelida.
Entonces la influencia de la atenuación de la velocidad de la rotación angular es calculada por
nuevo w.x a este tiempo = w.x * k previos
nuevo w.y a este tiempo = w.y * k previos
nuevo w.z a este tiempo = w.x * k previos
Aquí k es una constante y está 0 < k< 1.
La aceleración angular es calculada por
aw.x (Fw.x – repeler * w.x) * k
aw.y (Fw.y – repeler * w.y) * k
Aquí k es una constante.
El ángulo de rotación es calculado mediante
r.z = (- w.y * k)
Aquí k es una constante.
La velocidad angular es calculada por
nuevo w.x a este tiempo = w.x + aw.x previos
nuevo w.y a este tiempo = w.y + aw.y previos
Los ángulos de rotación x y "y" son actualizados mediante
nuevo r.x a este tiempo = r.x + w.x previos
nuevo r.x a este tiempo = r.x + w.y previos
Luego el CPU 101 calcula la fuerza Fv ( Fv.x, Fv.y, Fv.z) ejecutado sobre el pez en el paso S6.
Específicamente la fuerza impulsora del pez blanco es calculada primero.
Y la fuerza es calculada basada en la decisión de la colisión con otro pez. Si es decidido que un pez contactará con otro pez, entonces
Fv.x = Fv.x + distancia al punto de contacto * k
Fv.y = Fv.y + distancia al punto de contacto * k
son calculados. Aquí k es una constante.
La fuerza resultante Fv ejecutada sobre un pez es calculada mediante la sintetización de cada fuerza mencionada arriba.
Si es decidido que una fuerza externa es también recibida del tanque virtual en la decisión de la colisión con el tanque virtual, esta fuerza es sintetizada como Fv. Si l pez contactará con la pared del tanque o el piso, entonces
Fv.x = distancia al punto de contacto * k
Fv.y = distancia al punto de contacto * k
son calculados, donde k es una constante.
Entonces el CPU 101 avanza al Paso S7 y se calcula la posición del pez. Ahora, se asume que la aceleración es av (av.x, av.y, av.z), la velocidad es v (v.x, v.y, v.z), la posición es p (p.x, p.y, p.z) y el coeficiente de resistencia del agua es repelido.
Luego la influencia de la atenuación de la velocidad sobre el impulsamiento del pez es calculado por
nuevo v.x a este tiempo = v.x * k previos
nuevo v.y a este tiempo = v.y * k previos
nuevo v.z a este tiempo = v.x * k previos
Aquí k es una constante es una constante y está 0 < k< 1.
La aceleración es calculada por
av.x = (Fv.x – repeler * v.x) * k
av.y = (Fv.y – repeler * v.y) * k
av.z = (Fv.z – repeler * v.z) * k
Aquí k es una constante.
La velocidad es actualizada por
nuevo v.x a este tiempo = v.x + av.x previos
nuevo v.y a este tiempo = v.y + av.y previos
nuevo v.z a este tiempo = v.z + av.z previos
La posición es actualizada mediante
nuevo p.x a este tiempo = p.x + v.x previos
nuevo p.y a este tiempo = p.y + v.y previos
nuevo p.z a este tiempo = p.z + v.z previos
Junto con la simulación mencionada del movimiento del pez, la presente invención está también en la cual la posición de los huesos virtuales, la cual son virtualmente colocados para el pez, es controlada. El CPU 101 ejecuta el procesamiento para esto en los Pasos S8-10. La Fig. 8 muestra un ejemplo de los huesos virtuales 1-6.
\newpage
\global\parskip0.900000\baselineskip
En el Paso S8, la posición p del pez determinado en el Paso S7 es colocado como la primera posición del hueso muy cerca de la cabeza entra la pluralidad de huesos virtuales 1-6, y el próximo hueso es secuencialmente calculado. Las condiciones para determinar la posición de un hueso a la articulación próxima son:
a. La distancia entre las articulaciones de los huesos es constante (los huesos no se extienden).
b. El ángulo al cual un hueso puede plegarse es limitado (los huesos no hacen una vuelta en la articulación).
c. Los huesos rotan solo a lo largo de los ejes X y Y (los huesos no están entrelazados).
Ya que es preferible incluir la velocidad angular, relevante para la intención del pez, para las articulaciones las cuales existen detrás del centro de gravedad, simulando así estrechamente al movimiento real del pez es ejecutado, esta velocidad angular, la cual es relevante para la intención del pez, es sumada a la rotación para el cuerpo cerca de la cola. El hueso para esta velocidad angular, la cual es relevante para la intención del pez, es predeterminada dependiendo sobre el pez. Específicamente, el procesamiento siguiente es repetido para el número de articulaciones de los huesos.
Asume que la posición actualizada de la articulación del hueso es
p0= hueso [i - 1]. p
y que la posición de la articulación del hueso a ser actualizada es
p1= hueso [ i ]. p
y determina la dirección del vector por
v.x = (p1.x – p0.x) / L
v.y = (p1.y – p0.y) / L
v.z = (p1.z – p0.z) / L
Aquí L es una distancia entre el punto p0 y el punto p1 en cada eje de dirección.
El ángulo ang Y a lo largo del eje Y formado por el vector v.x y el vector v.z es determinado como sigue. Si la articulación está detrás del centro de gravedad del pez, entonces es puesto para
ang Y = ang Y + (velocidad angular para ser la intención del pez).
si el ángulo formado por ang Y-articulación del hueso [i - 1] > ángulo de límite superior del hueso, entonces se pone
hueso [ i ].r.y (ángulo formado por la articulación del hueso) = ángulo de límite superior del hueso.
si el ángulo formado por ang Y- articulación del hueso [i - 1] < ángulo de límite inferior del hueso, es puesto entonces al hueso [ i ]. r.y (ángulo formado por la articulación i) = ángulo de límite superior del hueso, por otra parte, puesto para
hueso [ i ].r.y (ángulo formado por la articulación i del hueso) = ang Y
en el mismo sentido, ang X a lo largo del eje X es determinado.
Usando el ángulo determinado ang Y y ang X, el vector de dirección del hueso [ i].v de la articulación del hueso i-1 a la articulación del hueso, el cual es el hueso [ i ].p, es determinado como sigue usando la posición de la articulación previa (adelante) del hueso i-1, que es el hueso [i-1].p y la dirección del vector [ i ].v apuntando de la articulación i-1 a la articulación i.
hueso [ i ].p.x = hueso [ i-1].p.x + hueso [ i ].v.x * distancia entre la articulación i y la articulación i-1.
hueso [ i ].p.y = hueso [ i-1].p.y + hueso [ i ].v.x * distancia entre la articulación i y la articulación i-1.
hueso [ i ].p.z = hueso [ i-1].p.z + hueso [ i ].v.x * distancia entre la articulación i y la articulación i-1.
\global\parskip0.990000\baselineskip
El procesamiento de arriba es repetido para el número de articulaciones de los huesos, y las posiciones respectivas de los huesos virtuales son calculadas.
Entonces el CPU 101 determina la transformación de la matriz de (rotación Y, rotación X) para calcular las posiciones de los huesos virtuales en el paso S9 y S10, y cada posición del vértice del cuerpo del pez en concordancia con el hueso calculado (ver Fig. 8). La Fig.9 (a) y (b) muestra un ejemplo de la posición control de los huesos virtuales.
Por consiguiente el CPU 101 coloca los puntos de vista de una cámara virtual, centrándose en el pez y la comida del pez, que el jugador está jugando. Debido a esto, la pantalla desplegada sobre el monitor 1a para el procesamiento de dibujo mencionado más adelante es la vista a partir de la cámara de vista puntual el cual es puesto aquí.
Entonces el CPU 101 ejecuta el procesamiento en los Pasos S12-13. Estos procesamientos, los cuales está para promover la atmósfera del pez en el agua, expresar un pez flotando en las ondas usando un modelo simple de ondas, y crear ondas de luz proyectadas en el agua usando la rotación y los datos de posición del modelo simple.
Al principio en el Paso S12, un modelo simple para una pequeña onda es colocada, y la constante física relacionada a este modelo es calculada. Específicamente, el modelo simple el cual está presente y almacenado, como se muestra en la Fig. 10, es leído. Este modelo simple tiene una forma rectangular paralelípeda, en donde los lados son 2A, 2B y 2C, y una masa que es M, y las cuatro esquinas de la base son apoyadas por resortes. Aquí la constante de elasticidad en la dirección vertical y la dirección horizontal de cada resorte son k1 y k2 respectivamente. La posición del centro de gravedad es el origen, y el momento de inercia es l1,l2 y l3. la aceleración es aw (x,y,z),la velocidad angular es w (x,y,z), y el ángulo es r (x,y,z).
Mediante el cambio de las condiciones iniciales del modelo simple o cambiando las constantes de elasticidad de cada interrupción, el movimiento de un objeto flotante sobre una onda grande o pequeña puede ser expresada libremente. En otras palabras, las ecuaciones para el movimiento establecidas para este modelo simple son
\quad
M * av.x + 4 * k2 * p.x = 0
\quad
M * av.y + 4 * k2 * p.y = 0
\quad
M * av.z + 4 * k2 * p.z = 0
\vskip1.000000\baselineskip
\quad
I1 * aw.x + 4 * (k1 * B * B + k2 * C * C ) * r.x = 0
\quad
I2 * aw.y + 4 * (k1 * A * A + k2 * C * C ) * r.y = 0
\quad
I3 * aw.z + 4 * (k1 * A * A + C * C ) * r.z = 0
\vskip1.000000\baselineskip
\quad
I1 = M * (B * B + C * C ) / 3
\quad
I2 = M * (C * C + A * A ) / 3
\quad
I3 = M * (A * A + B * B ) / 3
Estas ecuaciones determinan la posición p (x, y, z) y el ángulo r (x, y, z) para cada interrupción.
En las constantes de elasticidad k1 y k2 están puestas para valores arbitrarios, por ejemplo, la aceleración puede ser calculada por
av.x = - 4,0 * k2 * p.x / M
av.y = - 4,0 * k2 * p.y / M
av.z = - 4,0 * k1 * p.z / M
y la aceleración angular puede ser calculada mediante
aw.x = -4,0 * (k1 * B * B + k2 * C * C) * r.x / I1
aw.y = -4,0 * (k1 * A * A + k2 * C * C) * r.y / I2
\quad
aw.z = -4,0 * (k1 * A * A + B *B) * r.z / I3
\newpage
\global\parskip0.900000\baselineskip
La velocidad puede ser calculada por
nuevo v.x a este tiempo = v.x + av.x previos
nuevo v.y a este tiempo = v.y + av.y previos
nuevo v.z a este tiempo = v.x + av.z previos
\vskip1.000000\baselineskip
La velocidad angular puede ser calculada por
nuevo w.x a este tiempo = w.x + aw.x previos
nuevo w.y a este tiempo = w.x + aw.y previos
nuevo w.z a este tiempo = w.x + aw.z previos
\vskip1.000000\baselineskip
La velocidad angular puede ser calculada por
nuevo p.x a este tiempo = p.x + v.x previos
nuevo p.y a este tiempo = p.y + v.y previos
nuevo p.z a este tiempo = p.z + v.z previos
\vskip1.000000\baselineskip
Y el ángulo de rotación es determinado por
nuevo r.x a este tiempo = r.x + w.x previos
nuevo r.y a este tiempo = r.y + w.y previos
nuevo r.z a este tiempo = r.z + w.z previos
\vskip1.000000\baselineskip
El movimiento de las ondas puede ser expresado mediante el reflejo de la posición p (x, y,z) del cuerpo del pez, las superficies de las ondas y el fondo.
En el Paso S13, el dato para expresar las ondas de luz es creado. En esta realización, el modelo donde la textura de la onda de luz es proyectada sobre el modelo del polígono es diseñado en el modelo de polígono ordinario de un pez para expresar las ondas proyectadas sobre el pez. La realización de este hardware basado en mapas ambientales es innecesaria.
La textura de la onda de luz es siempre proyectada sobre el pez en un coodenada global por la proyección del plano X-Z, como se muestra en las Figs. 11 y 12.(Realmente el pez está en un estado cercano a esta proyección del plano X-Z ya que en el océano se recibe luz de la superficie). Puesto que las condiciones de la posición y de rotación del pez cambia en tiempo real, el procesamiento de la proyección de la textura es ejecutada en tiempo real.
Para expresar el brillo de la luz reflejada sobre el pez, la transparencia de cada polígono del pez con una textura proyectada en paralelo es cambiada de acuerdo a cuanta luz contacta el pez. Por ejemplo, la luz es más reluciente cuando el pez está más cerca de la superficie del mar, y áreas donde la luz no hace contacto son puestas por ser polígonos transparentes, como se muestra en la Fig. 13. Para ejecutar este procesamiento, un vector de la fuente de luz es irradiado a partir de la pared externa del tanque virtual a un ángulo predeterminado, y un vector de la fuente es calculado a partir del modelo simple de ondas. En este sentido, el vector de la fuente de luz procesa cuando el vector de la fuente de luz entra al tanque virtual (ver Fig. 14). Si el ángulo formado por el vector de la fuente de luz y el vector normal del polígono es un ángulo agudo, como se muestra en la Fig. 15 (b), el polígono es colocado por ser un polígono transparente, juzgando que la luz no contacte el polígono. Si el ángulo es un ángulo obtuso, por otra parte, como se muestra en la Fig. 15 (a), la transparencia se hace mayor cuando el ángulo se convierte más pequeño, ya que el brillo se incrementa al incrementarse el ángulo.
En términos cuantitativos, si la matriz de la columna x 4 filas del modelo (pez) es
mat00 mat01 mat02 mat03
mat10 mat11 mat12 mat13
mat20 mat21 mat22 mat23
mat30 mat31 mat32 mat33
\global\parskip0.990000\baselineskip
entonces el indicador de la textura (U,V) de los vértices (x, y. z) del polígono es
U = x * mat00 + y * mat01 + z *mat02 + mat30
V = x * mat20 + y * mat21 + z * mat22 + mat32
La transparencia T del polígono es calculada por el producto interno de la luz del vector de la fuente de luz y el vector normal n del polígono(ambos vectores de luz y n son vectores unitarios) como
T = (luz. x n.x + luz.y * n.y + luz. z * n.z) * 32
cuando los 32 niveles de transparencia del polígono pueden ser seleccionados. Cuando el ángulo es un ángulo agudo, T = 0 es puesto ya que la luz no hace contacto.
El polígono es diseñado con el indicador de textura (U,V) y la transparencia del polígono T.
La información de los diversos cálculos obtenidos en este sentido es transferido al geometrizador 110 y los rollos de datos procesados por la unidad 107 en el Paso S 14, donde el procesamiento del diseño para cada discontinuidad es instruido.
Por esto, un pez moviéndose en tiempo real puede ser expresado en la pantalla del monitor 1a. A diferencia del tipo de movimiento convencional, el movimiento de este pez es controlado usando un punto blanco, y el punto blanco es actualizado para cada número predeterminado de las interrupciones o es actualizado de acuerdo al toque del jugador sobre el sensor. En este método para el colocamiento del punto blanco, el procesamiento para expresar el comportamiento de dicha criatura viviente como un pez tropical es relativamente fácil, el procesamiento del volumen es pequeño, y el movimiento de la criatura parece más natural que el método para interpolar los datos creados previamente en el movimiento (datos de movimiento, datos de matriz sobre la rotación/alargamiento o encogimiento).
Puesto que la colocación del punto blanco hace el comportamiento del pez más real que el método convencional, moviendo el pez más naturalmente, el jugador puede disfrutar el pez en un espacio virtual tridimensional como si el pez real existiera, y puede disfrutar un juego agradable muy realístico.
También el jugador puede señalar un pez o el alimento de un pez por el rozamiento o toque del sensor, como muestra la Fig. 16, con el pez respondiendo por el nado alejándose o acercándose basado en las instrucciones del jugador. Como resultado, el jugador puede disfrutar en un espacio virtual tridimensional, justo como en un tanque real.
Las imágenes pueden ser desplegadas con una cámara de vista puntual, centrándose en el pez o en la comida del pez que el jugador está jugando con atención. Esto significa que un sentimiento de la realidad virtual, ligeramente diferente del tanque actual, puede ser creado, y un ofrecimiento de un entretenimiento considerable de un juego agradable puede ser proporcionado.
En la realización de arriba, el pez flotando en la onda de agua es expresado pero estas ondas pueden ser "ondas del océano". Para implementar esto, la textura de las capas del polígono son movidas (las posiciones de los polígonos están sin cambiarse). La textura usada aquí es semitransparente o un embaldosado posible. Las mociones verticales de las ondas son expresadas mediante el movimiento de los vértices p (x, y, z) del polígono por la función de seno, como
p.y = sin (Temporizador * (p.x + p.z))
El indicador de textura (U,V) de los vértices (x, y, z) del polígono es puesto
Nuevo U a este tiempo = U + TX previos
Nuevo V a este tiempo = V + TZ previos
para la primera capa, como se muestra en la Fig. 17. Aquí TX y TZ son constantes. Para la segunda capa
Nuevo U a este tiempo = U + TX previos
Nuevo V a este tiempo = V - TZ previos
son puestos. El polígono es dibujado con un indicador de textura (U,V). En este sentido, las ondas del océano pueden ser expresadas, como se muestra en la Fig. 17 (c), por el revestimiento de la textura de dos capas de los polígonos.
Una criatura viviente para ser el sujeto de este juego deleitable no está limitado al pez tropical mencionado arriba (pez), pero pueden ser criaturas tales como un ave o un insecto.
El punto blanco pude ser puesto no solo a un punto alrededor del tanque virtual, como en la realización mencionada arriba sino a otro pez que es diferente del control del pez blanco, o a un punto, un área, o un rango en un espacio exterior del tanque virtual.
El punto blanco puede ser movido de acuerdo al movimiento del pez en un cronometraje apropiado, período o tiempo, si el pez, alcanza este punto blanco o no, y si es posible poner un nuevo punto blanco. Debido a esto, el movimiento de varios objetos (pez) puede se libremente simulado usando un volumen pequeño de datos.
Ahora otra realización del control de las posiciones de los huesos del pez mencionado arriba será descrita.
Para el control de la posición del hueso mencionado arriba, lo siguiente fue definido o usado como precondiciones.
a. La distancia entre las articulaciones de los huesos es constante (los huesos no se extienden).
b. El ángulo al cual un hueso puede plegarse es limitado (los huesos no hacen una vuelta en la articulación).
c. Los huesos rotan solo a lo largo de los ejes X y Y (los huesos no están entrelazados).
Si la posición de una articulación de un hueso en un marco previo está definido por \medcirc y una nueva posición de la articulación del hueso después de la posición es cambiada es denotada por \Box, la posición actualizada de la articulación del hueso es Pn-1 (Pn-1 del \Box), y la posición de la articulación del hueso a ser actualizado de ahora en adelante es (Pn del \medcirc) entonces los vectores de dirección que conectan a las dos articulaciones adyacentes están como siguen.
Vn.x = Pn.x – Pn-1. x
Vn.y = Pn.y – Pn-1. y
Vn.z = Pn.z – Pn-1. z
Aquí el ángulo formado por el vector Vn y el vector Vn-1 está determinado. Este ángulo está restringido, como muestra la Fig. 18,a corregir el vector Vn, y la nueva posición de Pn de la articulación del hueso (Pn del \Box), es determinada.
En una forma de variante de la realización a ser descrita aquí, por otra parte, el movimiento del pez puede ser reproducido sin calcular el ángulo como está arriba. En otras palabras, "b. El ángulo al cual un hueso puede doblarse es limitado (los huesos no hacen un giro en la articulación)" es cambiado al "vector Vn es tirado a una fuerza predeterminada en dirección a enderezar al pez (vector f)". Debido a este cambio, la realización modificada puede omitirse puesto que el cálculo de la tangente del arco no es necesario.
La realización modificada también tiene ventajas en que el movimiento del pez es más liso comparado con el caso arriba mencionado en donde el ángulo está limitado, el movimiento del pez en el límite del ángulo se convierte rígido, y el comportamiento del pez se convierte más innatural comparado con le comportamiento de un pez real. Ya que la realización no pone una limitación sobre el ángulo, el comportamiento en el nado del pez no lo convierte en no natural.
La Fig. 19 muestra la posición de la articulación del pez de acuerdo a esta realización modificada. En la Fig. 19, el vector Vn en la Fig. 18 es cambiado al vector. Este vector es cambiado como sigue.
La dirección del vector V'n es una dirección en donde el vector Vn y el vector f son añadidos.
V'n.x = Pn.x – Pn-1.x + f.x
V'n.y = Pn.y – Pn-1.y + f.y
V'n.z = Pn.z – Pn-1.z + f.z
Cambiando apropiadamente la talla del vector f la flexibilidad del cuerpo del pez puede ser cambiada.
La posición de la articulación del hueso del pez es determinada seguidamente como describe la realización previa.
Pn.x = Pn-1.x – U.x * (distancia entre la articulación n y la articulación n-1)
Pn.y= Pn-1.y – U.y * (distancia entre la articulación n y la articulación n-1)
Pn.z= Pn-1.z – U.z * (distancia entre la articulación n y la articulación n-1)
El vector U aquí es un vector unitario del vector V'n.
\newpage
La Fig. 20 es un ejemplo más avanzado que la Fig. 19, donde el número de articulaciones se incrementa a 4. El vector f tiene una dirección apuntando de la primera articulación Pn-1 (cabeza del pez) en las posiciones de las articulaciones del marco previo (mostrado por \medcirc) al centro de gravedad del pez. En esta realización, el centro del pez, que es, el punto entre la articulación Pn y la articulación Pn+1 es determinado por ser el centro de gravedad. Cálculos de la nueva posición de la articulación del hueso puede ser secuencialmente ejecutada para las articulaciones continuas usando el método descrito en la Fig. 18. Los vectores f+1 y f+2 para diferentes articulaciones pueden ser cambiados respectivamente. Mediante el cambio de la talla del vector f dependiendo de la posición de Pn+2, el cual es una articulación de la cola, particularmente poniendo el valor a ser valores más pequeños secuencialmente en áreas que se conviertan en las más cercanas a la cola, un comportamiento más flexible del pez puede ser implementado. El inventor de la presente invención cree que este comportamiento es cercano al comportamiento del pez en el mundo natural. Así como la talla del vector f se hace más pequeña, la posición de la articulación en los marcos previos (status antes que cambio) es reflejada, esto es, el status del marco anterior es mantenido, por lo que la posición de la articulación no cambia grandemente y el comportamiento del pez se convierte más suave.
En la realización previa y en esta realización, el pez fue usado como un ejemplo para la explicación, pero la presente invención no está restringida por esta. Los objetos, además de los peces, los cuales se comportan como si las articulaciones existieran, incluyen insectos y reptiles. Otros objetos cuyos comportamientos pueden ser controlados con articulaciones virtuales son los objetos parecidos a cuerdas largas, el movimiento de pelo y el movimiento de tela. Un objeto que se mueve por "el serpentineo" está también incluido en esta categoría.
De acuerdo a esta realización, el comportamiento de estos objetos puede ser desplegado como más real mediante la provisión de una pluralidad de articulaciones, y mediante el cálculo de las posiciones de las articulaciones adyacentes secuencialmente en tiempo real.
Aplicabilidad industrial
Como se explicó arriba, en concordancia con el sistema de procesamiento de imagen y el método de procesamiento de imagen de acuerdo a la presente invención, el movimiento de un objeto móvil es simulado basado en el punto blanco del movimiento del objeto móvil para así calcular el dato de imagen y este dato de imagen es mostrada, por lo tanto, el movimiento de un criatura viviente, como el de un pez en un espacio virtual tridimensional puede ser expresado como más real y natural, y un juego agradable muy realístico, el cual permite disfrutar una criatura viviente como si la criatura fuera real, puede ser proporcionado. Es posible también expresar la interacción entre el objeto móvil y el jugador por la simulación de dicha criatura viviente como un pez en un espacio virtual tridimensional, por lo tanto, un sentimiento realístico puede ser aumentado y un juego agradable que ofrece entretenimiento puedes ser proporcionado.
El ROM 102 mencionado arriba corresponde a un medio de almacenamiento donde programas de las máquinas de juegos para implementar las operaciones de procesamiento de imagen explicadas arriba son almacenadas. El ROM incluye el CD-ROM y cassette ROM. Un disco floppy, disco duro o medio de comunicación pueden ser también usados. También el servidor RAN puede ser incluido aquí.

Claims (28)

1. Unidad de procesamiento de imagen (10) para la generación de datos de imagen y/o mociones de un objeto simulando una criatura viviente por la definición del objeto en un espacio virtual tridimensional, poniendo puntos blancos sucesivos en un espacio virtual tridimensional con respecto al objeto, calculando movimientos y/o mociones para el objeto en correspondencia con cada punto blanco puesto sucesivo, y generando los datos de imagen basados en el resultado calculado, caracterizado porque el punto blanco es actualizado repetidamente por la reselección a cada tiempo de una tabla en donde una pluralidad de valores randomizados predeterminados de las posiciones en un espacio virtual tridimensional son puestos en avance, y en dicho cálculo de movimientos y/o mociones incluye el cálculo de la fuerza de rotación ejercida sobre el objeto.
2. Unidad de procesamiento de imagen de acuerdo a la reivindicación 1, en la que la colocación del punto blanco es repetida a un período de tiempo predeterminado.
3. Unidad de procesamiento de imagen de acuerdo a la reivindicación 1 o la reivindicación 2, en la cual los datos de imagen del objeto son generados por la definición de una pluralidad de huesos virtuales para la criatura viviente, calculando posiciones del objeto en un espacio virtual tridimensional con respecto a puntos blancos sucesivos, calculando secuencialmente las posiciones de los huesos virtuales del objeto usando las posiciones del objeto, calculando as posiciones respectivas del vértice usando las posiciones de los huesos virtuales, y generando datos de imagen de dicho objeto basado en los vértices respectivos.
4. Unidad de procesamiento de imagen de acuerdo a una cualquiera de las reivindicaciones 1 a 3, en donde los datos de imagen para expresar las mociones del objeto es generado mediante la definición de una pluralidad de huesos virtuales del objeto, calculando posiciones de las articulaciones virtuales, y calculando datos de imagen expresando las mociones del objeto basado en las posiciones de las articulaciones virtuales.
5. Unidad de procesamiento de imagen de acuerdo a una cualquiera de las reivindicaciones 1 a 4 comprendiendo además un sensor para la detección de la manipulación por el jugador, en donde los puntos blancos son actualizados en respuesta a señales del sensor.
6. Sistema de procesamiento de imagen comprendiendo una unidad de procesamiento de imagen de acuerdo a una cualquiera de las reivindicaciones 1 a 4, una unidad de despliegue (1a) sobre la cual la imagen generada por la unidad de procesamiento de imagen es desplegada, y un sensor (3) dispuesto sobre la cara frontal de la unidad de visualización, en donde la unidad de procesamiento de imagen es colocada para causar los puntos blancos a ser actualizados en respuesta a señales externas del sensor detectando la manipulación por un jugador.
7. Sistema de procesamiento de imagen de acuerdo a una la reivindicación 6, comprendiendo además un tanque de agua virtual (2) dispuesto entre la cara frontal de la unidad visualización y el sensor.
8. Sistema de procesamiento de imagen de acuerdo a la reivindicación 6 o 7, en donde un espacio virtual tridimensional incluye un tanque virtual de agua y el objeto estimula una criatura viviente que se mueve en un tanque virtual de agua.
9. Sistema de procesamiento de imagen de acuerdo a la reivindicación 7 a 8, en donde la unidad de procesamiento de imagen es colocada para causar que el objeto se despliegue en la unidad de pantalla para moverse hacia una posición en la cual el jugador toca el sensor en la cara frontal de la unidad de visualización.
10. Sistema de procesamiento de imagen de acuerdo a cualquiera de las reivindicaciones 7 a 9, en la cual dicha unidad de procesamiento de imagen es colocada para calcular la información atmosférica y para adicionar a los datos de imagen para extender en la unidad de visualización.
11. Sistema de procesamiento de imagen de acuerdo a una la reivindicación 10, en donde la información atmosférica incluye ondas de agua.
12. Sistema de procesamiento de imagen de acuerdo a la reivindicación 10 o la reivindicación 11, en la que la información atmosférica incluye ondas de luz que se mueven en el agua en el tanque virtual
13. Sistema de procesamiento de imagen de acuerdo a una la reivindicación 11, en el que un modelo simple de ondas está definido para las ondas, este modelo es un modelo virtual de un paralelípido rectangular donde tres lados son valores predeterminados, el peso es un valor predeterminado, y cada uno de los cuatro vértices de la base está sostenida por un resorte respectivamente, y el movimiento de ondas es simulado por el cambio de las constantes de elasticidad de los resortes a cada tiempo predeterminado.
14. Sistema de procesamiento de imagen de acuerdo con cualquiera de las reivindicaciones 6 a 13, en donde un sensor es un sensor de matriz incluyendo sensores infrarrojos con la cual producen una señal cuando es tocado por un jugador.
15. Sistema de procesamiento de imagen para el generamiento de datos de imagen para el despliegue de movimientos y/o mociones de un objeto simulando una criatura viviente, comprendiendo los pasos de:
definición del objeto en un espacio virtual tridimensional
colocación de puntos blancos sucesivos en un espacio virtual tridimensional con respecto al objeto,
y
cálculo de movimientos y/o mociones del objeto en correspondencia con cada punto blanco sucesivo,
y
la generación de datos de imagen basados en los resultados calculados,
Caracterizados por
actualización repetidamente del punto blanco por la reselección a cada tiempo a partir de una tabla en donde una pluralidad de valores randomizados para posiciones en un espacio virtual tridimensional son puestos en avance, y como parte de dicho paso de cálculo, calculando la fuerza de rotación ejercida sobre el objeto.
16. Sistema de procesamiento de imagen de acuerdo a la reivindicación 15, en donde el colocamiento del punto blanco es repetido a un período de tiempo predeterminado.
17. Método de procesamiento de imagen de acuerdo a la reivindicación 15 o la reivindicación 16, comprendiendo además los pasos de:
definición de una pluralidad de huesos virtuales para la criatura viviente,
cálculo de posiciones del objeto en un espacio virtud tridimensional con respecto a los puntos blancos sucesivos,
cálculo de las posiciones secuencialmente de los huesos virtuales del objeto usando las posiciones del objeto,
cálculo de las posiciones de los vértices respectivos de los polígonos usando las posiciones de los huesos virtuales, y generando datos de imagen de dicho objeto basado en los vértices respectivos.
18. Método de procesamiento de imagen de acuerdo a las reivindicaciones 15 a 17, comprendiendo además los pasos de:
definición de una pluralidad de huesos virtuales del objeto,
calculando posiciones de los huesos virtuales, y
calculando datos de imagen expresando mociones del objeto basado en las posiciones de las articulaciones virtuales.
19. Método de procesamiento de imagen de acuerdo a cualquiera de las reivindicaciones 15 a 18, en donde los puntos blancos son actualizados en respuesta a señales del sensor el cual detecta la manipulación por el jugador.
20. Método de procesamiento de imagen de acuerdo a la reivindicación 19, en la que un sensor está dispuesto en la cara frontal de una unidad de visualización.
21. Método de procesamiento de imagen de acuerdo a la reivindicación 20, en donde un tanque de agua virtual está dispuesto entra la cara frontal de la unidad de visualización y el sensor.
22. Método de procesamiento de imagen en correspondencia a la reivindicación 20 o 21, en donde un espacio virtual tridimensional incluye un tanque de agua virtual y el objeto simula el movimiento de una criatura viviente en el tanque virtual de agua.
23. Método de procesamiento de imagen de acuerdo a la reivindicación 21 o 22, en la que el objeto desplegado en la unidad de visualización se mueve hacia una posición en la cual un jugador toca un sensor en la cara frontal de la unidad de visualización.
24. Método de procesamiento de imagen en correspondencia a cualquiera de las reivindicaciones 21 a 23, en donde la información atmosférica es calculada y añadida a la imagen desplegada en la unidad de visualización.
25. Método de procesamiento de imagen de acuerdo a la reivindicación 24, en la que la información atmosférica incluye ondas del agua en el tanque virtual.
26. Método de procesamiento de imagen de acuerdo a la reivindicación 24 o la reivindicación 25, en donde la información atmosférica incluye ondas de luz moliéndose en el agua en el tanque virtual.
27. Método de procesamiento de imagen de acuerdo con la reivindicación 25, comprendiendo además los pasos de:
la definición de un modelo simple de las ondas, el cual es un modelo virtual o un paralelípido rectangular donde los tres lados son valores predeterminados, el peso es un valor predeterminado, y cada uno de las cuatro esquinas de la base está apoyada por un resorte respectivamente, y la simulación de movimientos de ondas mediante el cambio de las constantes de elasticidad a cada tiempo predeterminado.
28. Medio de almacenamiento en el cual están los programas adaptados almacenados para ejecutar todos los pasos del método de acuerdo a cualquiera de las reivindicaciones 15 a 27 donde corre una máquina de juego de computadora.
ES98940626T 1997-08-29 1998-08-28 Sistema de procesamiento de imagen y metodo de procesamiento de imagen. Expired - Lifetime ES2280096T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP23481297 1997-08-29
JP9-234812 1997-08-29

Publications (1)

Publication Number Publication Date
ES2280096T3 true ES2280096T3 (es) 2007-09-01

Family

ID=16976784

Family Applications (1)

Application Number Title Priority Date Filing Date
ES98940626T Expired - Lifetime ES2280096T3 (es) 1997-08-29 1998-08-28 Sistema de procesamiento de imagen y metodo de procesamiento de imagen.

Country Status (7)

Country Link
US (1) US6538655B1 (es)
EP (1) EP1008959B1 (es)
KR (1) KR100584706B1 (es)
CN (1) CN1171182C (es)
DE (1) DE69836383T2 (es)
ES (1) ES2280096T3 (es)
WO (1) WO1999012129A1 (es)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1073017A4 (en) * 1999-02-16 2003-08-13 Sega Enterprises Kk IMAGE DISPLAY DEVICE, IMAGE PROCESSING DEVICE, IMAGE DISPLAY SYSTEM
US6924787B2 (en) * 2000-04-17 2005-08-02 Immersion Corporation Interface for controlling a graphical image
JP4530312B2 (ja) * 2000-07-27 2010-08-25 株式会社バンダイナムコゲームス ゲームシステム及び情報記憶媒体
JP4084057B2 (ja) * 2002-03-01 2008-04-30 松下電器産業株式会社 表示装置、表示方法、プログラム、および記録媒体
JP3780512B2 (ja) * 2002-07-30 2006-05-31 株式会社光栄 プログラム、記録媒体及びゲーム装置
JP4667755B2 (ja) * 2004-03-02 2011-04-13 任天堂株式会社 ゲーム装置およびゲームプログラム
JP4671095B2 (ja) * 2004-07-30 2011-04-13 富士フイルム株式会社 画像表示制御装置及び画像表示制御プログラム
US20060267952A1 (en) * 2005-05-26 2006-11-30 Steve Alcorn Interactive display table top
JP2007286669A (ja) * 2006-04-12 2007-11-01 Sony Corp 画像処理装置および方法、並びにプログラム
US20070274607A1 (en) * 2006-04-12 2007-11-29 Jincheng Huang Method of Creating a Reflection Effect in an Image
KR100799271B1 (ko) 2006-12-19 2008-01-30 박진홍 디지털 수족관 및 이를 위한 디지털 물고기 생성 시스템
WO2008091857A1 (en) * 2007-01-22 2008-07-31 Bell Helicopter Textron, Inc. System and method for controlling a virtual reality environment by an actor in the virtual reality environment
US8599194B2 (en) * 2007-01-22 2013-12-03 Textron Innovations Inc. System and method for the interactive display of data in a motion capture environment
US8615714B2 (en) 2007-01-22 2013-12-24 Textron Innovations Inc. System and method for performing multiple, simultaneous, independent simulations in a motion capture environment
WO2008131054A2 (en) * 2007-04-17 2008-10-30 Bell Helicopter Textron, Inc. Collaborative virtual reality system using multiple motion capture systems and multiple interactive clients
JP5285613B2 (ja) * 2007-09-28 2013-09-11 株式会社コナミデジタルエンタテインメント 画像表示装置
US8648864B2 (en) * 2008-02-05 2014-02-11 Disney Enterprises, Inc. System and method for blended animation enabling an animated character to aim at any arbitrary point in a virtual space
DE112009004371T5 (de) * 2009-01-15 2012-08-02 Mitsubishi Electric Corporation Kollisionsbestimmungsvorrichtung und Kollisionsbestimmungsprogramm
KR101049470B1 (ko) 2009-07-14 2011-07-19 전국진 대형박물관용 가상현실 수족관장치
KR101110190B1 (ko) * 2009-07-14 2012-02-16 전국진 휴대폰과 연계되는 대형박물관용 가상현실 수족관장치
US9886794B2 (en) 2012-06-05 2018-02-06 Apple Inc. Problem reporting in maps
US9418672B2 (en) 2012-06-05 2016-08-16 Apple Inc. Navigation application with adaptive instruction text
US10156455B2 (en) 2012-06-05 2018-12-18 Apple Inc. Context-aware voice guidance
US9052197B2 (en) 2012-06-05 2015-06-09 Apple Inc. Providing navigation instructions while device is in locked mode
US9482296B2 (en) 2012-06-05 2016-11-01 Apple Inc. Rendering road signs during navigation
US9147286B2 (en) * 2012-06-06 2015-09-29 Apple Inc. Non-static 3D map views
EP3062142B1 (en) 2015-02-26 2018-10-03 Nokia Technologies OY Apparatus for a near-eye display
JP6752007B2 (ja) * 2015-10-06 2020-09-09 チームラボ株式会社 お絵かき画像表示システム
CN106362398B (zh) * 2016-10-14 2020-02-07 网易(杭州)网络有限公司 摄像机镜头位置的确定方法及装置
US10650552B2 (en) 2016-12-29 2020-05-12 Magic Leap, Inc. Systems and methods for augmented reality
EP3343267B1 (en) 2016-12-30 2024-01-24 Magic Leap, Inc. Polychromatic light out-coupling apparatus, near-eye displays comprising the same, and method of out-coupling polychromatic light
US10578870B2 (en) 2017-07-26 2020-03-03 Magic Leap, Inc. Exit pupil expander
NZ765113A (en) 2017-12-10 2024-07-05 Magic Leap Inc Anti-reflective coatings on optical waveguides
WO2019126331A1 (en) 2017-12-20 2019-06-27 Magic Leap, Inc. Insert for augmented reality viewing device
CN112136152A (zh) 2018-03-15 2020-12-25 奇跃公司 由观看设备的部件变形导致的图像校正
EP3803450A4 (en) 2018-05-31 2021-08-18 Magic Leap, Inc. POSITIONING A RADAR HEAD
JP7369147B2 (ja) 2018-06-05 2023-10-25 マジック リープ, インコーポレイテッド 視認システムのホモグラフィ変換行列ベースの温度較正
US11579441B2 (en) 2018-07-02 2023-02-14 Magic Leap, Inc. Pixel intensity modulation using modifying gain values
US11856479B2 (en) 2018-07-03 2023-12-26 Magic Leap, Inc. Systems and methods for virtual and augmented reality along a route with markers
WO2020010226A1 (en) 2018-07-03 2020-01-09 Magic Leap, Inc. Systems and methods for virtual and augmented reality
US11624929B2 (en) 2018-07-24 2023-04-11 Magic Leap, Inc. Viewing device with dust seal integration
CN112689741B (zh) 2018-07-24 2024-10-11 奇跃公司 移动检测设备的依赖于温度的校准
CN112740665A (zh) 2018-08-02 2021-04-30 奇跃公司 基于头部运动的瞳孔间距离补偿的观察系统
US10795458B2 (en) 2018-08-03 2020-10-06 Magic Leap, Inc. Unfused pose-based drift correction of a fused pose of a totem in a user interaction system
JP7487176B2 (ja) 2018-08-22 2024-05-20 マジック リープ, インコーポレイテッド 患者視認システム
JP7472127B2 (ja) 2018-11-16 2024-04-22 マジック リープ, インコーポレイテッド 画像鮮明度を維持するための画像サイズによってトリガされる明確化
CN113454507B (zh) 2018-12-21 2024-05-07 奇跃公司 用于促进波导内的全内反射的气穴结构
JP7515489B2 (ja) 2019-02-06 2024-07-12 マジック リープ, インコーポレイテッド 複数のプロセッサによって発生される総熱を限定するための標的意図ベースのクロック速度の決定および調節
CN113544766A (zh) 2019-03-12 2021-10-22 奇跃公司 在第一和第二增强现实观看器之间配准本地内容
EP3963565A4 (en) 2019-05-01 2022-10-12 Magic Leap, Inc. CONTENT DELIVERY SYSTEM AND PROCEDURES
WO2021021670A1 (en) * 2019-07-26 2021-02-04 Magic Leap, Inc. Systems and methods for augmented reality
EP4058936A4 (en) 2019-11-14 2023-05-03 Magic Leap, Inc. SYSTEMS AND METHODS FOR VIRTUAL AND AUGMENTED REALITY
US11737832B2 (en) 2019-11-15 2023-08-29 Magic Leap, Inc. Viewing system for use in a surgical environment

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3179474B2 (ja) * 1990-11-28 2001-06-25 株式会社日立製作所 コンピュータグラフィックの表示方法及び情報処理装置
JP3544268B2 (ja) * 1995-10-09 2004-07-21 任天堂株式会社 三次元画像処理装置およびそれを用いた画像処理方法
US5909218A (en) * 1996-04-25 1999-06-01 Matsushita Electric Industrial Co., Ltd. Transmitter-receiver of three-dimensional skeleton structure motions and method thereof
US6480194B1 (en) * 1996-11-12 2002-11-12 Silicon Graphics, Inc. Computer-related method, system, and program product for controlling data visualization in external dimension(s)

Also Published As

Publication number Publication date
EP1008959A4 (en) 2001-04-18
EP1008959B1 (en) 2006-11-08
DE69836383T2 (de) 2007-10-11
DE69836383D1 (de) 2006-12-21
CN1268236A (zh) 2000-09-27
CN1171182C (zh) 2004-10-13
EP1008959A1 (en) 2000-06-14
US6538655B1 (en) 2003-03-25
KR100584706B1 (ko) 2006-05-30
KR20010023411A (ko) 2001-03-26
WO1999012129A1 (fr) 1999-03-11

Similar Documents

Publication Publication Date Title
ES2280096T3 (es) Sistema de procesamiento de imagen y metodo de procesamiento de imagen.
ES2239354T3 (es) Procesador de imagen para juegos.
JP6501017B2 (ja) 画像処理装置、プログラム、画像処理方法および画像処理システム
ES2297896T3 (es) Dispositivo de generacion de imagenes.
ES2295498T3 (es) Dispositivo de procesamiento de imagenes para determinar la trayectoria de vuelo de un objeto.
US6774900B1 (en) Image displaying device, image processing device, image displaying system
US20230068042A1 (en) Systems and methods for augmented reality
ES2281962T3 (es) Procesador de imagen, maquina de juego, metodo de procesamiento de imagen, y medio de grabacion.
JP2001029654A5 (es)
JP6709633B2 (ja) シミュレーションシステム及びゲームシステム
CN104407521A (zh) 一种实现水下机器人实时仿真的方法
AU4455001A (en) Entertainment apparatus, storage medium, and method of deciding weather
ES2283076T3 (es) Dispositivo generador de imagenes y metodo de generacion de imagenes.
JPH10198822A (ja) 画像合成装置
JPH0947576A (ja) 3次元ゲーム装置及び画像合成方法
JP4267646B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP3005581B1 (ja) 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲ―ム装置
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4575937B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP2004295916A (ja) 画像処理装置及び画像処理方法
Yu et al. Synthetic motion capture: Implementing an interactive virtual marine world
JP7371199B1 (ja) ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法
JP2003275460A (ja) ゲーム装置及び情報記憶媒体
JP2004078695A (ja) アニメーション作成システム
JP2007164728A (ja) 画像生成システム、プログラム及び情報記憶媒体