ES2277106T3 - Procedimiento para generar un modelo legible por ordenador. - Google Patents

Procedimiento para generar un modelo legible por ordenador. Download PDF

Info

Publication number
ES2277106T3
ES2277106T3 ES03750398T ES03750398T ES2277106T3 ES 2277106 T3 ES2277106 T3 ES 2277106T3 ES 03750398 T ES03750398 T ES 03750398T ES 03750398 T ES03750398 T ES 03750398T ES 2277106 T3 ES2277106 T3 ES 2277106T3
Authority
ES
Spain
Prior art keywords
connection
elements
construction
grid
building
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
ES03750398T
Other languages
English (en)
Inventor
Olga Timcenko
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.)
Lego AS
Original Assignee
Lego AS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lego AS filed Critical Lego AS
Application granted granted Critical
Publication of ES2277106T3 publication Critical patent/ES2277106T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/04Building blocks, strips, or similar building parts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • G05B19/4099Surface or curve machining, making three-dimensional [3D] objects, e.g. desktop manufacturing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32155Editor and library for objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32156Each defined object has corresponding set of geometrical macros
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32157Create a new object by combining existing objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35008Www cad, world wide design and manufacturing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35023Constraint based modeling, keep relationships between elements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35079Features, functions like special relationdship, assembly locations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35114Generation of connection between two or more surfaces
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35117Define surface by elements, meshes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/351343-D cad-cam
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35142Generate tile patterns, mosaic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35201Use cad data to test function of designed part, design for test DFT
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35218From cad data derive fixture configuration and assembly program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35219From cad data derive cutting, stacking, sorting program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45007Toy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49008Making 3-D object with model in computer memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2008Assembling, disassembling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Preparing Plates And Mask In Photomechanical Process (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Oscillators With Electromechanical Resonators (AREA)

Abstract

Procedimiento para generar un modelo legible por ordenador de un objeto geométrico (231) construido a partir de una pluralidad de elementos de construcción interconectables, en el que cada elemento de construcción (232, 233, 234, 235) presenta diversos elementos de conexión para conectar el elemento de construcción con otro elemento de construcción, comprendiendo el procedimiento codificar un primer y un segundo elemento de la pluralidad de elementos de construcción que corresponden a la primera y segunda estructuras de datos, representando cada uno de ellos los elementos de conexión (307x) del correspondiente elemento de construcción, y presentado asociado cada uno de los elementos de conexión con el mismo un tipo de conexión de una pluralidad de tipos de conexión predeterminados; determinar un primer elemento de conexión (238) del primer elemento de construcción y un segundo elemento de conexión (242) del segundo elemento de construcción, dispuestos en una proximidad predeterminada entresí; y recuperar la información de la conectividad de los correspondientes tipos de conexión del primer y segundo elementos de conexión indicativa de si el primer y el segundo elementos de conexión proporcionan una conexión entre el primer y el segundo elementos de construcción.

Description

Procedimiento para generar un modelo legible por ordenador.
Campo de la invención
La presente invención se refiere al campo del modelado asistido por ordenador de una realidad virtual por medio de unos elementos geométricos predeterminados.
Antecedentes de la invención
El modelado asistido por ordenador de una realidad virtual es la tarea de crear un modelo de un objeto geométrico, interpretar el modelo, manipular el modelo, y tratar de otra manera un modelo de un objeto geométrico en un sistema de ordenador.
Desde un primer punto de vista, el modelado de una realidad virtual es un tema interesante debido a que posibilita visualizar ideas antes de que se realicen realmente en el mundo real. Si el modelo de realidad virtual es suficientemente fácil de modificar se ahorra mucho tiempo en el proceso de desarrollar y perfeccionar un objeto geométrico en comparación con una situación en la que deba realizarse el mismo proceso en el mundo real. Una sencilla tarea de pintar un objeto en el mundo real puede durar fácilmente varias horas, mientras que el ordenador puede aplicar un nuevo color para la visualización de un modelo en unos milisegundos o segundos.
Desde un segundo punto de vista, el modelado de una realidad virtual es interesante debido a que posibilita crear un modelo de un objeto que existe en el mundo real y por medio de un ordenador visualizar y manipular el modelo en algún sentido. De este modo el modelo del objeto en el mundo real puede almacenarse para distintos fines, por ejemplo, con el fin de disponer de documentación anticipada.
Aunque existe una inmensa cantidad de aplicaciones posibles para el modelado de realidad virtual asistido por ordenador, una aplicación particular consiste en utilizar el modelado de realidad virtual para entretenimiento o educación.
Son conocidos diversos tipos de conceptos de modelado de conjuntos de juegos de construcción como tales. Particularmente, fueron, y son muy populares unos conceptos que utilizan ideas modulares o semimodulares. Generalmente, estos conceptos proporcionan un conjunto de elementos prefabricados que pueden acoplarse mutuamente entre sí de alguna manera predeterminada según unos módulos de los elementos prefabricados. Los elementos prefabricados se parecen a unos objetos bien conocidos adaptados en una tarea de modelado determinada. De este modo, por ejemplo, en la construcción de un modelo de un edificio los elementos pueden presentar el aspecto de ladrillos de pared, tejas, puertas, y ventanas. El objeto de seleccionar los elementos de este modo es que el trabajo implicado en la construcción de un modelo de una casa se reduce considerablemente en comparación con una situación en la que cada vez que tenga que realizarse un nuevo modelo deba determinarse todos los detalles de la casa. Sin embargo, se renuncia a la completa libertad en la construcción de una casa u otro objeto por la sencillez de construcción del modelo.
Esta solución de disponer de unos elementos predeterminados es bien conocida en la técnica del modelado de una realidad virtual asistido por ordenador. También, es bien conocido el concepto de disponer de elementos modulares que puedan acoplarse entre sí. Pero, por lo que se refiere a la representación en un ordenador de dichos modelos, no se consigue plenamente la conveniencia del concepto de disponer de elementos predeterminados y sistemas
modulares.
El documento WO-A-0043959 presenta un sistema para generar un modelo legible por ordenador de un objeto geométrico construido a partir de una pluralidad de elementos de construcción interconectables.
Siempre que se han utilizado el diseño y modelado asistidos por ordenador, una tarea que requiere un gran esfuerzo computacional ha sido la visualización y manipulación de un modelo, incluyendo el cálculo de cómo debe aparecer dicho modelo. Una de las razones por la que han aumentado la complejidad y las mejoras de los modelos de realidad virtual es seguir la tecnología de ordenador y la potencia computacional siempre recientes.
En cuanto a la transferencia e intercambio de los datos que representan un modelo, aparecen muy claramente los inconvenientes de la complejidad y perfeccionamientos de los modelos de realidad virtual. Actualmente se conecta al ordenador a algún tipo de unidad externa en forma de una unidad de almacenamiento o una red de comunicación por ordenador y se amplia así el recorrido de la señal para almacenar, cargar y/o trasmitir, recibir un modelo. Generalmente, dichos recorridos de la señal presentan una anchura de banda relativamente baja en comparación con los recorridos de señal dentro de un ordenador único. De este modo se requiere un esquema eficaz para representar un modelo.
En particular, en el contexto de la generación de un modelo de elementos predeterminados o elementos de construcción que puedan acoplarse entre sí por medio de unos elementos de conexión, tales como unos conectores y unos correspondientes receptores, surge un problema general de determinar si los elementos de construcción virtuales son acoplables o no cuando se dispongan en una posición determinada uno con respecto a otro. Es importante la información de la conectividad con el fin de generar modelos realistas de objetos físicos, por ejemplo, con el fin de asegurar que un modelo virtual no comprenda ningún elemento que flote por encima de una superficie sin ser acoplado a una parte de soporte del objeto modelado.
En la mayor parte de los conjuntos de construcciones del mundo real existen elementos de construcción distintos que pueden acoplarse mutuamente de muchas maneras distintas.
Por lo tanto, un objetivo de la presente invención consiste en proporcionar un procedimiento para generar un modelo legible por ordenador de un objeto geométrico en el que pueden acoplarse entre sí una variedad de distintos elementos de construcción.
Otro objetivo de la invención consiste en proporcionar un procedimiento para generar un modelo legible por ordenador de un objeto geométrico en el que los elementos de construcción pueden acoplarse entre sí de diversas maneras posibles.
Sumario de la invención
Los problemas anteriormente mencionados y otros se resuelven mediante un procedimiento para generar un modelo legible por ordenador de un objeto geométrico construido a partir de una pluralidad de elementos de construcción intercambiables, en el que cada elemento de construcción presenta diversos elementos de conexión para acoplar el elemento de construcción con otro elemento de construcción, comprendiendo el procedimiento:
codificar un primer y un segundo elementos de construcción de una pluralidad de elementos de construcción que corresponden a la primera y segunda estructuras de datos, representando cada uno de ellas los elementos de conexión del correspondiente elemento de construcción, y presentando cada uno de los elementos asociados con el mismo un tipo de conexión de una pluralidad de tipos de conexión predeterminados;
determinar un primer elemento de conexión del primer elemento de construcción y un segundo elemento de conexión del segundo elemento de construcción, dispuestos en una proximidad predeterminada entre sí; y
recuperar la información de conectividad de los correspondientes tipos de conexión del primer y segundo elementos de conexión indicativa de si el primer y el segundo elementos de conexión proporcionan una conexión entre el primer y el segundo elementos de construcción.
Una ventaja de la invención es que proporciona una estructura de modelo y una representación de dicha estructura de modelo que es conveniente para representar objetos compuestos por elementos de construcción de juguete modulares o elementos.
Otra ventaja de la invención es que proporciona un procedimiento para modelar conexiones de una gran variedad de elementos de construcción.
Otra ventaja más de la invención es que proporciona un procedimiento para modelar conexiones de una gran variedad de distintos elementos de conexión, tales como distintos tipos de resaltes, orificios, tubos, bisagras, bordes, ejes, etc. Disponiendo una pluralidad de elementos de conexión que presentan diversos tipos de conexión, se proporciona una representación de las propiedades de conexión de un elemento de construcción que es independiente de la forma geométrica exacta de los conectores reales.
En particular, es una ventaja que se proporcione un procedimiento para modelar conexiones de una gran variedad de distintos elementos de conexión que sea independiente del aspecto de los elementos de conexión físicos y su configuración.
Por lo tanto, puede modelarse un gran conjunto de distintos elementos de construcción predeterminados que incluyan distintos tipos de elementos de conexión.
El término elemento de construcción comprende cualquier tipo adecuado de elemento constructivo que presente elementos de conexión para unirlo a uno o varios otros elementos constructivos y que pueda utilizarse para crear objetos físicos y que pueda representarse digitalmente en un ordenador. Los ejemplos de elementos de construcción incluyen los elementos de un conjunto de juego de construcción, por ejemplo, bloques de construcción tales como ladrillos, etc. El término elemento de construcción comprende además conjuntos de elementos de construcción más pequeños acoplados entre sí, por ejemplo dos o más ladrillos acoplados.
En una forma de realización, los tipos de conexión se agrupan en diversos grupos de conexión, por ejemplo, conectores, receptores, y elementos mixtos. Los conectores son elementos de conexión que pueden ser recibidos por un receptor de otro elemento de construcción, proporcionando de este modo una unión entre los elementos de construcción. Por ejemplo un conector puede montarse entre unas partes de otro elemento, en un orificio, o similar. Los receptores son elementos de conexión que pueden recibir un conector de otros elementos de construcción. Los elementos mixtos son componentes que pueden funcionar como un receptor y como un conector, generalmente según el tipo de elemento de conexión cooperativo del otro elemento de construcción.
Otra ventaja adicional de la invención es que proporciona un procedimiento para modelar conexiones a lo largo de distintas superficies o planos que pueden girarse uno contra otro.
Otra ventaja más de la invención es que proporciona una representación compacta de un modelo de un objeto geométrico que permite el modelado de objetos complejos que comprenden partes móviles y/o partes que pueden girar.
Otra ventaja de la invención es que proporciona una representación compacta de un modelo de objeto geométrico.
Otra ventaja de la invención es que proporciona una estructura de modelo y una representación de dicha estructura de modelo que es posible generar e interpretar muy rápido.
Otra ventaja más de la invención es que proporciona una representación de una estructura de modelo que es práctica para ser distribuida por medio de una red de ordenador, en el sentido que requiere una anchura de banda relativamente baja y se requiere un tiempo de proceso corto cuando el modelo se somete a visualización, se genera o se manipula.
En una forma de realización preferida de la invención, el procedimiento comprende además proporcionar una tabla de conexión que incluye la información de conectividad de pares de tipos de conexión y la etapa de recuperar la información de conectividad comprende recuperar la información de conectividad de la tabla de conexión.
El término tabla de conexión está previsto que comprenda cualquier estructura de datos adecuada para almacenar la información de conectividad para pares de tipos de conexión. Por ejemplo, una estructura de datos de este tipo puede ser una tabla para consulta indexada por pares de tipo de conexión.
Proporcionando una tabla de conexión, se facilita una estructura de datos eficaz y ampliable para almacenar información de conectividad con respecto a los pares de tipos de conexión. Además, se hace posible una detección más rápida de la conectividad.
En otra forma de realización preferida de la invención, cada una de las respectivas estructuras de datos representa además diversas cuadrículas con respecto al correspondiente elemento de construcción, presentando cada cuadrícula diversos puntos de cuadrícula; y cada uno de los elementos de conexión del elemento de construcción está asociado con uno de los puntos de cuadrícula y presenta un correspondiente tipo de conexión.
Por lo tanto, proporcionando unas estructuras de cuadrícula, tales como unas cuadrículas cuadradas, cuadrículas triangulares, o similares, con puntos de cuadrícula que presentan tipos de conexión asociados, las distintas propiedades de los diversos elementos de unión, tales como las propiedades de tamaño, forma, unión, etc., pueden reducirse a uno o varios atributos asociados con cada uno de los puntos de cuadrícula. Por lo tanto, se consigue una representación eficaz de las propiedades de conexión de un elemento de construcción.
Otra ventaja consiste en que mediante la asociación de los elementos de conexión a los puntos de cuadrícula es posible una detección particularmente sencilla si dos elementos de conexión están en una proximidad determinada entre sí. Por ejemplo, en una forma de realización, en la que los elementos de construcción se disponen en un volumen discreto común, la cuadrícula de referencia de volumen y todas las coordenadas son múltiplos de una unidad de longitud arbitraria, puede requerirse una adaptación exacta de las coordenadas para dos elementos de conexión que deban considerarse dentro de una proximidad predeterminada. En un sistema de coordenadas de referencia continuo, o casi continuo, puede requerirse que los puntos de cuadrícula coincidan dentro de unos limites predeterminados, es decir, que puedan disponerse en una proximidad predeterminada entre sí. La medida de dicha proximidad puede depender de los tipos de elementos de conexión físicos que deben modelarse, por ejemplo, de cómo cooperan realmente con el fin de unirse, y de la exactitud de la disposición de los elementos de construcción que deberán ejecutarse.
Se prefiere que cada plano a lo largo del cual un elemento de construcción puede acoplarse a otro elemento de construcción se divida en segmentos de cuadrícula, por ejemplo, cuadros en los que cada uno de los segmentos de cuadrícula presente un punto de cuadrícula en el centro.
Se prefiere que cada elemento de conexión presente una dirección asociada, que indique en que dirección puede acoplarse un elemento de conexión con un correspondiente elemento de conexión.
Se prefiere además que todos los elementos de conexión dispuestos en un plano común y que presenten una dirección común correspondan a segmentos de una cuadrícula ortogonal con una distancia predeterminada entre puntos de cuadrícula contiguos. Preferentemente, los elementos de conexión de todos los elementos de construcción de un conjunto de elementos de construcción se disponen en los elementos de construcción según unas reglas predeterminadas, que permiten asociar cada elemento de conexión con un correspondiente punto de cuadrícula.
Se observa, sin embargo, que no se requiere que los elementos de conexión en distintos planos, no paralelos, presenten la misma distancia entre los respectivos puntos de cuadrícula. Por ejemplo, la distancia entre los elementos de conexión en los planos horizontales puede ser distinta a la distancia entre los elementos de conexión en planos verticales.
Además, asociando elementos de conexión con puntos de cuadrícula predeterminados puede realizarse de una manera eficaz la predeterminación de si un elemento de conexión de un primer elemento de construcción se encuentra en una predeterminada proximidad de un elemento de construcción de un segundo elemento de construcción, puesto que la determinación puede limitarse a identificar puntos de cuadrícula próximos.
En otra forma de realización preferida, el procedimiento comprende además
-
proporcionar una tabla de combinaciones que incluya un tipo de conexión resultante para cada uno de los conjuntos predeterminado de pares de tipos de conexión;
-
determinar un primer y un segundo elementos de conexión que estén dispuestos en una relación geométrica predeterminada entre sí;
-
recuperar un tipo de conexión resultante del primer y segundo elementos de conexión de la tabla de combinaciones; y
-
asignar el tipo de conexión resultante a por lo menos un elemento de conexión resultante.
Por lo tanto, es una ventaja que los tipos de conexión de los elementos de conexión sean dinámicos, es decir, que pueden cambiarse según el contexto geométrico en que está dispuesto un elemento de construcción, proporcionando de este modo un modelado más realista de las propiedades de conexión de los elementos de construcción físicos. En particular, un primer elemento de conexión de un primer elemento de construcción y un segundo elemento de conexión de un segundo elemento de construcción pueden proporcionar de manera cooperativa, cuando están dispuestos en una relación geométrica predeterminada entre sí, distintas propiedades de conexión a las de los elementos de conexión individuales.
El efecto cooperativo del primer y segundo elementos de conexión dependerá con frecuencia de la relación geométrica mutua, es decir, de la manera en que están dispuestos los elementos de conexión uno con respecto al otro, por ejemplo, con qué proximidad están dispuestos entre sí, en qué orientación relativa están dispuestos entre sí, y/o similar. En una forma de realización, ésta se modela determinando si el primer y segundo elementos de conexión están dispuestos dentro de una proximidad predeterminada entre sí; y, si están dispuestos en dicha proximidad entre sí, asignando el tipo de conexión resultante determinada al primer y segundo elementos de conexión.
En la estructura de datos ésta se representa asignando un tipo de conexión resultante a por lo menos un elemento de conexión resultante. En una forma de realización el elemento de conexión resultante es un elemento del primer y segundo elementos de conexión. En otra forma de realización preferida, el tipo de conexión resultante se asigna tanto al primer elemento de conexión como al segundo elemento de conexión.
Se prefiere además que el primer y segundo elementos de conexión tengan reasignados sus respectivos tipos de conexión originales, si los correspondientes elementos de construcción se recolocan de manera que los elementos de conexión ya no se disponen en la relación geométrica requerida.
En una forma de realización alternativa, el elemento de conexión resultante puede ser un nuevo elemento de conexión, por ejemplo, determinado de manera que presente una posición relacionada con las posiciones del primer y segundo elementos de construcción.
Se comprende que, en algunas formas de realización pueden combinarse más de dos elementos de conexión que proporcionan un tipo de conexión resultante.
El término tabla de combinaciones está previsto para que comprenda cualquier estructura de datos adecuada para almacenar tipos de conexión resultantes para pares de tipos de conexión. Por ejemplo, una estructura de datos de este tipo puede ser una tabla de consulta indexada por pares de tipos de conexión, en la que cada entrada de la tabla de consulta comprende un tipo de conexión resultante que resulta de la combinación de un par de elementos de conexión, presentando cada elemento de conexión un respectivo tipo de conexión del correspondiente par de tipos de conexión.
Disponiendo una tabla de combinaciones, se proporciona una estructura de datos eficaz y ampliable para almacenar información sobre cómo pueden variar los tipos de conexión de los elementos de conexión debido a la combinación con otros tipos de conexión.
En particular, en el caso de bloques de construcción virtuales, una situación que surge con frecuencia es una constelación en la que se disponen dos bloques de construcción uno al lado del otro, es decir, en una extensión borde con borde, de tal manera que los elementos de conexión en los bordes de los bloques de construcción contiguos varían las propiedades.
En otra forma de realización preferida, esta situación se modela eficazmente cuando cada una de las cuadrículas asociadas con los elementos de construcción presenta por lo menos un borde de cuadrícula y el procedimiento comprende
-
proporcionar una tabla de combinaciones que incluya un tipo de conexión resultante para cada par de tipos de conexión;
-
detectar si una primera cuadrícula del primer elemento de construcción está dispuesta en una extensión borde con borde de una segunda cuadrícula del segundo elemento de construcción, estando alineado un primer borde de la primera cuadrícula con un segundo borde de la segunda cuadrícula;
-
para un primer elemento de conexión de la primera cuadrícula identificar un correspondiente elemento de conexión de la segunda cuadrícula;
-
recuperar un tipo de conexión resultante de una combinación del primer y segundo elementos de conexión de la tabla de combinaciones; y
-
asignar el tipo de conexión resultante recuperado al primer y segundo elementos de conexión.
Cuando los elementos de construcción se disponen uno al lado del otro con unos de sus respectivos bordes en la máxima proximidad o incluso tocándose entre sí, los elementos de unión en los correspondientes bordes pueden variar sus propiedades según el tipo de elemento de conexión en el correspondiente borde de otro elemento de construcción o en su proximidad.
Disponiendo una tabla de combinaciones que incluya un tipo de conexión resultante para cada par de tipos de conexión; y asignando los tipos de conexión resultantes a los elementos de conexión en los bordes de los elementos de construcción, si se detecta una extensión borde con borde, pueden modelarse incluso propiedades del conexión complejas de los elementos de construcción que cooperan.
La expresión extensión borde con borde comprende la disposición de dos cuadrículas colocadas una al lado de la otra de manera que en ese punto las correspondientes cuadrículas combinen con una cuadrícula combinada. Por lo tanto, el término extensión borde con borde comprende dos cuadrículas paralelas que presentan unos respectivos bordes de cuadrícula paralelos y una superposición predeterminada a lo largo de los bordes de cuadrícula paralelos, de manera que los puntos de cuadrícula próximos al borde coincidan.
En otra forma de realización preferida de la invención, cada una de las respectivas estructuras de datos representa además un volumen limítrofe del correspondiente elemento de construcción; y cada una de las cuadrículas corresponde a una superficie del volumen limítrofe.
Por lo tanto, disponiendo volúmenes limítrofes para los elementos de construcción en los que las cuadrículas correspondan a las superficies de los volúmenes limítrofes, cada elemento de construcción puede representarse mediante un pequeño número de cuadrículas, aunque el elemento de construcción presente una forma compleja. Por lo tanto, puede conseguirse una detección eficaz de los elementos de conexión que cooperan de dos elementos de construcción, puesto que la complejidad de la forma de los elementos de construcción se traslada a los tipos de conexión que, a su vez, se asocian como atributos a los puntos de cuadrícula relacionados con las superficies de los volúmenes limítrofes.
Además, los volúmenes limítrofes proporcionan una representación eficaz para detectar los elementos de construcción contiguos utilizando los algoritmos de detección de colisión conocidos.
Los volúmenes limítrofes pueden ser cajas limítrofes que presentan lados mutuamente ortogonales, o volúmenes limítrofes que presentan distintas formas.
En otra forma de realización preferida, el procedimiento comprende asimismo:
codificar unas respectivas posiciones del primer y segundo elemento de construcción con respecto a una cuadrícula de referencia de volumen común, correspondiendo la primera y segunda cuadrículas de los correspondientes primer y segundo elementos de construcción a los respectivos primer y segundo planos de la cuadrícula de referencia de volumen; correspondiendo los puntos de cuadrícula de la primera y segunda cuadrículas a los respectivos puntos de cuadrícula de referencia de la cuadrícula de referencia de volumen; y
detectar si la primera y segunda cuadrículas corresponden a un plano común de la cuadrícula de referencia de volumen y si por lo menos un primer punto de cuadrícula de la primera cuadrícula está dispuesto en el mismo punto de cuadrícula de referencia que un segundo punto de cuadrícula de la segunda cuadrícula.
Por lo tanto, disponiendo una cuadrícula de referencia de volumen, por ejemplo, una cuadrícula de un volumen cúbico, y determinando las cuadrículas de superficie como planos de la cuadrícula de volumen de referencia, se proporciona una estructura de datos particularmente sencilla que permite una atención particularmente eficaz de los puntos de cuadrícula contiguos.
Preferentemente, los volúmenes limítrofes se determinan como unos planos con respecto a la cuadrícula de referencia de volumen. En una forma de realización éstos pueden coincidir con los planos de cuadrícula de la cuadrícula de referencia de volumen o, alternativamente, pueden estar determinados como planos entre los planos de cuadrícula de la cuadrícula de referencia de volumen.
En otra forma de realización preferida de la invención, el procedimiento comprende:
-
identificar todos los pares de puntos de cuadrícula coincidentes de la primera cuadrícula y la segunda cuadrícula;
-
para cada uno de dichos pares de puntos de cuadrícula identificados recuperar información de conectividad de la tabla de conectividad;
-
rechazar la conexión entre el primer y segundo elementos de construcción, si por lo menos un par de puntos de cuadrícula corresponde a una conexión no válida; de lo contrario aceptar la conexión entre el primer y segundo elementos de construcción, si por lo menos un par de puntos de cuadrícula corresponde a una conexión válida.
Por lo tanto, se proporciona un procedimiento eficaz para detectar si dos elementos de construcción contiguos pueden acoplarse entre sí. La expresión puntos de cuadrícula coincidentes comprende los puntos de cuadrícula que presentan las mismas coordenadas. En una forma de realización, en la que los elementos de construcción están dispuestos en una cuadrícula de referencia discreta y todas las coordenadas son múltiplos de una unidad de longitud arbitraria, puede requerirse una adaptación exacta de coordenadas, es decir, los puntos de cuadrícula están dispuestos en un punto de cuadrícula de referencia común. En un sistema de coordenadas de referencia, continuo, o casi continuo, puede requerirse que los puntos de cuadrícula coincidan dentro de unos límites predeterminados.
Cuando cada uno de los elementos de conexión presenta además una dirección asociada, otro tributo adicional está asociado con cada punto de cuadrícula, proporcionando de este modo un grado más de libertad.
El término información de conectividad está previsto para comprender la información sobre las propiedades de conexión de un par de tipos de conexión, por ejemplo, para un par determinado de tipos de conexión si dos elementos de conexión de dichos tipos de conexión proporcionan o no una conexión, si hacen una conexión imposible y/o casos similares. En una forma de realización preferida, la información de conectividad comprende un indicador para cada par de tipos de conexión que indica un tipo de un grupo predeterminado de tipos de conectividad, constando el grupo de una conexión válida que proporciona una conexión entre un correspondiente par de elementos de conexión, una conexión no válida que impide una conexión entre una correspondiente par de elementos de unión, y una conexión indiferente.
La expresión conexión indiferente comprende un par de tipos de conexión que, cuando se disponen dentro de una proximidad predeterminada entre sí, no cooperan para acoplar los dos elementos de construcción correspondientes, pero que no impiden tampoco dicha disposición.
Por lo tanto, se proporciona un codificado eficaz de las posibles conexiones mutuas.
En otra forma de realización preferida de la invención, la etapa de determinar un primer elemento de conexión del primer elemento de construcción y un segundo elemento de conexión del segundo elemento de construcción dispuestos en una proximidad determinada entre sí comprende además determinar el primer y segundo elementos de conexión de un subconjunto predeterminado de elementos de conexión. Por lo tanto, únicamente se requiere buscar un subconjunto de elementos de conexión con el fin de determinar un par de elementos de conexión apropiados, aumentando de este modo la eficacia del procedimiento.
En otra forma de realización preferida, cada una de las respectivas estructuras de datos representa además un volumen limítrofe del correspondiente elemento de construcción; el procedimiento comprende además detectar una intersección de los volúmenes limítrofes del primer y segundo elementos de construcción; y la etapa de determinar el primer y segundo elementos de conexión de un subconjunto predeterminado de elementos de conexión comprende determinar el primer y segundo elementos de conexión a partir de elementos de conexión comprendidos en la determinada intersección. Por lo tanto, el subconjunto de elementos de conexión apropiados se determina como elementos de conexión que potencialmente pueden proporcionar una conexión, puesto que están comprendidos en la intersección de cajas limítrofes.
Otra ventaja de la invención es que proporciona unas estructuras de datos y unos algoritmos que pueden ampliarse fácilmente para incorporar nuevos tipos de elementos de construcción e incluso nuevos tipos de elementos de conexión. Por ejemplo, las propiedades de conectividad de dos conjuntos de elementos de construcción de juguete existentes de distintos tipos pueden combinarse de manera que los elementos de construcción de los distintos conjuntos de construcción de juguete distintos puedan acoplarse entre sí.
Otra ventaja de la invención consiste en que proporciona estructuras de datos que no requieren gran capacidad de almacenamiento, incluso cuando se generen modelos que comprenden un gran número de elementos de cons-
trucción.
Otra ventaja adicional de la invención consiste en que proporciona un procedimiento eficaz para detectar si dos o más elementos de construcción se acoplan, disminuyendo de este modo el tiempo de proceso que requiere un ordenador para determinar si los elementos de construcción se acoplan entre sí. Esta es una característica particular importante en programas de ordenador interactivos en los que un usuario puede colocar elementos de construcción uno con respecto a otro, puesto que en esta situación se requiere un tiempo de respuesta corto desde la disposición o retirada de un elemento de construcción hasta la determinación de las propiedades de conectividad del modelo.
La presente invención puede realizarse de distintas maneras incluyendo el procedimiento descrito anteriormente y en la exposición siguiente, un sistema, y unos medios de producto adicionales, proporcionando cada uno de ellos uno o varios de los beneficios y ventajas descritos con respecto al procedimiento mencionado en primer lugar, y presentando cada uno de ellos una o varias formas de realización preferidas que corresponden a las formas de realización preferidas descritas con respecto al procedimiento mencionado en primer lugar y dado a conocer en las reivindicaciones subordinadas.
La invención se refiere asimismo a un sistema de tratamiento de datos que comprende:
-
unos medios para generar un modelo legible por ordenador de un objeto geométrico construido a partir de una pluralidad de elementos de construcción acoplados entre sí, en el que cada elemento de construcción presenta diversos elementos de conexión para unir el elemento de construcción con otro elemento de construcción;
-
unos medios para codificar un primer y un segundo elementos de construcción de la pluralidad de elementos de construcción como unas correspondientes primera y segunda estructuras de datos, representando cada una de ellas los elementos de conexión del correspondiente elemento de construcción, y presentando cada uno de los elementos de conexión asociado con el mismo un tipo de conexión de una pluralidad de tipos de conexión predeterminados;
-
unos medios para determinar un primer elemento de conexión del primer elemento de construcción y un segundo elemento de conexión del segundo elemento de construcción dispuestos en una proximidad predeterminada entre sí; y
-
unos medios para recuperar información de conectividad de los correspondientes tipos de conexión del primer y segundo elementos de conexión indicativa de si el primer y segundo elementos de conexión proporcionan una conexión entre el primer y segundo elemento de construcción.
Se observa que las características del procedimiento descrito anteriormente y en la exposición siguiente pueden aplicarse en forma de software y realizarse en un sistema de tratamiento de datos u otros medios de proceso producidos mediante la ejecución de instrucciones ejecutables por ordenador. Las instrucciones pueden ser unos medios de códigos de programa cargados en una memoria, tal como una RAM, desde un medio de almacenamiento o desde otro ordenador por medio de una red de ordenadores. Alternativamente, las características descritas pueden realizarse por medio de un conjunto de circuitos cableados en lugar de un software o en combinación con un software.
La invención se refiere además a un sistema de tratamiento de datos adaptado para realizar el procedimiento descrito anteriormente y en la exposición siguiente.
La invención se refiere además a un programa de ordenador que comprende unos medios de códigos de programa para realizar todas las etapas del procedimiento descrito anteriormente y en la exposición siguiente cuando dicho programa se ejecuta en un ordenador.
La presente invención se refiere además a un producto de programa de ordenador que comprende unos medios de códigos almacenados en un medio legible por ordenador para realizar el procedimiento descrito anteriormente y en la exposición siguiente cuando dicho producto de programa de ordenador está funcionando en un ordenador.
A continuación, se explicará la invención más detalladamente con respecto a una forma de realización preferida y haciendo referencia al dibujo, en el que:
Breve descripción de las figuras
Las figuras 1a-e muestran vistas en perspectiva de una representación de un elemento de construcción según una forma de realización de la invención;
las figuras 2a-d ilustran unos ejemplos de elementos de construcción y sus elementos de conexión;
la figura 3 muestra una vista en perspectiva de un bloque de construcción y dos de sus correspondientes cuadrículas de conectividad;
la figura 4 muestra una vista superior del bloque de construcción de la figura 3;
las figuras 5a-b ilustran una estructura de datos, representando cada uno de ellos los puntos de conexión de una superficie de un elemento de construcción.
la figura 6 muestra una vista superior de dos elementos de construcción en una extensión borde con borde;
la figura 7 muestra una vista en perspectiva de un elemento de construcción que incluye dos grupos de elementos de construcción acoplados; y
la figura 8 muestra un diagrama de circulación de un procedimiento para disponer un elemento de construcción dentro de un procedimiento para generar un modelo legible por ordenador de un objeto geométrico;
la figura 9 muestra un diagrama de circulación del proceso para acoplar un elemento de construcción digital a otro elemento de construcción digital según una forma de realización de la invención;
la figura 10 muestra un diagrama de circulación de un subtratamiento de carga de las estructuras de datos que representan el elemento de construcción acoplado.
la figura 11 muestra un sistema de tratamiento de datos para generar modelos legibles por medio de un ordenador de objetos geométricos según una forma de realización de la invención; y
las figuras 12a-b muestran una vista lateral de un bloque de construcción con una superficie inclinada y unos ejemplos de los correspondientes volúmenes limítrofes.
Descripción detallada de unas formas de realización preferidas
Las figuras 1a-e muestran unas vistas en perspectiva de una representación de un elemento de construcción según una forma de realización de la invención.
La figura 1a muestra una representación de un elemento de construcción 101. El elemento de construcción 101 es una representación digital de un bloque de construcción físico que presenta en una de sus caras, designada mediante el número de referencia 103, dos resaltes 102 que pueden acoplarse en unos correspondientes orificios de otro bloque de construcción. El bloque de construcción comprende además un orificio 104 que penetra el bloque de construcción desde la cara 105 hasta la cara opuesta del bloque de construcción. El orificio está adaptado para recibir los correspondientes conectores de otros bloques de construcción.
La representación digital del bloque de construcción 101 comprende un volumen limítrofe 106 representado por líneas gruesas en la figura 1a. El volumen limítrofe 106 es un volumen limítrofe del bloque de construcción 101 que incluye los resaltes 102. La representación digital más allá del bloque de construcción se describe con respecto a un sistema de coordenadas de izquierda a derecha interior 107. Se comprende que la elección del sistema de coordenadas, en particular la disposición de su origen y de las direcciones de los ejes, puede seleccionarse según cualquier convención adecuada. Por lo tanto, en una correspondiente estructura de datos la posición y orientación del bloque de construcción puede representarse mediante las coordenadas del origen y la dirección de los ejes del sistema de coordenadas 107 con respecto a un sistema de coordenadas exterior, por ejemplo, el sistema de coordenadas de otro bloque de construcción o un sistema de coordenadas "mundial" global.
El volumen limítrofe puede representarse en una estructura de datos con respecto al sistema de coordenadas 107, por ejemplo, mediante las coordenadas de las dos esquinas 110 con respecto al sistema de coordenadas 107.
La figura 1b muestra una representación del bloque de construcción 101 con un volumen limítrofe 108 que incluye el bloque de construcción pero sin los resaltes 102. En una forma de realización, la detección de colisión entre distintos bloques de construcción depende de los dos tipos de volúmenes limítrofes, es decir el volumen limítrofe 106 representado en la figura 1a y el volumen limítrofe 108 de la figura 1b.
Según la invención, cada plano a lo largo del cual puede acoplarse el bloque de construcción a otro bloque de construcción está dividido en cuadros con un punto de conexión en el centro de cada cuadro, es decir, los bordes de los cuadros corresponden a medias distancias entre los puntos de conexión contiguos.
La figura 1c muestra el bloque de construcción 101 e ilustra la representación de los elementos de conexión en una cara del bloque de construcción. La representación representa una cuadrícula rectangular 109 en el plano de la cara 103 del bloque de construcción que incluye los dos resaltes 102. La cuadrícula rectangular comprende diversos cuadrados, presentando cada uno de ellos un punto de cuadrícula como un centro, tal como se ejemplifica mediante el cuadrado 130 y el punto de cuadrícula 111. Cada punto de cuadrícula presenta una dirección asociada, tal como se indica mediante flechas, por ejemplo la flecha 112 del punto de cuadrícula 111. La dirección de los puntos de cuadrícula de la cuadrícula 109 está orientada hacia fuera, es decir, en la dirección del eje y del sistema de coordenadas 107. Por lo tanto, en una estructura de datos, una representación de la cuadrícula 109 puede comprender las coordenadas de un punto de cuadrícula predeterminado, por ejemplo, el punto de cuadrícula 113, con respecto al sistema de coordenadas 107, la dirección de los puntos de cuadrícula, es decir la dirección de la flecha 114 con respecto al sistema de coordenadas, el tamaño de la cuadrícula, es decir, el número de cuadros en la dirección x y en la dirección z, respectivamente, y los atributos relacionados con cada uno de los puntos de cuadrícula. A continuación se describirá con mayor detalle un ejemplo de una representación de este tipo.
La figura 1d ilustra la cuadrícula de conexión 120 de la cara 116, opuesta a la cara 103 (no representada en la figura 1d) del bloque de construcción 101. Esta cara del bloque de construcción comprende dos orificios 117 determinados por los bordes 118 y un pequeño resalte central 119, un denominado pasador secundario. Los orificios del bloque de construcción físico están dispuestos para poder recibir unos resaltes, tales como los resaltes 102, de otro bloque de construcción, acoplando de este modo de manera cooperativa dos bloques de construcción. Según la invención, los orificios están representados por los correspondientes puntos de cuadrícula de la cuadrícula 120, tal como se representan mediante las flechas 121.
Se observa que según esta forma de realización, el origen del sistema de coordenadas corresponde al punto de cuadrícula 122.
La figura 1e ilustra la cuadrícula de conexión 123 de la cara 105 del bloque de construcción 101 que comprende el orificio 104. En consecuencia, el punto de cuadrícula 124 representa las propiedades de conectividad del orificio
104;
Se comprende que, cuando se representa gráficamente el bloque de construcción en un dispositivo visualizador, por ejemplo una pantalla de ordenador, los volúmenes limítrofes, los sistemas de coordenadas y las cuadrículas no requieren estar representados. Preferentemente, una representación gráfica únicamente incluye una interpretación del propio bloque de construcción.
La figura 2a-c ilustra unos ejemplos de elementos de construcción y sus elementos de conexión.
La figura 2a muestra dos bloques de construcción 201 y 202. El bloque de construcción 201 es un ladrillo que presenta los resaltes 203 en su cara superior y cuatro correspondientes orificios en la cara inferior (no representada). El ladrillo 202 es un ejemplo de un bloque de construcción con una superficie que comprende planos que no son mutuamente ortogonales. Particularmente, el bloque 202 presenta una cara inclinada 204. Tal como se ilustra en la figura 2a, en sus posiciones actuales, los bloques de construcción 201 y 202 no se acoplan.
La figura 2b muestra un bloque de construcción 210 que presenta una cara superior e inferior no rectangulares. La cara inferior comprende los orificios 211, 212, y 213 para recibir los correspondientes resaltes de uno o varios bloques de construcción adicionales. Los orificios están determinados por los bordes 214, los pasadores secundarios 215, así como las esquinas 216 y 217. Por lo tanto, las propiedades de todos los elementos anteriores determinan las propiedades de conectividad de esta cara del bloque de construcción.
La figura 2c ilustra un bloque de construcción 220 que se está acoplando con un bloque de construcción 221, formando de este modo un bloque de construcción combinado. El bloque de construcción 220 comprende los resaltes 222 en su cara superior que son conectores que se montan en los correspondientes orificios de otro bloque de construcción. Sin embargo, tal como se ilustra mediante la figura 2c también pueden obtenerse otros tipos de conexión. Las separaciones 223 entre los resaltes funcionan como receptores para otros conectores, tales como la cara lateral 224 del bloque 221. Para los bloques de construcción físicos esta propiedad está determinada por las dimensiones de las separaciones y las dimensiones del bloque de construcción 221, es decir, la anchura 225 de sus lados. En la representación digital según la invención, estas propiedades se representan mediante los correspondientes atributos de los puntos de conexión, tal como se ilustrará con mayor detalle a continuación.
La figura 2d ilustra una conexión no válida de un bloque de construcción con otro bloque de construcción que comprende varios ladrillos. El bloque de construcción 231 comprende los ladrillos 232, 233, 234, 235, 236 y 237. Cada bloque de construcción comprende conectores de resalte y receptores contra resalte tal como se ha descrito anteriormente. Los bloques de construcción 232, 233, y 236 comprenden conectores de resalte en la cara superior así como en las caras laterales: En particular, el bloque de construcción 232 comprende el resalte 238 en la cara lateral, mientras que el bloque de construcción 233 comprende el resalte 239 en la cara lateral, y el bloque de construcción 236 comprende el resalte 240 en su cara lateral.
En el ejemplo de la figura 2d, debido a las dimensiones de los bloques de construcción, sus resaltes y, por lo tanto, sus correspondientes puntos de conexión no forman una cuadrícula regular. En consecuencia, si se intenta colocar un bloque de construcción en la posición indicada por la línea de trazos 241 con sus puntos de conexión tal como se indica mediante las cruces 242, 243 y 244, no es posible una conexión válida. A continuación se describirá, cómo el procedimiento según la invención detecta este tipo de situación.
La figura 3 muestra una vista en perspectiva de un bloque de construcción y sus correspondientes cuadrículas de conectividad. El bloque de construcción 301 presenta una superficie superior 302 con ocho resaltes 303a-h, una superficie inferior con unos correspondientes orificios (no representados) y las caras laterales 304. En la figura 3 se muestran las cuadrículas de conectividad 305 y 306 de la superficie superior y la superficie inferior, respectivamente. Los puntos de conexión se ilustran mediante unos círculos tal como se presenta a título de ejemplo mediante los círculos 307a-k. Por lo tanto, los puntos de conexión 307a-h corresponden a los resaltes 303a-h, respectivamente. Puesto que las superficies laterales 304 no presentan ningún elemento de conexión, no requieren que se determine ninguna cuadrícula de conexión para ellos. En una forma de realización alternativa, pueden determinarse para las superficies laterales unos puntos de conexión que comprenden únicamente receptores vacíos.
Tal como puede apreciarse en la figura 3, una representación de los elementos de conexión del bloque de construcción mediante los puntos de conexión dispuestos en una cuadrícula regular, impone unas determinadas restricciones en la colocación física de los elementos de conexión en los bloques de construcción físicos.
La cuadrícula 305 está dispuesta en el plano de la superficie de la superficie superior del bloque de construcción desde el cual se extienden los resaltes 303.
En el ejemplo de la figura 3, los puntos de cuadrícula están dispuestos en una cuadrícula rectangular en la que cada cuadro presenta una dimensión de 5 x 5 unidades de una unidad de longitud arbitraria (LU). Por lo tanto, en esta geometría, los elementos de conexión también están dispuestos en una correspondiente cuadrícula, y la distancia entre los elementos de conexión en un plano del bloque de construcción es un múltiplo de 10 LU. En el ejemplo de la figura 3, las superficies superior e inferior del bloque de construcción son rectangulares y presentan una dimensión de 20 LU x 40 LU, y los elementos de conexión contiguos están separados 10 LU.
En la dirección vertical, por otra parte, los elementos de conexión están separados 12 LU. Por lo tanto, las dimensiones de la cuadrícula en las distintas dimensiones pueden variar, produciendo potencialmente de este modo situaciones tal como se representa en la figura 2d anterior.
La disposición de los puntos de conexión se determina con respecto al sistema de coordenadas interior 308 del bloque de construcción.
La figura 4 muestra una vista en planta desde arriba del bloque de construcción de la figura 3. La cuadrícula de conectividad 305 se representa incluyendo los puntos de cuadrícula. La dirección de los puntos de cuadrícula en el ejemplo de la figura 3 está orientado hacia fuera del plano del dibujo.
En una forma de realización, una estructura de datos que representa la cuadrícula de puntos de conexión comprende, para cada punto de conexión: Las coordenadas del punto de conexión con respecto al sistema de coordenadas 308, la dirección del elemento de conexión, y un tipo de conectividad.
Cuando se diseña un nuevo bloque de construcción, se requiere generar la representación digital del bloque de construcción. El ladrillo del ejemplo de la figura 4 presenta 45 puntos de conexión en la superficie superior y 45 puntos de conexión en la superficie inferior. Determinar los valores anteriores para cada uno de los puntos de conexión es una tarea que consume tiempo y propensa a errores.
Sin embargo, para muchos tipos de bloques de construcción, los puntos de conexión están dispuestos en estructuras regulares, permitiendo de este modo una ventajosa generación de datos automatizada. En el ejemplo de la figura 4, las coordenadas de los puntos de conexión pueden determinarse de forma iterativa, y la dirección de los elementos de conexión es la misma para todos los puntos de conexión de una cuadrícula.
Por lo tanto, en una forma de realización preferida, una estructura de datos que representa la cuadrícula de puntos de conexión comprende:
-
Las coordenadas del punto de cuadrícula 401 con respecto al sistema de coordenadas 308. Por lo tanto, en el ejemplo de la figura 4, las coordenadas en LU del punto de cuadrícula 401 son P_{0} = (-5, 12, -15).
-
La dirección de los elementos de conexión, es decir, en el ejemplo de la figura 4 (0, 1, 0), es decir, la dirección del eje y del sistema de coordenadas 308.
-
El número de puntos de cuadrícula en la dirección x y z, es decir, en el ejemplo de la figura 4, e_{x} = 9 y n_{z} = 5, respectivamente.
-
Una disposición de estructuras de datos de 5 x 9, comprendiendo cada una de ellas las propiedades de conexión de un correspondiente punto de conexión. A continuación se describirá un ejemplo de una disposición de este tipo.
En el ejemplo de la figura 4, las coordenadas de cada punto de conectividad pueden expresarse como P_{0} + (5i, 0, 5j), para i = 0,..., 4, j = 0,..., 8 (en LU).
Las propiedades de los puntos de conexión pueden representarse como una disposición bidimensional C indexada mediante i y j, en la que C[0, 0] corresponde al punto de conexión 401 y C[i,j] corresponde al punto de conexión con las coordenadas P_{0} + (5i, 0, 5j).
En otra forma de realización, puede determinarse un sistema de coordenadas bidimensional en el plano de la cuadrícula de conectividad. En la figura 4, éste se ilustra mediante el sistema de coordenadas 402. El sistema bidimensional puede representarse entonces mediante las coordenadas de su origen 401 y una matriz de rotación con respecto al sistema de coordenadas interior 308 del bloque de construcción.
Las figuras 5a-b ilustra unos ejemplos de estructuras de datos que representan unos puntos de conexión según una forma de realización de la invención.
La figura 5a ilustra una estructura de datos que representa los puntos de conexión de la cuadrícula superior del bloque de construcción de la figura 4. La estructura de datos corresponde a una disposición bidimensional C [i,j] tal como se ha descrito anteriormente. Cada elemento de disposición corresponde a un tipo de conexión. Por ejemplo, los resaltes (por ejemplo, el resalte 303 de la figura 4) se representan como C[i,j] = K, una separación entre dos resaltes (por ejemplo la separación 404 en la figura 4) se denomina una "separación de dos bordes" y se representa como C[i,j] = 2EG, una separación en el centro de cuatro resaltes (por ejemplo la separación 405 en la figura 4) se denomina "separación de tubo" y se representa como C[i,j] = TG. Los resaltes son conectores que pueden ser recibidos por receptores de otros bloques de construcción, por ejemplo los orificios 212 ilustrados en la figura 2b. Las separaciones de bordes son receptores que pueden recibir bordes, por ejemplo, tales como las que se ilustra en la figura 2c o los bordes 211 ilustrados en la figura 2b. Las separaciones de tubo son receptores que pueden recibir otros conectores, por ejemplo resaltes o tubos de un tamaño adecuado.
En los límites del bloque de construcción se producen otros tipos de conexión. Las esquinas (por ejemplo, la esquina 401 en la figura 4) se representan como C[i,j] = 1/4 TG, tal como corresponden a una separación de tubo que presenta únicamente uno de cuatro resaltes adyacentes. De manera similar C[i,j] = 1/2 TG representa una separación de tubo que presenta dos de cuatro resaltes a su alrededor, por ejemplo, el punto de conexión 406 en la figura 4. Por último, C[i,j] = EG corresponde a una separación de bordes que presenta únicamente un resalte adyacente, por ejemplo, el punto de conexión 407 de la figura 4.
Se comprende que, un bloque de construcción tal como se ilustra en la figura 4 pero con un número distinto de resaltes corresponde a una disposición de conectividad similar a la representada en la figura 5a. Por lo tanto, las estructuras de datos que representan este tipo de bloques de construcción pueden generarse de manera automática, especificando las dimensiones del bloque de construcción.
Se comprende que, en general, para los elementos de construcción que presenten geometrías regulares, pueden determinarse diversos tipos distintos de disposiciones de conectividad, por ejemplo, unos tipos de disposición para superficies superiores, laterales e inferiores de bloques de construcción regulares tales como el bloque de construcción de la figura 3. Pueden generarse automáticamente ejemplos de estos tipos de disposición para una variedad de distintos tipos y tamaños de elementos de construcción similares. Por lo tanto, es una ventaja que las estructuras de datos que representan una gran variedad de bloques de construcción puedan generarse de manera eficaz.
La figura 5b muestra la disposición de conectividad que corresponde a la cara inferior del bloque de construcción representado en la figura 2b. En este caso C[i,j] = EC corresponde a una esquina de bordes, por ejemplo la esquina 217 de la figura 2b corresponde a C[0,0] = EC. Además, C[i,j] = E corresponde a un "borde", tal como los bordes 214 de la figura 2b. C[i,j] = 3/4 EC corresponde a una esquina tal como se ilustra mediante la esquina 216 de la figura 2b. C[i,j] = AK corresponde a un "contra resalte", es decir un orificio 212 para recibir un resalte, mientras que C[i,j] = SP corresponde a un "pasador secundario" 215.
Se comprende que, aunque los tipos de conexión de las figuras 5a-b se representan mediante mnemónicos indicativos de la función física real de los elementos de conexión, los tipos de conexión pueden codificarse mediante cualesquiera otros medios adecuados, por ejemplo mediante la enumeración de tipos de conexión, la codificación de bits, o similares.
En general, un tipo de conexión puede comprender una categoría de conexión y un parámetro. Por ejemplo, la categoría de conexión separación de tubo \alphaTG con \alpha = ¼, ½, ¾, 1.
Las propiedades de conexión de los distintos tipos de conexión se determinan en una correspondiente tabla de conexión. Dicha tabla de conexión indica, para cada par de tipos de conexión, las propiedades de conectividad. Preferentemente, la tabla de conexión se almacena como una tabla de consulta en una estructura de datos adecuada. En la tabla 1 se ilustra una forma de realización de una tabla de conexión de este tipo.
TABLA 1
1
Por lo tanto, cada campo de la tabla 1 indica la conectividad de los dos tipos de conexión correspondientes.
Los tipos de conexión abreviados de tabla 1 son:
K:
Resalte, por ejemplo, el resalte 102 de las figuras 1a-e, es decir un elemento circular
SP:
Pasador secundario, por ejemplo, el pasador 215 en la figura 2b, es decir, un resalte pequeño.
E:
Borde, por ejemplo el borde 214 de la figura 2b, es decir, un borde exterior de un elemento.
\alphaEC:
Esquina de borde con el parámetro \alpha. ¾ EC corresponde a una esquina tal como se ilustra mediante la esquina 216 en la figura 2b.
VC:
Conector vacío, es decir, una parte de un bloque de construcción que no repele la mayoría de los demás elementos, ni se acopla con otro elemento, por ejemplo, una superficie lisa. Los conectores vacíos repelen los resaltes, pero no interaccionan con ningún otro receptor ni conector.
\alphaAK:
Contra resalte con parámetro \alpha, por ejemplo, el contra resalte 215 en la figura 2b, es decir, un orificio conformado de manera irregular en el cual se adapta un resalte.
\alphaTG:
Separación de tubo con parámetro \alpha. Por ejemplo, la figura 4 muestra la separación de tubo 405 con \alpha=1, es decir una superficie entre cuatro resaltes adyacentes, en la cual puede adaptarse un tubo.
\alphaEG:
Separación de bordes con parámetro \alpha, por ejemplo, la separación de dos bordes con \alpha=2 y la separación de bordes 407 con \alpha=1, es decir, una separación entre dos resaltes adyacentes o entre un resalte y un borde.
VR:
Receptor vacío, es decir, una parte de un bloque de construcción que ni repele ni se acopla con ningún otro elemento.
Tu:
Tubo, un tubo circular que puede ser un receptor para un resalte y que puede ser un conector que puede enclavijarse entre cuatro resaltes adyacentes es decir en una separación de tubo.
En la tabla 1, las conectividades de los tipos de conexión anteriores se indican de la manera siguiente.
-
T: verdadera, es decir, una conexión es válida, y los correspondientes elementos de conexión se unen para acoplar los dos bloques de construcción.
-
F: falsa, es decir, no se permite una conexión en esta posición.
-
V: vacía o indiferente, es decir, no existe nada que impida una conexión, pero tampoco nada que se acople realmente.
Por ejemplo, según la tabla 1, una separación de dos bordes (\alphaEG con \alpha=2) proporciona una conexión vacía con un borde (E), mientras que una separación de bordes, es decir, \alphaEG con \alpha=1 se acopla realmente con un borde (E), es decir, la conectividad en este caso es verdadera (T).
Se observa que la tabla de conexión de la tabla 1 es simétrica a lo largo de la diagonal.
Se observa además que la tabla anterior puede ampliarse fácilmente para comprender un nuevo tipo de conexión añadiendo unas correspondientes fila y columna con las correspondientes conectividades del nuevo tipo de conexión con los tipos de conexión existentes.
La figura 6 muestra una vista superior de dos elementos de construcción en una extensión borde con borde. En el ejemplo de la figura 6, dos bloques de conexión 601 y 602 están dispuestos en una extensión borde con borde, es decir, sus superficies superiores están dispuestas en el mismo plano y un subconjunto de sus respectivos puntos de conexión coincide tal como se indica mediante la línea de trazos 603. En el ejemplo de la figura 6, se implica que cada uno de los bloques de construcción 601 y 602 son del tipo representado en las figuras 3 y 4.
Disponiendo los dos bloques de construcción en una extensión borde con borde, el tipo de conexión eficaz de los puntos de conexión que se superponen en la zona 603 se varía. Por ejemplo el punto de conexión 605 corresponde a un punto de conexión del tipo 1/4TG de bloque de conexión 601 y de tipo 1/2TG de bloque de conexión 602. Sin embargo, cuando se disponen en la extensión borde con borde de la figura 6 el punto de conexión combinado 605 es de tipo 3/4TG. De manera similar, el punto de conexión 606 es de tipo EG de cada uno de los bloques de construcción 601 y 602, mientras que éste es de tipo 2EG en el bloque de construcción combinado. Por último, el punto de conexión 607 es de tipo 1/2TG de cada uno de los bloques de construcción 601 y 602, mientras que éste es de tipo TG en el bloque de construcción combinado.
Por lo tanto, en general las propiedades de conectividad de los elementos de conexión pueden variar según la disposición del correspondiente elemento de construcción con respecto a otros elementos de construcción.
Según la invención, esta disposición puede modelarse determinando una tabla de combinaciones que describa los tipos de conexión combinados o resultantes de los puntos de conexión que se superponen. La tabla 2 es un ejemplo de una tabla de combinaciones de este tipo que indica las combinaciones de los tipos de conexión introducidos anteriormente. Preferentemente, la tabla de combinaciones se almacena como una tabla de consulta en una estructura de datos adecuada.
TABLA 2
2
En la tabla 2, cada campo comprende el tipo de conexión combinado. Si una combinación de dos tipos de conexión no proporciona un tipo de conexión que se acople con cualquier otro tipo de conexión, la entrada de tabla es F.
Por ejemplo, cuando una separación de bordes (\betaEG) está dispuesta próxima a un conector vacío (VC), por ejemplo, una superficie vacía, puede implicarse que el elemento de conexión resultante es una separación más ancha. En la tabla 2, ésta es aproximadamente (\beta+1)EG.
Se comprende además que la tabla de combinaciones anterior también puede utilizarse para determinar un tipo de conexión resultante en situaciones en las que deben de combinarse más de dos elementos de conexión, por ejemplo, las esquinas de tres o cuatro bloques de construcción. En esta disposición, puede determinarse un tipo de conexión resultante para, por ejemplo, tres elementos de conexión, determinando el primer tipo de conexión resultante para dos de los elementos de conexión combinados, y determinando posteriormente un segundo tipo de conexión resultante de la combinación del primer tipo de conexión resultante y el tipo de conexión del tercer elemento de conexión.
Se observa además, que la tabla anterior puede extenderse fácilmente para que comprenda un nuevo tipo de conexión añadiendo unas correspondientes fila y columna con los correspondientes tipos de conexión resultantes de una combinación del nuevo tipo de conexión con los respectivos tipos de conexión existentes.
Por lo tanto, en la exposición anterior, se dan a conocer unas estructuras de datos para una representación eficaz y ampliable de las propiedades de conectividad de los bloques de construcción así como una representación eficaz y ampliable de las reglas sobre cómo combinar tipos de conexión.
La figura 7 muestra una vista en perspectiva de un objeto geométrico que incluye dos grupos de bloques de construcción acoplados. El objeto geométrico comprende cinco elementos 701, 702, 703, 704 y 705. En el ejemplo de la figura 7, el objeto geométrico comprende dos grupos de bloques de construcción: Un primer grupo de bloques de construcción incluye los bloques de construcción 701, 702, y 703, mientras que un segundo grupo incluye los bloques de construcción 704 y 705. Los bloques de construcción 701 y 704 en este ejemplo se unen de forma giratoria, por ejemplo mediante un único resalte, una conexión contra resalte descrito anteriormente, o mediante cualquier otro modo de conexión que no impida que los bloques de conexión giren uno con respecto al otro, por ejemplo, una unión de bisagra, dos o más conexiones contra resalte en una línea común, etc. Por lo tanto, el objeto geométrico de la figura 7 es un ejemplo de bloques de construcción que no se unen necesariamente según unas restricciones de posición y orientación determinadas dentro de un objeto geométrico. Otros ejemplos de dichas conexiones incluyen conexiones entre bloques de construcción que permiten una relativa traslación de los bloques de construcción acoplados. Por lo tanto, dichos grupos de bloques de construcción pueden requerir describirse mediante sistemas de coordenadas separados, tal como se ilustra en los sistemas de cuadrícula 706 y 707.
La figura 8 muestra un diagrama de circulación de un procedimiento para disponer un elemento de construcción como una parte de un proceso realizado por ordenador para generar de un modelo legible por ordenador de un objeto geométrico.
En una etapa inicial 801, se dispone un elemento de construcción en una posición inicial predeterminada. El elemento de construcción se representa mediante una estructura de datos tal como se ha ilustrado anteriormente, y la posición y orientación del elemento de construcción se describe mediante unas coordenadas adecuadas que describen la posición y orientación del sistema de coordenadas interiores del elemento de construcción con respecto a un sistema de coordenadas adecuado, por ejemplo, un sistema "mundial" de izquierda a derecha tridimensional o de coordenadas de referencia.
Por lo tanto, para un determinado contexto, por ejemplo, una escena, un objeto geométrico, o similar, el proceso genera y mantiene un conjunto de estructuras de datos, representando cada una de ellas un bloque de construcción dispuesto dentro del contexto. La disposición de un nuevo elemento de construcción dentro del contexto se corresponde con la generación de un nuevo ejemplo de una correspondiente estructura de datos como una parte del conjunto de estructuras de datos.
La disposición del elemento de construcción puede producirse mediante una instrucción de un usuario, por ejemplo, durante un proceso interactivo de construcción de un modelo digital de un objeto geométrico. Por ejemplo, un ordenador puede proporcionar un interfaz de usuario que permite a un usuario seleccionar distintos elementos de construcción, por ejemplo, elementos de construcción de distintos tipos, forma, tamaño, color, etc. y disponer un elemento de construcción seleccionado en una posición y orientación predeterminadas en una escena gráfica tridimensional producida en la pantalla del ordenador. Por ejemplo, el interfaz de usuario puede proporcionar una operación de arrastrar y bajar para colocar el elemento de construcción así como unas operaciones para manipular, por ejemplo, girar, el elemento de construcción.
En una forma de realización, la disposición del elemento de construcción puede estar limitada, por ejemplo, a posiciones discretas en una cuadrícula predeterminada, por ejemplo, en un sistema en el que todas las distancias se miden como múltiplos de una unidad de longitud arbitraria (LU), los puntos de cuadrícula de la cuadrícula de referencia pueden estar separados 1 LU.
En la etapa 802, el proceso realizado por ordenador detecta dónde se situó el elemento de construcción en la etapa 801, interacciona con cualesquiera otros elementos de construcción ya presentes en la escena, por ejemplo, elementos de construcción dispuestos previamente por el usuario. Esta detección de colisión puede realizarse mediante cualquier procedimiento de detección de colisión adecuado, preferentemente un procedimiento de detección de colisión basado en un volumen limítrofe del elemento de construcción. Se dan a conocer unos ejemplos de dichos algoritmos en, por ejemplo, la publicación de David H. Eberly: "3D Game Engine Design", Morgan Kaufmann, 2001.
La detección de colisión puede dar como resultado que la posición en la cual se dispuso el elemento de construcción ya está ocupada por otro elemento de construcción. Esta situación puede detectarse mediante la detección de una intersección de los volúmenes limítrofes que sean mayores que un límite predeterminado. Si se detecta una intersección no válida, puede rechazarse la disposición del elemento de construcción en esta posición y orientación.
Si no se detecta ninguna intersección no válida el procedimiento prueba en la etapa 803 si el elemento de construcción recién colocado se entrecruza con otro elemento de construcción. Una intersección válida puede detectarse, por ejemplo, como una intersección de los respectivos volúmenes limítrofes que sea menor que un determinado límite.
En la forma de realización de la figura 1, la representación del elemento de construcción comprende dos volúmenes limítrofes, un volumen limítrofe que incluye los elementos de construcción (figura 1a) y un volumen limítrofe que incluye el cuerpo del elemento de construcción pero no los elementos de conexión (figura 1b). La etapa de detección de colisión puede utilizar estos dos volúmenes limítrofes para detectar una colisión no válida, si los volúmenes limítrofes sin elementos de conexión de los respectivos elementos de construcción se superponen. Se detecta una superposición válida, si se superponen los volúmenes limítrofes que comprenden los elementos de conexión pero no los volúmenes limítrofes sin elementos de conexión, o si cualquiera de las superficies de cualquiera de los volúmenes limítrofes se entrecruza pero los volúmenes limítrofes no se superponen.
Además, se detecta si los volúmenes limítrofes están orientados de forma que los ejes de sus volúmenes limítrofes se corresponden con los del mismo sistema de coordenadas de referencia.
Si no se detecta ninguna colisión válida el procedimiento puede continuar según cualquier estrategia adecuada. En algunas formas de realización puede ser aceptable disponer nuevos elementos de construcción en la posición vacía sin que se acoplen a cualquiera de los elementos de conexión anteriores; en algunas formas de realización esto únicamente puede ser aceptable si no existe ya algún otro elemento de construcción en la escena. En otras formas de realización esta disposición puede rechazarse. Por ejemplo, en una forma de realización, cualquier escena inicial sin elementos de construcción dispuestos por el usuario puede comprender un elemento de construcción por defecto, por ejemplo, una placa de soporte con elementos de conexión para disponer elementos de construcción en la parte superior de la placa de suelo.
Si se ha detectado una colisión válida entre el elemento de construcción recién dispuesto y uno o varios elementos de construcción adicionales en la etapa 803, el proceso continúa a la etapa 804 y comprueba si el elemento de construcción recién dispuesto puede acoplarse de forma válida al (a los) elemento(s) de construcción si se entrecruza(n)
de forma válida con el (los) mismo(s). A continuación se describirá con mayor detalle una forma de realización preferida de este subtratamiento de detección de conectividad. La detección de conectividad puede dar como resultado una aceptación de la disposición de los elementos de construcción, si dicho elemento de construcción recién dispuesto se acopla de forma válida con el (los) elemento(s) de construcción con el (los) que se entrecruza, o en un rechazo si no se acopla de forma válida con cualquiera de los elementos de construcción con el (los) que se entrecruza.
Una vez se acepta o rechaza la disposición del elemento de construcción, puede iniciarse de nuevo el proceso mediante una acción del usuario, por ejemplo, colocando de nuevo el elemento de construcción rechazado en una posición y/o orientación alternativas, disponiendo otro elemento de construcción en la escena, u otro elemento similar.
La figura 9 muestra un diagrama de circulación del subtratamiento 804 de conexión de un primer elemento de construcción digital con otro segundo elemento de construcción digital según una forma de realización de la invención. Por ejemplo, el primer elemento de construcción puede ser un ladrillo recién dispuesto y el segundo elemento de construcción puede ser una estructura de ladrillos previamente construida, en los que un algoritmo de detección ha detectado una intersección entre el ladrillo recién colocado y el segundo elemento de construcción.
En la exposición siguiente, se implica que en sus posiciones iniciales, los elementos de construcción están orientados de manera que los ejes principales de sus volúmenes limítrofes corresponden a los ejes x, y, y z del sistema de coordenadas mundial ortogonal de izquierda a derecha.
En esta forma de realización se implica además que se imponen varias reglas predeterminadas para las disposiciones de elementos de conexión en los elementos de construcción, aunque los propios elementos de construcción pueden ser distintos en su naturaleza y forma.
Las presunciones para la disposición de elementos de conexión son:
Para cada elemento de construcción, los ejes de todos los elementos de conexión en el mismo plano horizontal corresponden a unos segmentos de una cuadrícula ortogonal con una distancia fijada entre segmentos contiguos.
La distancia entre ejes de los elementos de conexión en los planos horizontal y vertical no requiere ser la misma.
En la etapa inicial 902, todos los puntos de conexión del primer elemento de construcción y del segundo elemento de construcción pertenecen a la intersección detectada. Únicamente requieren ser considerados los puntos de conexión que no estén ya acoplados; aludiéndose a dichos puntos de conexión como los puntos de conexión apropiados.
En la etapa 903, se selecciona un primer punto de conexión apropiado del primer elemento de conexión. Este puede ser un punto de conexión seleccionado de manera arbitraria, un punto de conexión seleccionado por el usuario, u otro similar.
En la etapa 904, para el punto de conexión seleccionado del primer elemento de construcción el proceso comprueba si existen algunos puntos de conexión apropiados del segundo elemento de construcción que presenten las mismas coordenadas que el punto de conexión seleccionado. En una forma de realización, en el que los elementos de construcción se disponen en una cuadrícula de referencia de volúmenes discretos y todas las coordenadas son múltiplos de una unidad de longitud arbitraria, puede requerirse una adaptación exacta de las coordenadas. En un sistema de coordenadas de referencia continuo, o casi continuo, puede requerirse que los puntos de cuadrícula coincidan dentro de unos límites predeterminados.
Si no se encuentra ningún punto de conexión que se adapte, el proceso continúa con la etapa 914.
En la etapa 914, se detecta si existen cualesquiera otros puntos de conexión apropiados dentro de una proximidad predeterminada al punto de conexión seleccionado. En la forma de realización de la figura 9 la proximidad corresponde a un cubo (x \pm 5 LU, y \pm 5 LU, z \pm 5 LU) alrededor del punto de conexión seleccionado en (x, y, z), puesto que en esta forma de realización la distancia entre dos elementos de conexión adyacentes es 10 LU. Si existe cualquier otro de los puntos de conexión apropiados dentro de una proximidad predeterminada del punto de conexión seleccionado, se rechaza la conexión de los dos elementos de construcción (etapa 911) y se termina el algoritmo. Por lo tanto, puesto que los puntos de conexión en esta forma de realización están dispuestos en una cuadrícula regular, puede detectarse eficazmente una disposición no válida del elemento de construcción: Si se encuentra una mala adaptación con un punto de conexión apropiado del segundo elemento de construcción para uno de los puntos de conexión apropiado del primer elemento de construcción, no se requiere comprobar los puntos de conexión restantes del primer elemento de construcción, aumentando de este modo la velocidad del proceso de detección. La prueba anterior asegura que una conexión tal como la que se indica en la figura 2d sea rechazada, puesto que el punto de conexión que corresponde al resalte 239 está mal colocado con respecto a la cuadrícula regular. Se observa que en el ejemplo de la figura 2d, el punto de conexión 243 no produce un conflicto, puesto que, debido a la ligera diferencia en altura, éste no pertenece a la intersección de volúmenes limítrofes, es decir, no existe ningún contacto entre los ladrillos 241 y 236.
Si no se encuentra ningún punto de conexión apropiado incompatible en la etapa 914, el proceso continúa en la etapa 909.
Si en la etapa 904 se encuentra un punto de conexión que se adapta, el proceso continúa en la etapa 905, en la que se detecta si existe cualesquiera otros puntos de conexión apropiados dentro de una proximidad predeterminada del punto de conexión seleccionado, en esta forma de realización, en un cubo (x \pm 5 LU, y \pm 5 LU, z \pm 5 LU) alrededor del punto de conexión seleccionado en (x, y, z), tal como se ha descrito anteriormente. Si se encuentra otro punto de conexión en la proximidad predeterminada se rechaza la posición (etapa 911). De lo contrario, el proceso continúa en la etapa 906.
En las formas de realización alternativas, no es conveniente la restricción anterior. Además, en otra forma de realización, la restricción anterior puede estar limitada a determinados tipos de conexión, por ejemplo, en los ejemplos anteriores todos los tipos de conexión distintos del "vacío".
En la etapa 906, el proceso detecta si el punto de conexión seleccionado y el punto de conexión de adaptación detectado presentan direcciones opuestas, es decir, si sus direcciones asociadas están dispuestas a lo largo de una línea común, pero en una orientación opuesta. Por lo tanto, únicamente se aceptan los elementos de conexión dispuestos en una correspondiente orientación adecuada para que se acoplen.
Se observa que, en unas formas de realización alternativas, puede mitigarse esta limitación, por ejemplo, aceptando un intervalo de orientaciones en formas de realización en las que los elementos de conexión acepten un intervalo de orientaciones.
Si se acepta la correspondiente dirección de los puntos de conexión, el proceso continúa en la etapa 907, o si no, se rechaza la posición (etapa 911).
En la etapa 907, los tipos de conexión del punto de conexión seleccionado y del correspondiente punto de conexión de adaptación detectado se comparan recuperando la regla de conectividad del correspondiente par de tipos de conexión de una tabla de conexión almacenada 913, por ejemplo una tabla de conexión según la tabla 1 anterior. En esta forma de realización, la conectividad puede ser verdadera, falsa, o vacía, tal como se describe con respecto a la tabla 1.
En la etapa siguiente 908, se prueba si el resultado de conectividad es "falso", es decir, no es posible ninguna conexión válida entre los correspondientes tipos de conexión. Si el resultado de conectividad es "falsa", se rechaza la posición del primer elemento de construcción (etapa 911), de lo contrario se almacena el resultado de conectividad y el proceso continúa en la etapa 909.
En la etapa 909 se prueba, si se han procesado todos los puntos de conexión apropiados del primer elemento de construcción. Si no es así, se selecciona un punto de conexión apropiado no procesado (etapa 912) y se procesa realizando las etapas anteriores 904, 905, 906, 907, y 908 con el punto de conexión ahora seleccionado.
Si se han procesado todos los puntos de conexión apropiados del primer elemento de construcción y no se ha rechazado la posición, se acepta dicha posición y el proceso continúa en la etapa 910. En dicha etapa 910 se determina, según los resultados de conectividad almacenados, cómo se acoplan los elementos de construcción, y se actualizan en consecuencia sus respectivas estructuras de datos. Esto se describirá con mayor detalle con respecto a la figura 10. Una vez que se han actualizado las estructuras de datos, el subtratamiento se termina y vuelve al proceso general de la figura 8.
La figura 10 muestra un diagrama de circulación de una forma de realización del subtratamiento 910 de la actualización de la estructura de datos que representa el elemento de construcción acoplado. La actualización se basa en los resultados de conectividad determinados para todos los puntos de conexión apropiados de la intersección de los volúmenes limítrofes del primer y segundo elementos de construcción.
Inicialmente, en la etapa 1001, se comprueba si todos los resultados de conectividad son "vacíos". Si es así, es decir, si nada impide una colocación del elemento de construcción, pero ninguno de los elementos de construcción se adapta realmente para acoplarse a los elementos de construcción, se permite la disposición del nuevo elemento de construcción en su posición actual.
Según la aplicación, puede actualizarse la estructura de datos del primer y segundo elementos de construcción. Preferentemente, puesto que los elementos de construcción no se acoplan realmente, el primer elemento de construcción no deberá combinarse con el segundo elemento de construcción en un elemento de construcción combinado que presente un volumen limítrofe combinado, etc.
En una forma de realización, un algoritmo adicional puede decidir, por ejemplo según los volúmenes limítrofes, si un bloque de construcción físico dispuesto en esta posición caería, se inclinaría etc., y permitir o rechazar la posición en consecuencia.
Por lo demás, por ejemplo, si uno o más resultados de conectividad son verdaderos, el proceso continúa en la etapa 1002, en la que determina cómo se acoplan los elementos de construcción, es decir, si se acoplan de manera rígida o si la conexión permite unos relativos movimientos de rotación, traslación y/o similares.
En la forma de realización de las figuras 1a-e, si exactamente un resultado de conexión es verdadero y todos los demás vacíos, pueden ser posibles una rotación y/o traslación, según los tipos de conexión. Además, si más de uno de los resultados de conexión son verdaderos y los correspondientes puntos de conexión están todos dispuestos en una línea común, puede ser posible una rotación y/o traslación.
Si se detecta una conexión no rígida, el proceso continúa en la etapa 1005, en la que el primer y segundo elementos de construcción se asignan a los respectivos grupos, presentando cada uno sus respectivos sistema de coordenadas de referencia, volúmenes limítrofes, etc. permitiendo con ello modelar distintas posiciones y/o orientaciones relativas de los grupos de elementos de construcción. Anteriormente se ha ilustrado un ejemplo de una situación de este tipo con respecto a la figura 7.
Por lo tanto, puede describirse una estructura acoplada de elementos de construcción mediante una estructura de datos que comprende varios grupos de elementos de construcción. Un grupo es una estructura en que todos los elementos de construcción se acoplan rígidamente de manera que todos los puntos de conexión de todos los elementos de construcción son puntos de cuadrícula de la misma cuadrícula ortogonal. Cada grupo de elementos de construcción comprende uno o varios elementos de construcción en los que el grupo determina un sistema de coordenadas ortogonal (cuadrícula) común, un volumen limítrofe, y unas cuadrículas de conectividad de los elementos de construcción de dicho grupo.
Si se detecta una conexión rígida en la etapa 1002, el proceso continúa en la etapa 1003. Tal como se ha descrito con respecto a la figura 6 anteriormente, uno o más de los puntos de conectividad del primer y segundo elementos de construcción pueden variar su tipo de conectividad debido a la conexión. Por lo tanto, en la etapa 1003, se detectan estos puntos de conexión del primer y segundo elemento de construcción que presentan la misma posición y la misma dirección. Para dichos puntos de conexión combinados se busca un tipo de conexión resultante en una tabla de combinaciones almacenada 1006, tal como se ha descrito con respecto a la tabla 2 anteriormente.
Por último, en la etapa 1004, se actualiza la estructura de datas del segundo elemento de construcción con la información del primer elemento de construcción, es decir, se actualiza el volumen limítrofe del segundo elemento de construcción para que sea una unión de los volúmenes limítrofes del primer y segundo elementos de construcción, las cuadrículas de conectividad se actualizan para incluir también los puntos de conectividad del primer elemento de construcción etc.
Repitiendo el proceso de las figuras 8, 9, y 10, pueden combinarse una pluralidad de elementos de construcción para formar un modelo digital de un objeto geométrico. Por lo tanto, en la exposición anterior, se ha expuesto un procedimiento para generar un modelo digital de un objeto geométrico.
Se comprende, que un experto en la materia puede realizar, dentro del alcance de la invención, variaciones del procedimiento anterior. Por ejemplo, puede variarse el orden de algunas de las etapas, pueden combinarse etapas, etc.
Además, el rechazo de una posición de un nuevo elemento de construcción debido a una disposición incorrecta, por ejemplo, debido a que no se encuentra ningún punto de conexión en la misma posición o debido a que los puntos de conexión no presentan exactamente direcciones opuestas, puede conducir a otro proceso adicional en lugar de un simple rechazo: En una forma de realización pueden analizarse unas posiciones contiguas hipotéticas o unos pequeños desplazamientos para decidir si puede conseguirse una posición aceptable. Esto puede dar como resultado que el elemento de construcción se coloque de golpe dentro de unos límites predeterminados, en la posición más próxima que proporciona una posición aceptable.
Además, pueden imponerse unas restricciones adicionales o pueden mitigarse otras restricciones con el fin de proporcionar un sistema de modelado con mayor o menor grado de libertad y, por lo tanto, complejidad.
Cuando se retira un elemento de construcción de una estructura, por ejemplo, en respuesta a una correspondiente instrucción de usuario, se retira su estructura de datos de la estructura de datos combinada. En una forma de realización, esto puede realizarse calculando de nuevo la estructura de datos combinada de los elementos de construcción restantes.
La figura 11 muestra un sistema de tratamiento de datos para generar modelos legibles por ordenador de objetos geométricos según una forma de realización de la invención.
El sistema de ordenador designado mediante el número de referencia 1101 está adaptado para facilitar el diseño, almacenamiento, manipulación y repartición de construcciones geométricas según la invención. El sistema de ordenador 1101 puede utilizarse como un sistema independiente o como un cliente en un sistema de cliente/servidor. El ordenador comprende una memoria 1102 ejecutada parcialmente como unos medios de memoria volátil y no volátil, por ejemplo, un disco duro y una memoria de acceso aleatorio (RAM). La memoria comprende un interpretador de códigos de modelo 1107, un generador de códigos de modelo 1108, un manipulador de casos de UI 1109, y una aplicación de modelado 1110 que pueden ejecutarse mediante la unidad central de proceso 1103. Además, la memoria comprende datos de modelo 1111.
El interpretador de códigos 1107 está adaptado para leer e interpretar códigos que determinan un modelo según la invención, es decir, un código que representa las estructuras de datos de los elementos de construcción de un modelo. En una forma de realización preferida el interpretador de códigos está adaptado para leer un modelo según la invención y para convertir un modelo de este tipo en un formato gráfico conocido para su presentación en una pantalla de ordenador. Según las estructuras de datos descritas anteriormente para la representación de un modelo de un objeto, esta conversión puede realizarla un experto en la materia aplicando unos principios gráficos bien conocidos dentro del campo del cálculo gráfico.
El manipulador de casos de UI 1109 está adaptado para convertir una interacción de usuario con un interfaz de usuario en instrucciones de usuario apropiadas reconocibles por el generador de códigos 1108. Un conjunto de instrucciones posibles y reconocibles puede comprender: Obtener un elemento de construcción de una colección de elementos, disponer un elemento de construcción que debe acoplarse con otro elemento de construcción, desacoplar un elemento de construcción, desechar un elemento de construcción, manipular un elemento de construcción, un grupo de elementos de construcción, etc., por ejemplo, iniciando una rotación, etc. Junto con cada instrucción puede estar asociado un conjunto de respectivos parámetros, por ejemplo, coordenadas, tipos de elementos de construcción, etc.
El generador de códigos 1108 está adaptado para modificar las estructuras de datos que describen un modelo real según la invención tal como se ha descrito anteriormente y en respuesta a unas instrucciones de usuario. Como una tarea concurrente o posterior puede ejecutarse el interpretador de códigos para presentar el resultado del generador de códigos.
La aplicación de modelado 1110 está adaptada para controlar la memoria, los archivos, el interfaz de usuario, etc.
Un usuario 1105 puede interaccionar con el sistema de ordenador 1101 por medio de interfaz de usuario 1106.
Con el fin de cargar datos de modelos, descripciones geométricas, u otros datos, el sistema de ordenador comprende una unidad de entrada/salida (I/O) 1104. La unidad de entrada/salida puede utilizarse como un interfaz para distintos tipos de medios de almacenamiento y distintos tipos de redes de ordenador, por ejemplo, Internet. Además, la unidad de entrada/salida (I/O) 1104 puede utilizarse para intercambiar modelos con otros usuarios, por ejemplo, para una actividad mutua.
El intercambio de datos entre la memoria 1102, la unidad central de proceso (CPU) 1103, el interfaz de usuario (UI) 1106, y la unidad de entrada/salida 1104 se consigue por medio de bus de datos 1112.
La figura 12a muestra una vista lateral de un bloque de construcción, por ejemplo el bloque de construcción 202 de la figura 2a, con un superficie inclinada y unos correspondientes volúmenes limítrofes según una primera forma de realización de la invención. El bloque de construcción 202 comprende una superficie inclinada 204 y unos resaltes 1201 en la parte superior del mismo. Según este ejemplo, la representación del bloque de construcción 202 comprende una jerarquía de volúmenes limítrofes. Un primer volumen limítrofe 1202 comprende una superficie inclinada, mientras que un segundo volumen limítrofe 1203 es una caja con unos lados que están dispuestos ortogonales entre sí. Según este ejemplo, Se detectan dos bloques que están en contacto, únicamente si el volumen limítrofe 1203 presenta una intersección con un correspondiente volumen limítrofe de otro bloque de construcción. El volumen limítrofe 1202 puede utilizarse para una detección eficaz inicial de bloques de construcción posiblemente acoplados. Se entiende que la presentación del bloque de construcción 202 puede comprender volúmenes adicionales, tales como unos volúmenes limítrofes que incluyen elementos de conexión tales como los que se describen con respecto a las figuras 1a-b.
La figura 12b muestra una vista lateral del bloque de construcción 202 con una superficie inclinada y los correspondientes volúmenes limítrofes según una segunda forma de realización de la invención. Tal como en el ejemplo anterior, la representación del bloque de construcción 202 comprende una jerarquía de volúmenes. Sin embargo, según este ejemplo, en lugar de un volumen limítrofe con una superficie inclinada, la representación comprende un volumen limítrofe 1204 que presenta una forma como una función de escalón, que proporciona de este modo una aproximación de una superficie escalonada.
El procedimiento y sistema anteriores pueden aplicarse con respecto a una aplicación de ordenador para diseñar modelos físicos, por ejemplo, una aplicación de ordenador que simula el comportamiento de conectividad de un correspondiente conjunto de elementos de construcción físicos. Por ejemplo un conjunto de construcciones de juguete físico puede suplementarse mediante una versión digital de dicho conjunto de construcciones, permitiendo de este modo a un usuario, por ejemplo, un niño, diseñar digitalmente modelos sin limitar el número de elementos de construcción disponibles, etc., proporcionando de este modo una experiencia de juego interesante. Una ventaja de la invención es que proporciona un procedimiento y sistema que permite modelar de manera realista incluso propiedades de conectividad complejas de un conjunto de construcciones físico y, al mismo tiempo, proporciona un procedimiento de modelado eficaz. Por lo tanto, un usuario experimenta un procedimiento de construcción digital sin tener que esperar a que el ordenador determine si una posición propuesta de un elemento de construcción corresponde a las reglas de conexión del conjunto de construcción.
El procedimiento puede aplicarse además a analizar las propiedades de un modelo diseñado, para generar instrucciones de construcción, o similares. En general, el procedimiento puede aplicarse en la industria de juegos de ordenador y en todas las demás áreas de gráficos por ordenador en las que tengan que ponerse unos elementos predeterminados de 3D juntos según una pluralidad de reglas de conexión.

Claims (17)

1. Procedimiento para generar un modelo legible por ordenador de un objeto geométrico (231) construido a partir de una pluralidad de elementos de construcción interconectables, en el que cada elemento de construcción (232, 233, 234, 235) presenta diversos elementos de conexión para conectar el elemento de construcción con otro elemento de construcción, comprendiendo el procedimiento
codificar un primer y un segundo elemento de la pluralidad de elementos de construcción que corresponden a la primera y segunda estructuras de datos, representando cada uno de ellos los elementos de conexión (307x) del correspondiente elemento de construcción, y presentado asociado cada uno de los elementos de conexión con el mismo un tipo de conexión de una pluralidad de tipos de conexión predeterminados;
determinar un primer elemento de conexión (238) del primer elemento de construcción y un segundo elemento de conexión (242) del segundo elemento de construcción, dispuestos en una proximidad predeterminada entre sí; y
recuperar la información de la conectividad de los correspondientes tipos de conexión del primer y segundo elementos de conexión indicativa de si el primer y el segundo elementos de conexión proporcionan una conexión entre el primer y el segundo elementos de construcción.
2. Procedimiento según la reivindicación 1, caracterizado porque el procedimiento comprende asimismo una tabla de conexiones que incluye información de conectividad de pares de tipos de conexión; y la etapa de recuperar información de conectividad comprende recuperar la información de conectividad de la tabla de conexión.
3. Procedimiento según la reivindicación 1 ó 2, caracterizado porque el procedimiento comprende asimismo:
-
proporcionar una tabla de combinaciones que incluya un tipo de conexión resultante para cada uno de los conjuntos predeterminado de pares de tipos de conexión;
-
determinar un primer y un segundo elementos de conexión que estén dispuestos en una relación geométrica predeterminada entre sí;
-
recuperar un tipo de conexión resultante del primer y segundo elementos de conexión de la tabla de combinaciones; y
-
asignar el tipo de conexión resultante a por lo menos un elemento de conexión resultante.
4. Procedimiento según cualquiera de las reivindicaciones 1 a 3, caracterizado porque cada una de las respectivas estructuras de datos representa asimismo varias cuadrículas con respecto al correspondiente elemento de construcción, presentando cada cuadrícula varios puntos de cuadrícula; y estando asociado cada uno de los elementos de conexión del elemento de construcción con uno de los puntos de cuadrícula y presenta un correspondiente tipo de conexión.
5. Procedimiento según la reivindicación 4, caracterizado porque cada una de las cuadrículas presenta por lo menos un borde de cuadrícula y el procedimiento comprende asimismo
-
proporcionar una tabla de combinaciones que incluya un tipo de conexión resultante para cada par de tipos de conexión;
-
detectar si una primera cuadrícula del primer elemento de construcción está dispuesta en una extensión borde con borde de una segunda cuadrícula del segundo elemento de construcción, estando alineado un primer borde de la primera cuadrícula con un segundo borde de la segunda cuadrícula;
-
para un primer elemento de conexión de la primera cuadrícula identificar un correspondiente elemento de conexión de la segunda cuadrícula;
-
recuperar un tipo de conexión resultante de una combinación del primer y segundo elementos de conexión de la tabla de combinaciones; y
-
asignar el tipo de conexión resultante recuperado al primer y segundo elementos de conexión.
6. Procedimiento según la reivindicación 4 ó 5, caracterizado porque cada una de las respectivas estructuras de datos representa además un volumen limítrofe del correspondiente elemento de construcción; comprendiendo cada una de las cuadrículas a una superficie del volumen limítrofe.
7. Procedimiento según la reivindicación 6, caracterizado porque el procedimiento comprende asimismo:
codificar unas respectivas posiciones del primer y segundo elemento de construcción con respecto a una cuadrícula de referencia de volumen común, correspondiendo la primera y segunda cuadrículas de los correspondientes primer y segundo elementos de construcción a los respectivos primer y segundo planos de la cuadrícula de referencia de volumen; correspondiendo los puntos de cuadrícula de la primera y segunda cuadrículas a los respectivos puntos de cuadrícula de referencia de la cuadrícula de referencia de volumen; y
detectar si la primera y segunda cuadrículas corresponden a un plano común de la cuadrícula de referencia de volumen y si por lo menos un primer punto de cuadrícula de la primera cuadrícula está dispuesto en el mismo punto de cuadrícula de referencia como un segundo punto de cuadrícula de la segunda cuadrícula.
8. Procedimiento según la reivindicación 7, caracterizado porque el procedimiento comprende asimismo:
-
identificar todos los pares de puntos de cuadrícula coincidentes de la primera cuadrícula y la segunda cuadrícula;
-
para cada uno de dichos pares de puntos de cuadrícula identificados recuperar información de conectividad de la tabla de conectividad;
-
rechazar la conexión entre el primer y segundo elementos de construcción, si por lo menos una par de puntos de cuadrícula corresponden a una conexión no válida; de lo contrario aceptar la conexión entre el primer y segundo elementos de construcción, si por lo menos un par de puntos de cuadrícula corresponde a una conexión válida.
9. Procedimiento según cualquiera de las reivindicaciones 1 a 8, caracterizado porque cada uno de los elementos de conexión presenta además una dirección asociada.
10. Procedimiento según cualquiera de las reivindicaciones 1 a 9, caracterizado porque la información de conectividad comprende un indicador para cada par de tipos de conexión que indica un tipo de conectividad de un grupo de tipos de conectividad, estando constituido dicho grupo por una conexión válida que proporciona una conexión entre un correspondiente par de elementos de construcción, una conexión no válida que impide la conexión entre un correspondiente par de elementos de conexión, y una conexión indiferente.
11. Procedimiento según cualquiera de las reivindicaciones 1 a 10, caracterizado porque la etapa de determinar un primer elemento de conexión del primer elemento de construcción y un segundo elemento de conexión del segundo elemento de construcción dispuestos en una proximidad predeterminada entre sí comprende determinar el primer y segundo elementos de construcción de un subconjunto predeterminado de elementos de conexión.
12. Procedimiento según la reivindicación 11, caracterizado porque cada una de las respectivas estructuras de datos representa además un volumen limítrofe del correspondiente elemento de construcción; comprendiendo asimismo el procedimiento detectar una intersección de los volúmenes limítrofes del primer y segundo elementos de construcción; y la etapa de determinar el primer y segundo elementos de construcción a partir de un predeterminado subconjunto de elementos de conexión comprende determinar el primer y segundo elementos de construcción a partir de los elementos de conexión comprendidos en la intersección determinada.
13. Sistema de tratamiento de datos (1101) que comprende
unos medios para generar un modelo legible por ordenador de un objeto geométrico (231) construido a partir de una pluralidad de elementos de construcción interconectados, en el que cada elemento de construcción (232, 233, 234, 235) presenta diversos elementos de conexión para unir el elemento de construcción con otro elemento de construcción;
unos medios para codificar un primer y un segundo elementos de construcción de la pluralidad de elementos de construcción como unas correspondientes primera y segunda estructuras de datos, representando cada una de ellas los elementos de conexión (307x) del correspondiente elemento de construcción, y presentando asociado cada uno de los elementos de conexión con el mismo un tipo de conexión de una pluralidad de tipos de conexión predeterminados;
unos medios para determinar un primer elemento de conexión (238) del primer elemento de construcción y un segundo elemento de conexión (242) del segundo elemento de construcción dispuestos en una proximidad predeterminada entre sí; y
unos medios para recuperar información de conectividad de los correspondientes tipos de conexión del primer y segundo elementos de conexión indicativa de si el primer y segundo elementos de conexión proporcionan una conexión entre el primer y segundo elemento de construcción.
14. Sistema de tratamiento de datos según la reivindicación 13, caracterizado porque comprende asimismo unos medios de almacenamiento para almacenar una tabla de conexión que incluye información de pares de tipos de conexión.
15. Sistema de tratamiento de datos según la reivindicación 13 ó 14, caracterizado porque comprende además unos medios de almacenamiento para almacenar una tabla de combinaciones que incluye un tipo de conexión resultante para cada uno de los conjuntos predeterminados de pares de tipos de conexión.
16. Programa de ordenador que comprende unos medios de códigos de programa para realizar todas las etapas según cualquiera de las reivindicaciones 1 a 12 cuando se ejecuta dicho programa en un ordenador.
17. Programa de ordenador que comprende unos medios de códigos almacenados en un medio legible por ordenador para realizar el procedimiento según cualquiera de las reivindicaciones 1 a 12 cuando se ejecuta dicha programa de ordenador en un ordenador.
ES03750398T 2002-10-11 2003-10-09 Procedimiento para generar un modelo legible por ordenador. Expired - Lifetime ES2277106T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DK200201549 2002-10-11
DKPA200201549 2002-10-11
US42103402P 2002-10-24 2002-10-24
US421034P 2002-10-24

Publications (1)

Publication Number Publication Date
ES2277106T3 true ES2277106T3 (es) 2007-07-01

Family

ID=32094936

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03750398T Expired - Lifetime ES2277106T3 (es) 2002-10-11 2003-10-09 Procedimiento para generar un modelo legible por ordenador.

Country Status (14)

Country Link
US (1) US7439972B2 (es)
EP (1) EP1550085B1 (es)
JP (1) JP4509789B2 (es)
KR (1) KR100970790B1 (es)
AT (1) ATE348372T1 (es)
AU (1) AU2003269854A1 (es)
CA (1) CA2497621C (es)
DE (1) DE60310431T2 (es)
DK (1) DK1550085T3 (es)
ES (1) ES2277106T3 (es)
NO (1) NO332876B1 (es)
PL (1) PL375082A1 (es)
PT (1) PT1550085E (es)
WO (1) WO2004034333A1 (es)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2524031C (en) 2003-05-20 2015-07-07 Interlego Ag Method and system for manipulating a digital representation of a three-dimensional object
US7596473B2 (en) 2003-05-20 2009-09-29 Interlego Ag Method of constructing a virtual construction model
US8674983B1 (en) * 2004-07-09 2014-03-18 The Mathworks, Inc. System and method for synchronizing and using a three dimensional view with a block diagram model
US7467154B2 (en) 2005-06-29 2008-12-16 Microsoft Corporation Producing a locally optimal path through a lattice by overlapping search
US8259105B2 (en) * 2006-07-21 2012-09-04 The University Of Utah Research Foundation Ray tracing a three-dimensional scene using a hierarchical data structure
WO2008067490A2 (en) * 2006-11-29 2008-06-05 University Of Utah Research Foundation Parallel grid population
US8374829B2 (en) 2007-03-16 2013-02-12 Lego A/S Automatic generation of building instructions for building element models
US7979251B2 (en) 2007-03-16 2011-07-12 Lego A/S Automatic generation of building instructions for building element models
WO2009100051A1 (en) * 2008-02-04 2009-08-13 Polchin George C Physical data building blocks system for video game interaction
US8113072B1 (en) 2009-02-27 2012-02-14 The United States Of America As Represented By The Secretary Of The Navy Electromagnetic physical scale model modularization system
US9595108B2 (en) 2009-08-04 2017-03-14 Eyecue Vision Technologies Ltd. System and method for object extraction
KR20120089452A (ko) * 2009-08-04 2012-08-10 아이큐 비젼 테크놀로지즈 리미티드 물체 추출 시스템 및 방법
US9230360B2 (en) 2009-10-02 2016-01-05 Lego A/S Connectivity depended geometry optimization for real-time rendering
US20110165939A1 (en) * 2010-01-05 2011-07-07 Ganz Method and system for providing a 3d activity in a virtual presentation
US8836719B2 (en) 2010-04-23 2014-09-16 Ganz Crafting system in a virtual environment
EP2729225B1 (en) * 2011-07-05 2018-12-05 Lego A/S Method and system for designing and producing a user-defined toy construction element
JP5988563B2 (ja) * 2011-10-25 2016-09-07 キヤノン株式会社 画像処理装置と画像処理装置の制御方法およびプログラムと、情報処理装置と情報処理装置の制御方法およびプログラム
JP2014102685A (ja) * 2012-11-20 2014-06-05 Sony Corp 情報処理装置、情報処理方法及びプログラム
US10579207B2 (en) * 2014-05-14 2020-03-03 Purdue Research Foundation Manipulating virtual environment using non-instrumented physical object
US10583354B2 (en) 2014-06-06 2020-03-10 Lego A/S Interactive game apparatus and toy construction system
US10478723B2 (en) 2014-06-30 2019-11-19 Microsoft Technology Licensing, Llc Track based play systems
US10537821B2 (en) 2014-06-30 2020-01-21 Microsoft Technology Licensing, Llc Interactive play sets
US10518188B2 (en) 2014-06-30 2019-12-31 Microsoft Technology Licensing, Llc Controlling physical toys using a physics engine
DK3200886T3 (da) 2014-10-02 2023-10-16 Lego As Spilsystem
US10369477B2 (en) 2014-10-08 2019-08-06 Microsoft Technology Licensing, Llc Management of resources within a virtual world
US9919226B2 (en) 2014-10-08 2018-03-20 Microsoft Technology Licensing, Llc Storage and charging device for game pieces
US9696757B2 (en) 2014-10-08 2017-07-04 Microsoft Corporation Transfer of attributes between generations of characters
GB2532075A (en) 2014-11-10 2016-05-11 Lego As System and method for toy recognition and detection based on convolutional neural networks
CN104898456B (zh) * 2015-04-02 2018-06-19 苏州乐派特机器人有限公司 实物化编程的方法及其在机器人领域的应用
US11504623B2 (en) 2015-08-17 2022-11-22 Lego A/S Method of creating a virtual game environment and interactive game system employing the method
US10552550B2 (en) * 2015-09-26 2020-02-04 Intel Corporation Technologies for physical programming
US10338753B2 (en) 2015-11-03 2019-07-02 Microsoft Technology Licensing, Llc Flexible multi-layer sensing surface
US10649572B2 (en) 2015-11-03 2020-05-12 Microsoft Technology Licensing, Llc Multi-modal sensing surface
US10955977B2 (en) 2015-11-03 2021-03-23 Microsoft Technology Licensing, Llc Extender object for multi-modal sensing
US9914066B2 (en) 2016-03-07 2018-03-13 Microsoft Technology Licensing, Llc Electromagnetically coupled building blocks
US10650222B2 (en) 2016-05-09 2020-05-12 Lego A/S System and method for toy recognition
CN109641150B (zh) 2016-07-05 2022-06-07 乐高公司 用于创建虚拟对象的方法
CN109562294A (zh) 2016-07-05 2019-04-02 乐高公司 用于创建虚拟对象的方法
USD834105S1 (en) 2017-06-01 2018-11-20 Mattel-Mega Holdings (Us), Llc Construction set element
USD844394S1 (en) 2018-03-29 2019-04-02 Kraft Foods Group Brands Llc Mold
US10894342B2 (en) 2018-03-29 2021-01-19 Kraft Foods Group Brands Llc System and method for molding comestible building blocks
CN109308039A (zh) * 2018-11-23 2019-02-05 广州艾考教育科技有限公司 一种磁吸式连接控制器
KR102398897B1 (ko) 2021-08-24 2022-05-17 주식회사 소풍앤컴퍼니 가상현실(vr)과 레고를 이용한 에듀테크 교육컨텐츠 지원 시스템 및 그 구동방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275449A (en) * 1978-04-28 1981-06-23 National Research Development Corporation Modelling arrangements
NL8600831A (nl) 1986-04-02 1987-11-02 Oce Nederland Bv Werkwijze voor het opwekken en bewerken van modellen van twee- of driedimensionale objecten in een computer en voor het weergeven van die modellen op een display.
US5293479A (en) 1991-07-08 1994-03-08 Quintero Smith Incorporated Design tool and method for preparing parametric assemblies
US6016147A (en) 1995-05-08 2000-01-18 Autodesk, Inc. Method and system for interactively determining and displaying geometric relationships between three dimensional objects based on predetermined geometric constraints and position of an input device
JPH09179893A (ja) * 1995-12-21 1997-07-11 Tokyo Gas Co Ltd 図面データ入力方法および装置
JP3559154B2 (ja) 1997-11-10 2004-08-25 富士通株式会社 三次元モデル作成装置及び方法並びに三次元モデル作成プログラムを記録したコンピュータ読み取り可能な記録媒体
PT1323136E (pt) * 1999-01-22 2005-02-28 Lego As Modelacao de realidade virtual
AUPP964899A0 (en) * 1999-04-08 1999-04-29 Freeland, Warwick Peter Constructional system
US6741245B1 (en) * 1999-04-23 2004-05-25 Mitsubishi Electric Research Laboratories, Inc. Method for decorating a virtual model
US6889176B1 (en) * 2000-07-24 2005-05-03 Ford Global Technologies, Llc Method for reconstructing the topology of a polygonal soup
US20020196250A1 (en) * 2001-06-20 2002-12-26 Gateway, Inc. Parts assembly for virtual representation and content creation

Also Published As

Publication number Publication date
DE60310431T2 (de) 2007-10-11
EP1550085B1 (en) 2006-12-13
NO20052183L (no) 2005-05-03
US20060106815A1 (en) 2006-05-18
NO332876B1 (no) 2013-01-28
DE60310431D1 (de) 2007-01-25
US7439972B2 (en) 2008-10-21
AU2003269854A1 (en) 2004-05-04
PT1550085E (pt) 2007-02-28
KR100970790B1 (ko) 2010-07-16
JP2006502485A (ja) 2006-01-19
DK1550085T3 (da) 2007-04-10
KR20050049531A (ko) 2005-05-25
CA2497621C (en) 2012-09-25
EP1550085A1 (en) 2005-07-06
WO2004034333A1 (en) 2004-04-22
ATE348372T1 (de) 2007-01-15
JP4509789B2 (ja) 2010-07-21
PL375082A1 (en) 2005-11-14
CA2497621A1 (en) 2004-04-22
HK1083550A1 (zh) 2006-07-07

Similar Documents

Publication Publication Date Title
ES2277106T3 (es) Procedimiento para generar un modelo legible por ordenador.
Devadoss et al. Discrete and computational geometry
Krawczyk Architectural interpretation of cellular automata
CA2524031C (en) Method and system for manipulating a digital representation of a three-dimensional object
ES2544303T3 (es) Generación de instrucciones de construcción para modelos de elementos de construcción
CN107615279A (zh) 基于虚拟六面体模型的虚拟三维模型生成
CN112619152B (zh) 游戏包围盒的处理方法、装置及电子设备
CN104658033A (zh) 多光源下的全局光照绘制方法及装置
CN104462688A (zh) 一种电网信息设备运行仿真系统
CN113724401A (zh) 一种三维模型切割方法、装置、计算机设备和存储介质
ES2226772T3 (es) Modelado de realidad virtual.
CN112053440A (zh) 单体化模型的确定方法及通信装置
CN104346832B (zh) 一种三维自锁模型的生成方法
US9697646B2 (en) Converting a 3D model into multiple matrices
Olivero et al. A codification of the cubic projection to generate immersive models
US12008707B2 (en) Highly scalable cluster engine for hosting simulations of objects interacting within a space
JP2008507056A (ja) いくつかのデジタルシミュレーション化幾何学的オブジェクト間で近接領域を同定する方法およびシステム
CN108022309A (zh) 三维模型智能拼接方法
JP7464423B2 (ja) 図面の作成方法およびシステム
HK1083550B (en) Method and data processing system for generating a computer readable model
Rosenman A face vector representation for the construction of polyhedra
CN117592348A (zh) 用于小天体风化层的球体与多面体颗粒接触检测模拟方法
JPH06348787A (ja) 画像表示装置
Gonçalves et al. An approach to (virtually) recreate historical findings
CN114882170A (zh) 一种沿放样路径构建三维模型的方法、电子设备和存储介质