KR20050049531A - 컴퓨터 판독가능한 모델을 생성하는 방법 - Google Patents

컴퓨터 판독가능한 모델을 생성하는 방법 Download PDF

Info

Publication number
KR20050049531A
KR20050049531A KR1020057006044A KR20057006044A KR20050049531A KR 20050049531 A KR20050049531 A KR 20050049531A KR 1020057006044 A KR1020057006044 A KR 1020057006044A KR 20057006044 A KR20057006044 A KR 20057006044A KR 20050049531 A KR20050049531 A KR 20050049531A
Authority
KR
South Korea
Prior art keywords
connection
elements
structural
grating
structural elements
Prior art date
Application number
KR1020057006044A
Other languages
English (en)
Other versions
KR100970790B1 (ko
Inventor
올가 팀켄코
Original Assignee
레고 에이/에스
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 레고 에이/에스 filed Critical 레고 에이/에스
Publication of KR20050049531A publication Critical patent/KR20050049531A/ko
Application granted granted Critical
Publication of KR100970790B1 publication Critical patent/KR100970790B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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/00Programme-control systems
    • G05B19/02Programme-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 programme 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 programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • G05B19/4099Surface or curve machining, making 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; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/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]

Abstract

본 발명은 복수의 상호 연결가능한 구조 요소로부터 구성된 기하학적 물체의 컴퓨터 판독가능한 모델을 생성하는 방법에 관한 것이고, 상기 각각의 구조 요소는 구조 요소를 다른 구조 요소와 연결하기 위해 다수의 연결 요소를 구비한다. 상기 방법은 복수의 구조 요소 중 제1 및 제2 구조 요소를 상응하는 제1 및 제2 데이터 구조로 인코딩하는 단계를 포함하고, 데이터 구조 각각은 그 상응하는 구조 요소의 연결 요소를 표현하고, 각각의 연결 요소는 이를 소정의 연결 유형와 관련시킨다. 상기 방법은 서로 미리 설정된 근접 관계로 위치된 제1 구조 요소의 제1 연결 요소와 제2 구조 요소의 제2 연결 요소를 결정하는 단계와, 제1 및 제2 연결 요소가 제1 및 제2 구조 요소 사이에 연결을 제공하는지의 여부를 지시하는 제1 및 제2 연결 요소의 상응하는 연결 유형의 연결 정보를 검색하는 단계를 더 포함한다.

Description

컴퓨터 판독가능한 모델을 생성하는 방법 {Method of generating a computer readable model}
본 발명은 미리정의된 기하학 요소에 의한 가상 현실의 컴퓨터 지원 모델링(computer aided modeling) 분야에 관한 것이다.
가상 현실의 컴퓨터 지원 모델링은 기하학적 물체의 모델 생성, 모델을 해석, 모델을 조작 및 이와 달리 컴퓨터 시스템에서 기하학적 물체의 모델을 취급하는 태스크이다.
제1 관점에서, 가상 현실의 모델링은 그들이 실제로 현실 세계에서 실현되기 전에 아이디어를 시각화할 수 있다는 점에서 흥미로운 주제이다. 만약 가상 현실 모델이 변형하기에 충분히 용이하면, 동일한 처리가 현실 세계에서 수행되는 상황과 비교해서 기하학적 물체를 발전시키고 정밀화하는 과정에서 많은 시간을 절약할 수 있다. 현실 세계에서 물체를 페인팅하는 간단한 태스크는 쉽게 몇 시간이 소요될 수 있지만, 컴퓨터는 0.001초 또는 수 초 내에 모델을 시각화하도록 새로운 색상을 도포할 수 있다.
제2 관점에서, 가상 현실의 모델링은 현실 세계에 존재하는 물체의 모델을 생성하고 컴퓨터를 통해 소정의 감각으로 모델을 시각화하고 조작할 수 있다는 점에서 흥미롭다. 따라서, 현실 세계의 물체의 모델은 다양한 목적, 예컨대 향상된 문서화 목적으로 저장될 수 있다.
컴퓨터 지원 가상 현실 모델링을 위한 매우 다양한 가능한 용도가 존재하지만, 구체적인 용도는 오락 또는 교육용으로 가상 현실 모델링을 사용하는 것이다.
물리적 구성을 갖는 장난감 세트의 다양한 유형의 모델링 개념은 다음과 같이 공지되어 있다. 특히, 모듈 또는 세미 모듈 개념을 이용한 개념이 존재하며 매우 인기가 있다. 전형적으로, 이러한 개념은 미리 제조된 요소의 모듈에 따라 미리 제조된 요소의 세트를 제공한다. 미리 제조된 요소는 특정 모델링 태스크에 적용되는 주지된 물체와 유사하다. 따라서, 예를 들어, 집의 모델을 건설할 때, 그 요소는 벽돌, 지붕 타일, 도어 또는 창문과 유사할 수 있다. 이러한 방식으로 요소를 선택한 물체는 집의 모든 세부사항이 새로운 모델이 형성될 때마다 한정되는 상황과 비교해서 집의 모델의 건설과 연관된 작업을 상당히 감소되게 한다. 그러나, 집 또는 다른 물체를 건설할 때의 완전한 자유도는 모델을 건설하는 간소함을 위하여 대체된다.
미리 한정된 요소를 갖는 이러한 접근은 컴퓨터 지원 가상 현실 모델링의 분야에 널리 공지되어 있다. 또한, 서로 연결될 수 있는 모듈 요소를 가진 개념이 주지되어 있다. 그러나, 이러한 모델을 컴퓨터에서 표시하는 경우, 미리 한정된 요소 및 모듈 시스템을 가진 개념의 편리성이 종래 기술에서 완전히 수행되지 않는다.
컴퓨터가 컴퓨터 지원 설계 및 모델링용으로 사용되는 한, 많은 수치적 노력을 요구하는 태스크는 그 모델이 나타내어지는 방법의 계산을 포함하는 모델의 시각화 및 조작이다. 그러한 이유 중 하나는 가상 현실 모델의 간략성 및 정밀성이 최근 이용가능한 컴퓨터 기술 및 연산 능력을 따르도록 확장되는 것이다.
모델을 나타내는 데이터를 전송하고 상호교환할 때, 가상 현실 모델의 간략성 및 정밀함의 결점이 매우 명확히 나타난다. 현재, 저장 유닛 또는 컴퓨터 통신 네트워크의 유형에서 몇몇 유형의 외부 유닛은 컴퓨터에 연결되어 모델을 저장하고, 로딩 및/또는 전송하고, 수신하기 위해 신호 경로를 확장시킨다. 전형적으로, 이러한 신호 경로는 단일 컴퓨터 내의 신호 경로와 비교해서 비교적 낮은 대역폭을 갖는다. 따라서, 모델을 나타내기 위한 효율적인 계획이 요구된다.
특히, 커넥터와 그 상응하는 리셉터와 같이 연결 요소를 통해 상호 연결될 수 있는 구조 요소 또는 미리한정된 요소의 모델을 생성하는 것과 관련해서, 서로에 대해 소정의 위치에 위치되는 경우 두 개의 가상 구조 요소가 연결가능한 지의 여부를 결정하는 일반적인 문제가 발생한다. 연결 정보는 물리적 물체의 실제 모델을 생성하기 위해, 예를 들어 모델링된 물체의 지지 부분에 연결되지 않고 가상 모델이 표면 위에 유동하는 임의 물체를 포함하지 않는 것을 보증하기 위해 중요한 정보이다.
대부분 현실 세계 구조는 많은 다양한 방식으로 상호연결될 수 있는 요소가 존재하는 매우 다양한 상이한 구조를 설정한다.
따라서, 본 발명의 목적은 다양한 상이한 구조 요소가 상호연결될 수 있는 기하학적 물체의 컴퓨터 판독가능한 모델을 생성하는 방법을 제공하는 것이다.
본 발명의 다른 목적은 구조 요소가 다양한 가능한 방식으로 상호연결될 수 있는 기하학적 물체의 컴퓨터 판독가능한 모델을 생성하는 방법을 제공하는 것이다.
도1a 내지 도1e는 본 발명의 실시예에 따른 구조 요소의 대표적 사시도를 도시한다.
도2a 내지 도2d는 구조 요소 및 그 연결 요소의 예를 도시한다.
도3은 구조 블록 및 두 개의 상응하는 연결 격자의 사시도를 도시한다.
도4는 도3의 구조 블록의 평면도를 도시한다.
도5a 및 도5b는 각각이 구조 요소의 표면의 연결 지점을 나타내는 데이터 구조를 도시한다.
도6은 에지 대 에지 연장으로 두 개의 구조 요소의 평면도를 도시한다.
도7은 연결 요소의 두 개의 연결된 그룹을 포함하는 구조 요소의 사시도를 도시한다.
도8은 기하학적 물체의 컴퓨터 판독가능 모델을 생성하는 방법에서 구조 요소를 위치시키는 흐름도를 도시한다.
도9는 본 발명의 실시예에 따라 디지털 연결 요소를 다른 디지털 구조 요소에 연결하는 방법의 흐름도를 도시한다.
도10은 그 연결된 구조 요소를 나타내는 데이터 구조를 업데이트하는 하위 방법의 흐름도를 도시한다.
도11은 본 발명의 실시예에 따라 기하학적 물체의 컴퓨터 판독가능 모델을 생성하기 위한 데이터 처리 시스템을 도시한다.
도12a 및 도12b는 경사진 표면을 가진 구조 블록 및 그 상응하는 경계 체적의 예의 측면도를 도시한다.
전술된 그리고 기타 문제는 복수의 상호 연결가능한 구조 요소로부터 구성된 기하학적 물체의 컴퓨터 판독가능한 모델을 생성하는 방법에 의해 해결되며, 각각의 구조 요소는 이 구조 요소를 다른 구조 요소와 연결하기 위해 다수의 연결 요소를 구비하고, 이러한 방법은,
복수의 구조 요소 중 제1 및 제2 구조 요소를 상응하는 제1 및 제2 데이터 구조로서 인코딩하는 단계 - 데이터 구조 각각은 상응하는 구조 요소의 연결 요소를 나타내고, 각각의 연결 요소는 복수의 미리 설정된 연결 유형 중 하나와 관련됨- 와,
서로 미리 설정된 근접 관계로 위치된 제1 구조 요소의 제1 연결 요소와 제2 구조 요소의 제2 연결 요소를 결정하는 단계와,
제1 및 제2 연결 요소가 제1 및 제2 구조 요소 사이의 연결을 제공하는지의 여부를 지시하는 제1 및 제2 연결 요소의 상응하는 연결 유형의 연결 정보를 검색하는 단계를 포함한다.
본 발명의 장점은 모듈 장난감 구조 요소 또는 요소들로 구성된 물체를 표현하는데 편리한 모델 구조의 표현 및 모델 구조를 제공하는 것이다.
본 발명의 다른 장점은 매우 다양한 구조 요소의 연결을 모델링하는 방법을 제공하는 것이다.
본 발명의 또 다른 장점은 상이한 유형의 노브, 구멍, 튜브, 힌지, 에지 및 샤프트 등과 같이 매우 다양한 연결 요소의 연결을 모델링하는 방법을 제공하는 것이다. 연결 유형을 가진 복수의 연결 요소를 제공함으로써, 구조 요소의 연결 특성의 표현은 실제 커넥터의 정확한 기하학적 형상과 무관하게 제공된다.
특히, 매우 다양하게 상이한 연결 요소의 연결을 모델링하는 방법은 물리적인 연결 요소와 그 형상의 외관과 무관하게 구비되는 장점이 제공된다.
따라서, 상이한 유형의 연결 요소를 포함하는 많은 세트의 상이한 미리 한정된 구조 요소가 모델링될 수 있다.
구조 요소(construction element)라는 용어는 하나 이상의 다른 구조 요소에 연결하기 위한 연결 요소를 구비한 임의의 적합한 유형의 구조 요소를 포함하며, 이는 물리적 물체를 생성하도록 사용될 수 있고 컴퓨터 상에서 디지털적으로 표현될 수 있다. 구조 요소의 예는 구조 장난감 세트, 예컨대 벽돌 등과 같은 건축 블록의 요소를 포함한다. 구조 요소라는 용어는 상호연결된 작은 구조 요소의 집합체, 예컨대 두 개 이상의 연결된 벽돌을 더 포함한다.
일 실시예에서, 연결 유형은 다수의 연결 그룹, 예컨대 커넥터, 리셉터, 및 혼합된 요소로 그룹화된다. 커넥터는 다른 구조 요소의 리셉터에 의해 수용될 수 있는 연결 요소이고, 이에 따라 구조 요소 사이의 연결을 제공한다. 예를 들어, 커넥터는 다른 요소의 부품들 사이, 구멍 내부 등에 끼워질 수 있다. 리셉터는 다른 구조 요소의 커넥터를 수용할 수 있는 연결 요소이다. 혼합된 요소는 리셉터와 커넥터 모두로 기능할 수 있는 부품이고, 전형적으로 다른 구조 요소의 협동하는 구조 요소의 유형에 의존한다.
본 발명의 또 다른 장점은 서로에 대해 회전될 수 있는 상이한 표면 또는 평면을 따라 연결을 모델링하는 방법을 제공하는 것이다.
본 발명의 또 다른 장점은 회전될 수 있는 가동성 부품을 구비한 혼합 물체의 모델링을 허용하는 기하학적 물체의 모델의 간략한 표현을 제공하는 것이다.
본 발명의 또 다른 장점은 기하학적 물체의 모델의 간략한 표현을 제공하는 것이다.
본 발명의 또 다른 장점은 매우 신속하게 생성하고 해석할 수 있는 모델 구조의 표현과 모델 구조를 제공하는 것이다.
본 발명의 또 다른 장점은 모델이 시각화되고, 생성 또는 조잘될 때 비교적 낮은 대역폭 요구 및 적은 처리 시간의 관점에서 컴퓨터 네트워크를 통해 분배되기 편리한 모델 구조의 표현을 제공하는 것이다.
본 발명의 바람직한 실시예에서, 상기 방법은 연결 유형 쌍의 연결 정보를 포함하는 연결 표를 제공하는 단계를 더 포함하고, 연결 정보를 검색하는 단계는 연결 표로부터 연결 정보를 검색하는 단계를 포함한다.
연결 표(connection table)라는 용어는 연결 유형 쌍에 대한 연결 정보를 저장하는 임의 적절한 데이터 구조를 포함하려는 것이다. 예를 들어, 이러한 데이터 구조는 연결 유형 쌍에 의해 인덱스된 룩업 표(look-up table)일 수 있다.
연결 표를 제공함으로써, 효율적이고 확장가능한 데이터 구조는 연결 유형 쌍과 관련된 연결 정보를 저장하도록 제공된다. 더욱이, 신속한 연결 검출이 가능해진다.
본 발명의 다른 바람직한 실시예에서, 각각의 데이터 구조는 그 상응하는 구조 요소에 대해 다수의 격자를 더 표현하고, 각각의 격자는 다수의 격자점(grid point)을 구비하며, 구조 요소의 각각의 연결 요소는 하나의 격자점과 관련되고 상응하는 연결 유형을 갖는다.
따라서, 격자점이 연결 유형과 관련된 정방형 격자, 삼각형 격자 등과 같은 격자 구조를 제공함으로써, 크기, 형상 및 연결 특성 등과 같은 다양한 연결 요소의 상이한 특성은 각각의 격자점과 관련된 하나 이상의 특성으로 감소될 수 있다. 결과적으로, 구조 요소의 연결 특성의 효율적 표현이 달성된다.
다른 장점은 연결 요소를 격자점에 관련시킴으로써 두 개의 연결 요소가 서로 미리 설정된 근접 관계에 있는지의 여부를 아주 간단히 검출할 수 있다. 예를 들어, 일 실시예에서, 구조 요소가 공통의 분리 체적 기준 격자에 위치되고 모든 좌표가 임의의 길이 유닛의 곱인 경우, 좌표의 정확한 일치는 두 개의 연결 요소가 미리 설정된 근접 관계에 있게 고려되도록 요구될 수 있다. 연속 또는 준연속 기준 좌표계에서, 격자점이 소정의 한계치 내에서 일치하는 것이 요구될 수 있고, 즉, 그들은 서로 소정의 인접부에 위치되는 것이 요구될 수 있다. 인접부의 크기는 모델링되는 물리적 연결 요소의 유형, 예컨대 그들이 연결하기 위해 실제로 협동하는 방법과 강제되는 구조 요소를 위치시키는 정확성에 의존할 수 있다.
구조 요소가 다른 구조 요소에 연결될 수 있는 각각의 평면이 격자 세그먼트, 예컨대 각각의 격자 세그먼트가 그 중심에 격자점을 갖는 정방형으로 분할되는 것이 바람직하다.
각각의 연결 요소는 구조 요소가 상응하는 연결 요소와 결합될 수 있는 방향을 표시하는 관련된 방향을 갖는 것이 바람직하다.
공통 평면 상에 위치되고 공통 방향을 가진 모든 연결 요소는 인접 격자점 사이에 소정의 거리를 가진 직각 격자의 세그먼트에 상응하는 것이 더 바람직하다. 바람직하게는, 일 세트의 구조 요소의 모든 구조 요소의 연결 요소는 각각의 연결 요소가 상응하는 격자점과 관련있게 하면서 소정의 법칙에 따라 구조 요소 상에 위치된다.
그러나, 상이하고 비평행한 평면 상의 연결 요소는 각각의 격자점 사이에 동일한 거리를 가질 필요가 없다는 것을 알아야 한다. 예를 들어, 수평 평면 상의 연결 요소 사이의 거리는 수직 평면 상의 연결 요소 사이의 거리와 상이할 수 있다.
더욱이, 연결 요소를 소정의 격자점과 관련시킴으로써 제1 구조 요소의 연결 요소가 제2 구조 요소의 연결 요소의 소정의 인접부에 있는지의 결정은 그 결정이 인접 격자점을 식별하는 것에 제한될 때 효율적인 방식으로 수행될 수 있다.
다른 바람직한 실시예에서, 상기 방법은,
- 연결 유형 쌍의 소정의 세트 각각에 대해 합성 연결 유형을 포함하는 결합 표를 제공하는 단계와,
- 서로에게 소정의 기하학적 관계로 위치된 제1 및 제2 연결 요소를 결정하는 단계와,
- 결합 표로부터 제1 및 제2 연결 요소의 합성 연결 유형을 검색하는 단계와,
- 상기 검색된 합성 연결 유형을 적어도 합성 연결 요소에 할당하는 단계를 더 포함한다.
따라서, 연결 요소의 연결 유형은 동적이며, 즉 그들은 구조 요소가 위치되는 기하학적 상황에 따라 변할 수 있어서, 물리적 구조 요소의 연결 특성의 더욱 실제적 모델링을 제공하는 장점이 있다. 특히, 제1 구조 요소의 제1 연결 요소와 제2 구조 요소의 제2 연결 요소는 서로 소정의 기하학적 관계로 위치될 때 개별 연결 요소와 상이한 연결 특성을 제공할 수 있다.
제1 및 제2 연결 요소의 협력적 효과는 종종 그 상호 기하학적 관계, 즉 그 연결 요소가 서로에 대해 위치되는, 예컨대 그들이 서로 얼마나 가까이 위치되는 지, 그들이 서로 위치되는 상대적 배향 등에 의존한다. 일 실시예에서, 제1 및 제2 연결 요소가 서로로부터 미리 설정된 근접 관계로 위치되는지를 결정함으로써 그리고 만약 그들이 서로 근접하게 위치되면 그 결정된 합성 연결 유형을 제1 및 제2 연결 요소에 할당함으로써 모델링된다.
이 데이터 구조에서 이는 합성 연결 유형을 적어도 하나의 합성 연결 요소에 할당함으로써 표현된다. 일 실시예에서, 이 합성 연결 요소는 제1 및 제2 연결 요소 중 하나이다. 더 바람직한 실시예에서, 합성 연결 유형은 제1 및 제2 연결 요소 모두에 할당된다.
그 연결 요소가 필요한 기하학적 관계로 더 이상 위치되지 않도록 만약 그 상응하는 구조 요소가 재위치되면 제1 및 제2 연결 요소가 그 각각의 원점 연결 유형을 할당하는 것이 더 바람직하다.
다른 실시예에서, 그 합성 연결 요소는, 예컨대 제1 및 제2 연결 요소의 위치에 관련된 위치를 갖도록 한정된 새로운 연결 요소일 수 있다.
일부 실시예에서, 두 개 이상의 연결 요소가 합성 연결 유형을 생산하도록 결합될 수 있다는 것이 이해된다.
결합 표라는 용어는 연결 유형 쌍에 대한 합성 연결 유형을 저장하기 위한 임의의 적절한 데이터 구조를 포함하는 것을 의미한다. 예를 들어, 이러한 데이터 구조는 연결 유형 쌍에 의해 인덱스된 룩업 표일 수 있고, 여기서 각각의 룩업 표의 각 입구는 연결 요소의 쌍의 결합으로부터 나온 합성 연결 유형을 포함하고, 각각의 연결 요소는 연결 유형의 대응 쌍의 각각의 하나를 구비한다.
결합 표를 제공함으로써, 효율적이고 확장가능한 데이터 구조는 다른 연결 유형과의 조합으로 인해 연결 요소의 연결 유형이 변할 수 있는 방법에 대한 정보를 저장하도록 제공된다.
특히, 가상 건축 블록의 경우, 종종 발생하는 상황은 두 개의 건축 블록이 서로 다음에 위치된, 즉 에지 대 에지 연장으로 위치된 배열이고, 인접 건축 블록의 에지 상의 연결 요소는 특성을 변화시킨다.
또 다른 실시예에서, 이 상황은 구조 요소와 관련된 각각의 격자가 적어도 하나의 격자 에지를 구비하고, 상기 방법은,
- 연결 유형 각 쌍에 대해 합성 연결 유형을 포함하는 결합 표를 제공하는 단계와,
- 제1 구조 요소의 제1 격자가 제2 구조 요소의 제2 격자의 에지 대 에지 연장으로 위치되는 지를 검출하는 단계와,
- 제1 격자의 제1 에지는 제2 격자의 제2 에지와 정렬되고, 제1 격자의 제1 연결 요소를 위해 제2 격자의 상응하는 제2 연결 요소를 식별하는 단계와,
- 상기 결합 표로부터 제1 및 제2 연결 요소의 결합의 합성 연결 유형을 검색하는 단계와,
- 상기 검색된 합성 연결 유형을 제1 및 제2 연결 요소에 할당하는 단계를 더 포함한다.
구조 요소가 서로 매우 근접 또는 접촉하여 그 에지의 각각의 하나와 서로의 다음에 위치되는 경우, 그 대응 에지 상의 연결 요소는 다른 구조 요소 상의 또는 근접한 연결 요소의 유형에 의존하여 그 특성을 변경할 수 있다.
연결 유형 각 쌍에 대한 합성 연결 유형을 구비한 결합 표를 제공함으로써, 구조 요소의 에지 상의 연결 요소에 합성 연결 유형을 할당함으로써, 만약 에지 대 에지 연장이 검출되면, 상호 작동 구조 요소의 더욱 복합적인 연결 특성이 모델링될 수 있다.
에지 대 에지 연장(edge-to-edge extension)은 대응 격자가 결합된 격자에 결합되도록 서로의 다음에 위치된 두 개의 격자의 배치를 포함한다. 따라서, 에지 대 에지 연장이라는 용어는 각각의 평행한 격자 에지와 그 평행한 격자 에지를 따르는 소정의 중첩부를 구비한 두 개의 평행한 격자를 구비하고, 에지에 근접한 격자점은 일치한다.
본 발명의 다른 실시예에서, 각각의 데이터 구조는 상응하는 구조 요소의 경계 체적을 더 표현하고, 각각의 격자는 경계 체적의 표면에 상응한다.
따라서, 격자가 그 경계 체적의 표면에 상응하는 구조 요소에 대해 경계 체적을 제공함으로써, 각각의 구조 요소는 그 구조 요소가 복합 형상이어도 작은 수의 격자에 의해 표현될 수 있다. 따라서, 구조 요소의 형상의 복잡성이 경계 체적의 표면에 관련된 격자점의 특성과 차례로 관련된 연결 유형으로 병진될 때 두 개의 구조 요소의 상호 작동 연결 요소의 효율적 검출이 달성될 수 있다.
더욱이, 경계 체적은 공지된 충돌 검출 알고리즘을 채용함으로써 인접 구조 요소를 검출하도록 효율적인 표현을 제공한다.
경계 체적은 상호 직각 측면을 구비한 박스를 경계짓거나 상이한 형상을 구비한 체적을 경계짓는다.
다른 양호한 실시예에서, 상기 방법은,
공통 체적 기준 격자에 대해 제1 및 제2 구조 요소의 각각의 위치를 인코딩하는 단계 - 상응하는 제1 및 제2 구조 요소의 제1 및 제2 격자는 체적 기준 격자의 각각의 제1 및 제2 평면에 상응하고, 제1 및 제2 격자의 격자점은 체적 기준 격자의 각각의 기준 격자점에 상응함 - 와,
제1 및 제2 격자가 체적 기준 격자의 공통 평면에 상응하는지와 적어도 제1 격자의 제1 격자점이 제2 격자의 제2 격자점과 동일한 기준 격자점에 위치되는 지를 검출하는 단계를 더 포함한다.
따라서, 체적 기준 격자, 예컨대 입방 체적 격자를 제공하고, 기준 체적 격자의 평면으로 표면 격자를 한정함으로써, 특히 간단한 데이터 구조가 인접 격자점의 매우 효율적인 검출을 허용하도록 제공된다.
바람직하게는, 경계 체적은 체적 기준 격자에 대한 평면으로 한정된다. 일 실시예에서, 그들은 체적 기준 격자의 평면과 일치할 수 있거나 또는 이와 달리 체적 기준 격자의 격자 평면 사이의 평면으로 한정될 수 있다.
본 발명의 또 다른 양호한 실시예에서, 상기 방법은,
- 제1 및 제2 격자의 격자점을 일치시킨 모든 쌍을 식별하는 단계와,
- 격자점 각각의 식별된 쌍에 대해 연결 표로부터 연결 정보를 검색하는 단계와,
- 만약 적어도 한 쌍의 격자점이 무효 연결에 상응하면 제1 및 제2 구조 요소 사이의 연결을 거절하고, 이와 달리 만약 적어도 한 쌍의 격자점이 유효 연결에 상응하면 제1 및 제2 구조 요소 사이의 연결을 허용하는 단계를 더 포함한다.
따라서, 두 개의 인접하는 구조 요소가 상호연결될 수 있는지를 검출하는 효율적 방법이 제공된다. 일치 격자점(coinciding grid points)이라는 용어는 동일한 좌표를 가진 격자점을 포함한다. 일 실시예에서, 구조 요소가 분리 기준 격자에 위치되고 모든 좌표가 임의 길이 유닛의 배수인 경우, 좌표의 정확한 일치가 요구될 수 있고, 즉 격자점은 공통 기준 격자점에 위치된다. 연속 또는 준연속 기준 좌표 시스템에서, 격자점이 소정의 한계치와 일치하는 것이 요구될 수 있다.
각각의 연결 요소는 관련된 방향을 더 구비할 때, 다른 특성은 각각의 격자점에 관련되어, 다른 자유도를 제공한다.
연결 정보(conectivity information)라는 용어는 한 쌍의 연결 유형의 연결 특성에 대한, 예컨대 소정 쌍의 연결 유형에 대한 연결 유형의 두 개의 연결 요소가 연결을 제공하는지의 여부, 그들이 연결 불가능한지의 여부 등에 대한 정보를 포함하는 것을 의미한다. 바람직한 실시예에서, 연결 정보는 소정 그룹의 연결 유형 중 하나를 지시하는 각 쌍의 연결 유형을 위한 지시기를 포함하고, 상기 그룹은 상응하는 쌍의 연결 요소 사이의 연결을 제공하는 유효 연결, 상응하는 쌍의 연결 요소 사이의 연결을 방지하는 무효 연결 및 중립 연결을 구비한다.
중립 연결(indifferent connection)이라는 용어는 서로 소정의 부근에 위치될 때 두 개의 대응하는 구조 요소를 연결하도록 협동하지 않지만 이러한 배치를 방지하지도 않는 한 쌍의 연결 유형을 포함한다.
따라서, 가능한 상호연결의 효율적인 코딩이 제공된다.
본 발명의 또 다른 양호한 실시예에서, 서로 미리 설정된 근접 관계로 위치된 제1 구조 요소의 제1 연결 요소와 제2 구조 요소의 제2 연결 요소를 결정하는 단계는 연결 요소의 미리 설정된 하위 세트로부터 제1 및 제2 연결 요소를 결정하는 단계를 더 포함한다. 따라서, 연결 요소의 하위 세트만이 연결 요소의 관련 쌍을 결정하기 위해 조사되는데 필요하고, 이에 따라 상기 방법이 효율을 증대시킨다.
다른 양호한 실시예에서, 각각의 데이터 구조는 상응하는 구조 요소의 경계 체적을 더 표현하고, 상기 방법은 제1 및 제2 구조 요소의 경계 체적의 교차부를 검출하는 단계를 더 포함하고, 연결 요소의 소정의 하위 세트로부터 제1 및 제2 연결 요소를 결정하는 단계는 결정된 교차부에 포함된 연결 요소로부터 제1 및 제2 연결 요소를 결정하는 단계를 더 포함한다. 따라서, 관련 연결 요소의 하위 세트는 그들이 경계 박스의 교차부에 포함되기 때문에 연결을 잠재적으로 제공할 수 있는 연결 요소로서 결정된다.
본 발명의 다른 장점은 구조 요소의 새로운 유형과 연결 요소의 새로운 유형을 합체하도록 용이하게 확장될 수 있는 데이터 구조 및 알고리즘을 제공하는 것이다. 예를 들어, 상이한 유형의 두 세트의 존재하는 장난감 구조 요소의 연결 특성은 상이한 장난감 구조 세트의 구조 요소가 서로 상호연결될 수 있도록 결합될 수 있다.
본 발명의 다른 장점은 다수의 구조 요소를 포함하는 모델을 생성할 때에도 큰 저장 용량을 요구하지 않는 데이터 구조를 제공하는 것이다.
본 발명의 다른 장점은 두 개 이상의 구조 요소가 연결되는지를 검출하는 효율적 방법을 제공하여, 이에 따라 구조 요소가 상호연결되는지를 결정하는 컴퓨터가 요구하는 처리 시간을 감소시키는 것이다. 이는 구조 요소의 배치 또는 제거로부터 모델의 연결 특성의 결정까지 이 상황에서 짧은 반응 시간이 요구되기 때문에 사용자가 두 개의 서로에 대해 구조 요소를 위치시킬 수 있는 상호작용 컴퓨터 프로그램에 매우 중요한 특성이다.
본 발명은 상술된 방법, 및 다음의 시스템 및 다른 제품 수단을 포함하여 상이한 방식으로 실행될 수 있고, 각각은 처음으로 언급된 방법과 관련하여 설명된 하나 이상의 장점 및 이점을 제공하고, 각각은 처음으로 언급된 방법과 관련되어 설명되고 첨부된 청구의 범위에서 개시된 양호한 실시예에 상응하는 하나 이상의 양호한 실시예를 구비한다.
본 발명은,
-복수의 상호 연결가능한 구조 요소로부터 구성된 기하학적 물체의 컴퓨터 판독가능한 모델을 생성하는 수단과,
-상기 각각의 구조 요소는 구조 요소를 다른 구조 요소와 연결하기 위해 다수의 연결 요소를 구비하고, 복수의 구조 요소 중 제1 및 제2 것을 상응하는 제1 및 제2 데이터 구조로 인코딩하는 수단과,
-각각은 그 상응하는 구조 요소의 연결 요소를 표현하고, 각각의 연결 요소는 복수의 소정의 연결 유형 중 하나를 그와 연결시키고, 제1 구조 요소의 제1 연결 요소와 서로 소정의 근접하게 위치된 제2 구조 요소의 제2 연결 요소를 결정하는 수단과,
-제1 및 제2 연결 요소가 제1 및 제2 구조 요소 사이에 연결을 제공하는지를 지시하는 제1 및 제2 연결 요소의 상응하는 연결 유형의 연결 정보를 검색하는 수단을 포함하는 데이터 처리 시스템에 관한 것이다.
다음에서와 상술된 방법의 특징은 컴퓨터 확장가능 지시의 실행에 의해 야기된 데이터 처리 시스템 또는 다른 처리 수단으로 실행되고 소프트웨어로 실행될 수 있는 것을 이해해야 한다. 이 지시는 저장 매체로부터 또는 컴퓨터 네트워크를 통해 다른 컴퓨터로부터 램과 같은 메모리에 로딩되는 프로그램 코딩 수단일 수 있다. 이와 달리, 상술된 특징은 소프트웨어 대신 배선된 회로에 의해 또는 소프트웨어와 결합하여 실행될 수 있다.
본 발명은 상술되고 다음의 방법을 수행하도록 형성된 데이터 처리 시스템에 관한 것이다.
본 발명은 상기 프로그램이 컴퓨터 상에 가동될 때 상술되고 다음의 방법의 모든 단계를 수행하기 위한 프로그램 코드 수단을 구비한 컴퓨터 프로그램에 관한 것이다.
본 발명은 상기 프로그램이 컴퓨터 상에 가동될 때 상술되고 다음의 방법의 모든 단계를 수행하기 위해 컴퓨터 판독가능한 매체 상에 저장된 프로그램 코드 수단을 구비한 컴퓨터 프로그램에 관한 것이다.
본 발명은 양호한 실시예 및 도면을 참조하여 이하에서 더 상세히 설명된다.
도1a 내지 도1e는 본 발명의 실시예에 따른 구조 요소의 대표적 사시도를 도시한다.
도1a는 구조 요소(101)의 대표도를 도시한다. 구조 요소(101)는 다른 구조 블록의 대응하는 구멍에 연결할 수 있는 두 개의 노브(102), 103으로 나타내는 그 표면 중 하나를 가진 물리적 구조 블록의 디지털 표현(digital representation)이다. 구조 블록은 표면(105)으로부터 구조 블록의 대향면까지 구조 블록을 관통하는 구멍(104)을 더 포함한다. 구멍은 다른 구조 블록의 대응 커넥터를 수용하도록 형성된다.
구조 블록(101)의 디지털 표현은 도1a의 두꺼운 선으로 나타낸 경계 체적(106)을 포함한다. 경계 체적(106)은 노브(102)를 포함하는 구조 블록(101)의 경계 체적이다. 구조 블록의 다른 디지털 표현은 내부 우선 좌표계(107)에 대해 설명된다. 좌표계의 선택, 특히 그 원점(origin)의 위치 및 그 축의 방향은 임의의 적절한 관례에 따라 선택될 수 있다. 따라서, 상응하는 데이터 구조에서, 구조 블록의 위치 및 방향은 외부 좌표계, 예컨대 다른 구조 블록의 좌표계 또는 글로벌 "월드" 좌표계에 대해 좌표계(107)의 축의 방향 및 원점의 좌표에 의해 표현될 수 있다.
경계 체적은 좌표계(107)에 대한 데이터 구조, 예컨대 좌표계(107)에 대해 두 개의 코너(110)의 좌표에 의해 표현될 수 있다.
도1b는 구조 블록을 포함하지만 노브(102)가 없는 경계 체적(108)을 가진 구조 블록(101)의 대표도를 도시한다. 일 실시예로, 상이한 구조 블록들 사이의 충돌 검출은 경계 체적의 유형, 즉 도1a에 도시된 경계 체적(106) 및 도1b의 경계 체적(108) 모두에 의존한다.
본 발명에 따르면, 구조 블록이 다른 구조 블록에 연결될 수 있는 각각의 평면은 각각의 정방형의 중심의 연결 지점을 가진 정방형, 즉 인접 연결 지점 사이의 1/2 거리에 상응하는 정방형의 에지로 분할된다.
도1c는 구조 블록(101)을 도시하고 구조 블록의 일 표면 상에 연결 요소의 표현을 도시한다. 그 표현은 두 개의 노브(102)를 포함하는 구조 블록의 표면(103)의 평면에 정방형 격자(109)를 나타낸다. 정방형 격자는 정방형(130) 및 격자점(111)에 의해 예시된 바와 같이 중심으로 격자점을 각각이 가진 다수의 정방형을 포함한다. 각각의 격자점은 화살표, 예컨대 격자점(111)의 화살표(112)에 의해 나타낸 바와 같이 관련된 방향을 갖는다. 격자(109)의 격자점 방향은 외향, 즉 좌표계(107)의 y축 방향으로 지향한다. 따라서, 데이터 구조에서, 격자(109)의 표현은 소정의 격자점, 예컨대 좌표계(107)에 대해 격자점(113)의 좌표, 격자점의 방향, 즉 좌표계에 대해 화살표(114)의 방향, 격자 크기, 즉 x방향 및 z방향의 각각의 정방형의 수 및 각각의 격자점에 관련된 특성을 포함할 수 있다. 이러한 표현의 예는 상세히 후술된다.
도1d는 구조 블록(101)의 (도1에 도시되지 않은) 표면(103)에 대향된 표면(116)의 연결 격자(120)를 도시한다. 구조 블록의 이러한 표면은 에지(118)에 의해 한정된 두 개의 구멍(117) 및 소위 2차 핀인 작은 중심 노브(119)를 포함한다. 물리적 구조 블록의 구멍은 다른 구조 블록의 노브(102)와 같은 노브를 수용할 수 있도록 배열되어, 두 개의 구조 블록을 협동식으로 연결한다. 본 발명에 따르면, 구멍은 화살표(121)에 의해 나타낸 바와 같이 격자(120)의 대응 격자점에 의해 표현된다.
본 실시예에 다르면 좌표계의 원점은 격자점(122)에 상응한다는 것을 알아야 한다.
도1e는 구멍(104)을 포함하는 구조 블록(101)의 표면(105)의 연결 격자(123)를 도시한다. 이와 관련하여, 격자점(124)은 구멍(104)의 연결 특성을 표현한다.
디스플레이, 예컨대 컴퓨터 스크린 상에 구조 블록을 도식적으로 표현할 때, 그 경계 체적, 좌표계 및 격자는 도시될 필요가 없다. 바람직하게는, 도시적 표현만이 구조 블록 그 자체의 표현을 포함한다.
도2a 내지 도2c는 구조 요소 및 그 연결 요소의 예를 도시한다.
도2a는 두 개의 구조 블록(201, 202)을 도시한다. 구조 블록(201)은 (도시되지 않은) 바닥면 상에 4개의 대응 구멍과 그 상부면 상의 4개의 노브(203)를 구비한 벽돌이다. 벽돌(202)은 상호 직각이 아닌 평면을 포함하는 면을 구비한 구조 블록의 예이다. 특히, 구조 블록(202)은 경사진 면(204)을 구비한다. 도2a에 도시된 바와 같이, 그 현재 위치에서, 구조 블록(201, 202)은 연결되지 않는다.
도2b는 비장방형 상부 및 바닥면을 구비한 구조 블록(210)을 도시한다. 바닥면은 하나 이상의 다른 구조 블록의 대응 노브를 수용하기 위한 구멍(211, 212, 213)을 포함한다. 구멍은 코너(216, 217)뿐 아니라 2차 핀(215), 에지(214)에 의해 한정된다. 따라서, 모든 상기 요소의 특성은 구조 블록의 표면의 연결 특성을 결정한다.
도2c는 구조 블록(221)과 연결된, 이에 따라 결합된 구조 블록을 형성하는 구조 블록(220)을 도시한다. 구조 블록(220)은 다른 구조 블록의 대응 구멍에 끼워진 커넥터인 그 상부면 상의 노브(222)를 포함한다. 그러나, 도2c에 의해 도시된 바와 같이, 다른 연결 유형이 또한 달성될 수 있다. 노브 사이의 갭(223)은 블록(221)의 측면과 같이 다른 커넥터용 리셉터로서 기능한다. 물리적 구조 블록의 경우, 이 특성은 구조 블록(221)의 치수, 즉 그 측면의 폭(225) 및 갭의 치수에 의해 결정된다. 본 발명에 따른 디지털 표현으로, 이러한 특성은 이후 상세히 도시되는 바와 같이 연결 지점의 특성에 상응시켜 표현된다.
도2d는 다수의 벽돌을 포함하는 다른 구조 블록에 구조 블록의 무효 연결을 도시한다. 구조 블록(231)은 벽돌(232, 233, 234, 235, 236, 237)을 포함한다. 각각의 구조 블록은 노브 커넥터 및 상술된 안티노브 리셉터를 포함한다. 구조 블록(232, 233, 236)은 그 측면뿐 아니라 그 상측에 노브 커넥터를 포함한다. 특히, 구조 블록(232)은 그 측면에 노브(238)를 포함하지만, 구조 블록(233)은 그 측면에 노브(239)를 포함하고, 구조 블록(236)은 그 측면에 노브(240)를 포함한다.
도2d의 예에서, 구조 블록의 치수로 인해, 그 노브 및 이에 따라 대응하는 연결 지점은 규칙적인 격자를 형성하지 않는다. 결과적으로, 만약 구조 블록이 십자형(242, 243, 244)에 의해 표시된 바와 같이 그 연결 지점에 점선(241)에 의해 표시된 위치에 위치되려 하면, 유효 연결이 불가능하다. 본 발명에 따른 방법이 이런 유형의 상황을 검출하는 방법이 이후 설명된다.
도3은 구조 블록 및 그 대응 연결 격자의 사시도를 도시한다. 그 구조 블록(301)은 8개의 노브(303a 내지 303h)를 가진 상부면(302), (도시되지 않은) 대응 구멍을 가진 바닥면 및 측면(304)을 갖는다. 도3에서, 상부면과 하부면 각각의 연결 격자(305, 306)를 도시한다. 그 연결 지점은 원(307a 내지 307k)에 의해 예시화된 원에 의해 도시된다. 따라서, 연결 지점(307a 내지 307h)은 각각 노브(303a 내지 303h)에 상응한다. 측면(304)은 임의 연결 요소를 갖지 않고, 어떤 연결 격자도 그를 위해 한정될 필요가 없다. 다른 실시예에서, 빈 리셉터만을 포함하는 연결 격자는 측면용으로 한정될 수 있다.
도3에 도시된 바와 같이, 규칙적 격자에 위치된 연결 지점에 의해 구조 블록의 연결 요소의 표현은 물리적 구조 블록에 연결 요소의 물리적 배치에 소정의 구속을 부과한다.
격자(305)는 노브(303)가 확장된 구조 블록의 상부면의 평면에 위치된다.
도3의 예에서, 격자점은 각각의 정방형이 임의 길이 유닛(LU)의 5x5 유닛의 치수를 가진 정방형 격자에 배치된다. 따라서, 이러한 기하학적 형상에서, 연결 요소는 또한 대응하는 정방형 격자 위에 위치되고, 구조 블록의 평면에 연결 요소 사이의 거리는 10LU의 배수이다. 도3의 예에서, 구조 블록의 상하부면은 장방형이고 20LU x 40LU의 치수를 갖고, 인접 연결 요소는 10LU만큼 이격된다.
다른 한편, 수직 방향으로 연결 요소는 12LU만큼 이격된다. 따라서, 상이한 치수의 격자 치수는 변할 수 있어서, 잠재적으로 도2d 위에 도시된 바와 같은 상황을 야기한다.
연결 지점의 위치는 구조 블록의 내부 좌표계(308)에 대해 한정된다.
도4는 도3의 구조 블록의 평면도를 도시한다. 연결 격자(305)는 격자점을 포함하여 도시된다. 도3의 예에서 격자점의 방향은 도면의 평면 밖으로 지향된다.
일 실시예에서, 연결 지점의 격자를 표현하는 데이터 구조는 각각의 연결 지점에 대하여 좌표 시스템(308)에 대한 연결 지점의 좌표, 연결 요소의 방향 및 연결 유형을 포함한다.
새로운 구조 블록을 고안할 때, 구조 블록의 디지털 표현이 생성되는 것이 요구된다. 도4의 예에서의 벽돌은 상부면에 45 연결 지점 및 바닥면에 45 연결 지점을 포함한다. 각각의 연결 지점의 경우 상기 수치를 특정화하는 것은 시간 소모적이고 실수하기 쉬운 태스크이다.
그러나, 많은 유형의 구조 블록에서, 연결 지점은 규칙적인 구조로 위치되고, 따라서 장점적으로 자동화된 데이터 생성을 허용한다. 도4의 예에서, 연결 지점의 좌표는 반복적으로 결정될 수 있고, 연결 요소의 방향은 격자의 모든 연결 지점과 동일하다.
따라서, 양호한 실시예에서, 연결 지점의 격자를 표현하는 데이터 구조는,
- 좌표계(308)에 대해 격자점(401)의 좌표. 이에 따라 도4에서, 격자점(401)의 LUs의 좌표는 P0=(-5, 12, -15).
- 연결 요소의 방향, 즉, 도4의 예에서 (0, 1, 0), 즉, 좌표계(308)의 y축의 방향.
- x 및 z 방향의 격자점의 수, 즉, 도4의 예에서 각각 nx=9 및 nz=5.
- 대응하는 연결 지점의 연결 특성을 각각 포함하는 5x9 데이터 구조의 어레이를 포함한다. 이러한 어레이의 예는 후술된다.
도4의 예에서, 각각의 연결 지점의 좌표는 i=0,...,4, j=0,...,8(LUs에서)의 경우 P0+(5i,0,5j)로서 표현된다.
연결 지점의 특성은 그 후 i와 j로 인덱스된 2차원 어레이(C)로 표현될 수 있고, 여기서 C[0,0]는 연결 지점(401)에 상응하고, C[i,j]는 좌표 P0+(5i,0,5j)를 가진 연결 지점에 상응한다.
다른 실시예에서, 연결 격자의 평면에서 2차원 좌표계가 한정될 수 있다. 도4에서, 이는 좌표계(402)로 도시된다. 2차원 좌표계는 그 후 그 원점(401)의 좌표 및 구조 블록의 내부 좌표계(308)에 대한 회전 매트릭스에 의해 표현될 수 있다.
도5a 및 도5b는 본 발명의 실시예에 따른 연결 지점을 표현하는 데이터 구조의 예를 도시한다.
도5a는 도4의 구조 블록의 상부 격자의 연결 지점을 나타내는 데이터 구조를 도시한다. 데이터 구조는 상술된 2차원 어레이 C[i,j]에 상응한다. 각각의 어레이 요소는 연결 유형에 상응한다. 예를 들어, 노브(예컨대, 도4의 노브(303))는 C[i,j]=K로 표현되고, 두 개의 노브(예컨대, 도4의 갭(404)) 사이의 갭은 "이중 에지 갭"으로 언급되고 C[i,j]=2EG로 표현되고, 4개의 노브(예컨대, 도4의 갭(405))의 중심의 갭은 "튜브 갭"으로 언급되고 C[i,j]=TG로 표현된다. 노브는 구조 블록의 리셉터, 예컨대 도2b에 도시된 구멍(212)에 의해 수용될 수 있다. 에지 갭은 도2c에 도시된 에지 또는 도2b에 도시된 에지(211)를 수용할 수 있는 리셉터이다. 튜브 갭은 다른 커넥터, 예컨대 노브 또는 적절한 크기의 튜브를 수용할 수 있는 리셉터이다.
구조 블록의 경계에 다른 연결 유형이 발생된다. 코너(예컨대, 도4의 코너(401))는 C[i,j]=1/4TG로 표현되고, 그들은 4개의 인접부로부터 단지 하나를 가진 튜브 갭에 상응한다. 유사하게, C[i,j]=1/2TG는, 예컨대 도4의 연결 지점(406)을 둘러싸는 4개의 노브로부터 2개를 갖는 튜브 갭을 표현한다. 최종적으로, C[i,j]=EG는 단지 하나의 인접한 노브, 예컨대 도4의 연결 지점(407)을 가진 에지 갭에 상응한다.
도4에 도시된 바와 같지만 상이한 수의 노브를 갖는 건축 블록은 도5a에 도시된 바와 유사한 연결 어레이에 상응한다. 따라서, 이러한 유형의 건축 블록을 표현하는 데이터 구조는 건축 블록의 치수를 특정함으로써 자동적으로 생성될 수 있다.
일반적으로, 규칙적 기하학을 가진 구조 요소의 경우, 다수의 상이한 유형의 연결 어레이가, 예컨대 도3의 구조 블록으로 규칙적 구조 블록의 상부, 측면 및 바닥면의 어레이 유형으로 한정될 수 있다는 것을 이해해야 한다. 이러한 어레이 유형의 예는 그 후 유사한 구조 요소의 다양한 상이한 유형 및 크기로 자동적으로 생성될 수 있다. 따라서, 매우 다양한 구조 블록을 표현하는 데이터 구조가 효율적 방식으로 생성될 수 있는 장점이 있다.
도5b는 도2b에 도시된 구조 블록의 바닥면에 상응하는 연결 어레이를 도시한다. 여기서 C[i,j]=EC는 에지 코너에 상응하고, 예컨대 도2b의 코너(217)는 C[0,0]=EC에 상응한다. 더욱이, C[i,j]=E는 도2b의 에지(214)와 같은 "에지"에 상응한다. C[i,j]=3/4EC는 도2b의 코너(216)에 의해 도시된 코너에 상응한다. C[i,j]=AK는 "안티노브", 즉 노브를 수용하기 위한 구멍(212)에 상응하지만, C[i,j]=SP는 "2차 핀"(215)에 상응한다.
도5a 및 도5b의 연결 유형이 연결 요소의 실제 물리적 기능을 표시하는 연상 기호에 의해 표현되더라도 연결 유형은 다른 적절한 수단, 예컨대 연결 유형, 비트 코딩 등을 계산함으로써 코드화될 수 있다.
일반적으로, 연결 유형은 연결 카테고리 및 인자를 포함할 수 있다. 예를 들어, 연결 카테고리 튜브 갭(αTG)은 α=1/4, 1/2, 3/4, 1이다.
상이한 연결 유형의 연결 특성은 상응하는 연결 표에서 한정된다. 연결 표는 각각의 쌍의 연결 유형의 경우 연결 특성을 나타낸다. 바람직하게는, 연결 표는 적절한 데이터 구조에서 순람 표로서 저장된다. 이러한 연결 표의 실시예가 표 1에 도시된다.
K SP E αEC VC αAK αTG αEG VR Tu
K F
SP F V
E F V V
αEC F V V V
VC F V V V V
αAK T V V V V V
αTG F V V V V V V
αEG F V 만약α=2면,V만약α=1이면, T F V V V V
VR V V V V V V V V V
Tu T V V V V V T F V V
따라서, 표 1의 각각의 분야는 상응하는 두 개의 연결 유형의 연결을 나타낸다.
표 1의 약어형의 연결 유형은,
K: 노브, 예컨대 도1a 내지 도1e의 노브(102), 즉 원형 요소.
SP: 2차 핀, 예컨대 도2b의 2차 핀(215), 즉 작은 노브.
E: 에지, 예컨대 도2b의 에지(214), 요소의 외부 에지.
αEC: 인자(α)를 가진 에지 코너. 3/4EC는 도2b의 코너(216)에 의해 도시된 바와 같은 코너에 상응한다.
VC: 빈 커넥터, 즉 대부분의 다른 요소를 반발하지 않고 다른 요소와 연결되지 않는 구조 블록의 일부, 예컨대 완만한 표면. 빈 커넥터는 노브를 반발하지 않지만, 다른 리셉터 또는 커넥터와 상호반응하지 않는다.
αAK: 인자(α)를 가진 안티노브, 예컨대 도2b의 안티노브(215), 즉 노브가 끼워지는 불규칙 형상의 구멍.
αTG: 인자(α)를 가진 튜브 갭, 예컨대 도4는 α=1, 즉 튜브가 끼워질 수 있는 4개의 인접 노브 사이의 영역을 가진 튜브 갭(405)을 도시한다.
αEG: 인자(α)를 가진 에지 갭, 예컨대 α=2를 가진 이중 에지 갭 및 α=1을 가진 에지 갭(407), 즉 두 개의 인접한 노브 사이 또는 노브와 에지 사이의 갭.
VR: 빈 리셉터, 즉 임의 다른 요소를 반발하거나 연결하지 않는 구조 블록의 일부.
Tu: 튜브, 노브에 대해 리셉터일 수 있고 4개의 인접한 노브, 즉 튜브 갭 사이에 웨지될 수 있는 커넥터일 수 있는 원형 튜브.
표 1에서, 상기 연결 유형의 연결성은 다음에 표시된다.
- T: 튜브, 즉 연결이 유효하고 그 상응하는 연결 요소는 두 개의 구조 블록을 연결하도록 결합된다.
- F: 거짓, 즉 연결이 이 위치에 허용되지 않음.
- V: 빈 또는 중립, 즉 연결을 방지할 것이 없지만 실제 연결할 것도 없음.
예를 들어, 표 1에 따르면, 이중 에지 갭(α=2를 가진 αEG)은 에지(E)와 빈 연결을 제공하지만, 에지 갭, 즉 α=1을 가진 αEG는 실제로 에지(E)와 연결되고, 즉 이 경우에 연결성은 사실(T)이다.
표 1의 연결 표가 대각선을 따라 대칭적이라는 것을 알아야 한다.
또한, 상기 표는 각각의 존재하는 연결 유형을 가진 새로운 연결 유형의 상응하는 연결성을 가진 상응하는 행과 열을 추가함으로써 새로운 연결 유형을 포함하도록 용이하게 확장될 수 있다는 것을 알아야 한다.
도6은 에지 대 에지 연장으로 두 개의 구조 요소의 평면도를 도시한다. 도6의 예에서, 두 개의 구조 블록(601, 602)은 에지 대 에지 연장으로 위치되고, 즉 그 상부면은 동일 평면에 위치되고 그 각각의 연결 지점의 부분은 점선(603)에 의해 표시된 것과 일치한다. 도6의 예에서, 각각의 구조 블록(601, 602)은 도3 및 도4에 도시된 유형으로 가정한다.
두 개의 구조 블록을 에지 대 에지 연장부에 위치시킴으로써, 영역(603)에 중첩 연결 지점의 유효 연결 유형은 변경된다. 예를 들어, 연결 지점(605)은 구조 블록(601)의 유형 1/4TG 및 구조 블록(602)의 유형 1/2TG의 연결 지점에 상응한다. 그러나, 도6의 에지 대 에지 연결부에 위치될 때, 결합된 연결 지점(605)은 유형 3/4TG이다. 유사하게, 연결 지점(606)은 각각의 구조 블록(601, 602)의 유형 EG이지만, 결합된 구조 블록에서 유형 1/2TG이다. 최종적으로, 연결 지점(607)은 각각의 구조 블록(601, 602)의 유형 1/2TG이지만, 결합된 구조 블록의 유형 TG이다.
따라서, 일반적으로 연결 요소의 연결 특성은 다른 구조 요소와 관련하여 그 상응하는 연결 요소의 위치에 의존하여 변할 수 있다.
본 발명에 따르면, 이 상황은 중첩 연결 지점의 결합되거나 합성 연결 유형을 설명하는 결합 표를 한정함으로써 모델링될 수 있다. 표 2는 상술된 연결 유형의 결합을 나타내는 결합 테이블의 예이다. 바람직하게는, 결합 표는 적절한 데이터 구조의 순람 표로 저장된다.
K SP E αEC VC αAK αTG αEG VR Tu
K F
SP F F
E F F 2E
βEC F F (β+2)EC (α+β)EC
VC F F VC VC VC
βAK T F F F F (α+β)AK
βTG F F F F (β+1)TG F (α+β)TG
βEG F F F F (β+1)EG (β+1)EG (β+1)EG (α+β)EG
VR S SP E αEC VC αAK αTG αEG VR
Tu T F F F F F F F F F
표 2에서, 각각의 분야는 결합된 연결 유형을 포함한다. 만약 두 개의 연결 유형의 결합이 임의 다른 연결 유형에 연결되는 연결 유형을 생산하지 않으면, 그 표의 입구는 F이다.
예를 들어, 에지 갭(βEG)이 빈 커넥터(VC)에 근접하여 위치될 때, 예컨대 빈 표면, 그 합성 연결 요소는 더 넓은 갭으로 고려될 수 있다. 표 2에서, 이는 (β+1)EG에 의해 근사된다.
전술된 결합 표는 두 개 이상의 연결 요소, 예를 들어 세 개 또는 네 개 구조 블록의 코너가 결합되는 상황에서 합성 연결 유형을 결정하도록 사용될 수 있다는 것이 또한 이해된다. 이 상황에서, 예컨대 세 개의 연결 요소에 대한 합성 연결 유형은 두 개의 결합된 연결 요소에 대해 제1 합성 연결 유형을 먼저 결정하고, 이어서 제1 합성 연결 유형과 제3 연결 요소의 연결 유형의 결합의 제2 합성 연결 유형을 결정함으로써 결정될 수 있다.
상기 표는 또한 각각의 현존하는 연결 유형을 가진 새로운 연결 유형의 조합으로부터 나온 그 상응하는 합성 연결 유형을 상응하는 행과 열에 추가함으로써 새로운 연결을 포함하도록 용이하게 확장될 수 있다는 것을 알아야 한다.
따라서, 상기에서, 연결 유형을 결합하는 방법에 대한 효율적이고 확장가능한 표현의 법칙뿐 아니라 구조 블록의 연결 특성의 효율적이고 확장가능한 표현에 대한 데이터 구조가 개시된다.
도7은 구조 블록의 두 개의 연결된 그룹을 포함하는 기하학적 물체의 사시도를 도시한다. 이 기하학적 물체는 5개의 요소(701, 702, 703, 704, 705)를 포함한다. 도7의 예에서, 기하학적 물체는 두 개 그룹의 구조 블록을 포함한다. 제1 그룹의 구조 블록은 구조 블록(701, 702, 703)을 포함하지만, 2차 그룹은 구조 블록(704, 705)을 포함한다. 이 예에서 구조 블록(701, 704)은, 예컨대 단일 노브-상술된 안티노브 연결 또는 예컨대 힌지 연결, 공통선에 두 개 이상의 노브-안티노브 연결, 서로에 대해 구조 블록이 회전되는 것을 방지하는 연결의 임의 다른 방법에 의해 회전식으로 연결된다. 따라서, 도7의 기하하적 물체는 기하학적 물체 내에 주어진 위치 및 방향 제한에 반드시 구속되지 않는 구조 블록의 예이다. 이러한 연결의 다른 예는 연결된 구조 블록의 상대적 병진을 허용하는 구조 블록 사이의 연결을 포함한다. 따라서, 이러한 그룹의 구조 블록은 분리된 좌표계에 의해 설명되는 것이 요구될 수 있고, 이는 격자 시스템(706, 707)에 의해 도시된다.
도8은 기하하적 물체의 컴퓨터 판독가능 모델을 생성하는 컴퓨터 실행 방법의 일부로서 구조 요소를 위치시키는 방법의 흐름도를 도시한다.
초기 단계(801)에서, 구조 요소는 소정의 초기 위치에 위치된다. 구조 요소는 상술된 바와 같이 데이터 구조에 의해 표현되고, 그 위치 및 구조 요소의 방향은 적절한 좌표계, 예컨대 3차원 우선회의 "월드" 또는 기준 좌표계에 대해 구조 요소의 내부 좌표계의 위치 및 방향을 설명하는 적절한 좌표에 의해 설명된다.
따라서, 소정의 환경의 경우, 예컨대 스크린, 기하하적 물체 등의 경우, 그 방법이 생성되고 데이터 구조의 세트를 유지시키고, 구조 블록을 표현하는 각각은 그 환경에 위치된다. 새로운 구조 요소를 그 환경 내에 위치시키는 것은 데이터 세트의 일부로서 상응하는 데이터 구조의 새로운 예를 생성하는 것에 상응한다.
구조 요소의 위치는, 예컨대 기하학적 물체의 디지털 모델을 구성하는 상호 반응 처리 중에 사용자 명령에 의해 야기될 수 있다. 예를 들어, 컴퓨터는 사용자가 상이한 구조 요소, 예컨대 상이한 유형, 형상, 크기, 색상 등의 구조 요소를 선택하고 선택된 구조 요소를 소정의 위치 및 컴퓨터의 디스플레이 상에 표현된 3차원 그래픽 화상의 방향에 위치시키도록 허용하는 사용자 인터페이스를 제공할 수 있다. 예를 들어, 사용자 인터페이스는 예컨대 구조 요소를 회전시키고, 조작하기 위한 작업뿐 아니라 구조 요소를 위치시키기 위한 드래그 앤 드롭 작동을 제공할 수 있다.
일 실시예에서, 구조 요소의 위치는, 예컨대 모든 거리가 임의 길이 유닛(LU)의 베수와 같이 측정된 시스템에서, 예컨대 소정의 격자 상에 분리된 위치에 제한될 수 있고, 그 기준 격자의 격자점은 1LU만큼 이격될 수 있다.
단계(802)에서, 컴퓨터 실행되는 처리는 단계(801)에 위치된 구조 요소가 화상에 이미 존재하는 임의 다른 구조 요소, 예컨대 사용자에 의해 이전에 위치된 구조 요소와 교차하는 경우를 검출한다. 이 충돌 검출은 임의 적절한 충돌 검출 방법, 바람직하게는 구조 요소의 경계 체적에 기초한 충돌 검출 방법에 의해 형성될 수 있다. 이러한 알고리즘의 예는 예컨대 참고문헌[데이비드 에이치. 에벌리(David H. Eberly: "3D 게임 엔진 디자인(3D Game Engine Design)", 모건 카우프만(Morgan Kaufmann), 2001]에 개시된다.
충돌 검출은 구조 요소가 위치된 위치가 다른 구조 요소에 의해 이미 점유되는 결과를 가져올 수 있다. 이 상황은 소정의 한계치보다 큰 경계 체적의 교차를 검출함으로써 검출될 수 있다. 만약 무효 교차가 검출되면, 이 위치와 방향에서 구조 요소의 위치는 거절될 수 있다.
만약 무효 교차가 검출되지 않으면, 이 처리는 새롭게 위치된 구조 요소가 다른 구조 요소와 유효하게 교차되는 지에 대해 단계(803)에서 테스트된다. 유효 교차는, 예를 들어 소정의 한계치보다 작은 각각의 경계 체적의 교차부로서 검출될 수 있다.
도1의 실시예에서, 구조 요소의 표현은 두 개의 경계 체적, 즉 연결 요소(도1a)를 구비한 경계 체적 및 구조 요소의 본체를 포함하지만 연결 요소(도1b)를 포함하지 않는 경계 체적을 포함한다. 충돌 검출 단계는 만약 각각의 구조 요소의 연결 요소없이 경계 체적이 중첩되면 무효 충돌을 검출하기 위해 이러한 두 개의 경계 체적이 사용될 수 있다. 만약 연결 요소를 포함하는 경계 체적이 중첩되지만 연결 요소가 없는 경계 체적이 아니거나 또는 임의 경계 체적의 임의 표면이 교차하지만 경계 체적이 중첩하지 않으면 유효 중첩이 검출된다.
더욱이, 경계 체적의 축이 동일한 기준 좌표계에 상응하도록 경계 체적이 배향되는 지가 검출된다.
만약 유효 충돌이 검출되지 않으면, 그 처리는 임의 적절한 단계에 따라 수행될 수 있다. 임의 실시예에서, 새로운 구조 요소를 임의 이전의 구조 요소에 연결 없이 빈곳에 위치시키는 것이 허용될 수 있고, 임의 실시예에서, 이는 다른 구조 요소가 그 화면에서 이미 존재하지 않으면 허용될 수 있다. 또 다른 실시예에서, 이는 거절될 수 있다. 예를 들어, 일 실시예에서, 사용자 위치된 구조 요소없이 초기 화면은 디폴트 구조 요소, 예컨대 그라운드 판의 상부에 구조 요소를 위치시키기 위한 연결 요소를 구비한 지지판을 포함할 수 있다.
만약 새롭게 위치된 구조 요소와 하나 이상의 다른 구조 요소 사이의 유효 충돌이 단계(803)에서 검출되면, 그 처리는 단계(804)에서 계속되고, 새롭게 위치된 구조 요소가 유효하게 교차된 구조 요소에 유효적으로 연결될 수 있는지를 점검한다. 이러한 연결성 검출 하위 처리의 바람직한 실시예는 이후 상세히 설명된다. 이 연결성 검출은 만약 교차하는 구조 요소에 유효하게 연결되면 구조 요소의 위치의 허용을 가져오거나 또는 교차하는 구조 요소의 임의 하나와 유효하게 연결되지 않으면 거절을 가져올 수 있다.
일단 구조 요소의 위치가 허용되거나 또는 거절되면, 그 처리는 사용자 행동에 의해, 예컨대 교차 위치 및/또는 방향으로 그 거절된 구조 요소를 대체함으로써, 그 화면 등에 다른 구조 요소를 위치시킴으로써 다시 초기화될 수 있다.
도9는 본 발명의 실시예에 따른 제1 디지털 구조 요소를 다른 제2 디지털 검출 요소를 연결하는 하위 처리(804)의 흐름도를 도시한다. 예를 들어, 제1 구조 요소는 새롭게 위치된 벽돌일 수 있고 제2 구조 요소는 벽돌의 이전 구조된 구조일 수 있고, 여기서 검출 알고리즘은 새롭게 위치된 벽돌과 제2 구조 요소 사이에 교차를 검출한다.
다음에, 그 초기 위치에, 그 구조 요소는 그 경계 체적의 주축이 우선회 직교 월드 좌표계의 x, y, z축에 상응하도록 배향된다.
본 실시예에서, 연결 요소 그 자체가 특성 및 형상에서 상이할 수 있지만 건설 요소에 연결 요소를 위치시키기 위한 다수의 소정의 법칙이 부여되는 것을 더 가정한다.
연결 요소의 위치에 대한 가정은, 각각의 구조 요소의 경우, 동일한 수평면의 모든 연결 요소의 축은 인접 세그먼트 사이의 고정된 거리로 직교 격자의 세그먼트에 상응한다.
수평 및 수직면의 연결 요소의 축 사이의 거리는 동일할 필요가 없다.
초기 단계(902)에서, 제1 구조 요소 및 제2 구조 요소의 모든 연결 지점은 그 검출된 교차부에 속한다. 이미 연결되지 않은 이러한 연결 지점은 고려될 필요가 있고, 이러한 연결 지점은 관련 연결 지점으로 언급된다.
단계(903)에서, 제1 구조 요소의 제1 관련 연결 지점이 선택된다. 이는 임의 선택된 연결 지점, 사용자 등에 의해 선택된 연결 지점일 수 있다.
단계(904)에서, 제1 구조 요소의 선택된 연결 지점의 경우, 그 처리는 선택된 연결 지점과 동일한 좌표를 가진 제2 구조 요소의 임의의 관련 연결 지점이 있는지를 점검한다. 일 실시예에서, 구조 요소가 분리 체적 기준 격자에 위치되고 모든 좌표가 임의 길이 유닛의 배수인 경우, 좌표의 정확한 일치가 요구될 수 있다. 연속적으로, 또는 준 연속적 기준 좌표계에서, 격자점은 소정의 한계치 내에 일치하는 것이 요구될 수 있다.
만약 이러한 일치된 연결 지점이 발견되지 않으면, 그 처리는 단계(914)에서 연속된다.
단계(914)에서, 선택된 연결 지점의 소정의 인접부 내에 관련 연결 지점의 임의 다른 것이 있는지가 검출된다. 도9의 일 실시예에서, 이 실시예에서 두 개의 인접한 연결 요소 사이의 거리가 10LU이기 때문에, 소정의 인접부는 (x,y,z)에서 선택된 연결 지점 주위에 큐브(x±5LU, y±5LU, z±5LU)에 상응한다. 만약 선택된 연결 지점의 소정의 인접부 내에 임의 다른 관련 연결 지점이 있다면, 두 개의 구조 요소의 연결은 거절되고(단계(911)) 그 알고리즘이 종료된다. 따라서, 본 실시예에서 연결 지점이 규칙적 격자로 위치될 때, 구조 요소의 무효 위치는 효율적으로 검출될 수 있다. 만약 선택된 구조 요소의 관련 연결 지점과의 불일치가 제1 구조 요소의 하나의 관련 연결 지점에 대해 발견되면, 제1 구조 요소의 잔류 연결 지점은 점검되는 것이 요구되지 않아서, 검출 처리 속도를 증가시킨다. 상기 테스트는 노브(239)에 상응하는 연결 지점이 규칙적인 격자에 대해 잘못 위치될 때 도2d에 표시된 연결이 거절되는 것을 보증한다. 도2d의 예에서, 연결 지점(243)은 높이의 사소한 차이로 인해, 경계 체적의 교차에 속하지 않는, 즉 벽돌(241, 236) 사이의 접촉이 없기 때문에 충돌을 야기하지 않는다.
만약 관련 연결 지점의 충돌이 단계(914)에서 발견되지 않으면, 그 처리는 단계(909)에서 계속된다.
만약 일치 연결 지점이 단계(904)에서 발견되면, 그 처리는 단계(905)에서 계속되고, 여기서 상술된 바와 같이 (x,y,z)에서 선택된 연결 지점 주위에 큐브(x±5LU, y±5LU, z±5LU)에서 본 실시예에서 선택된 연결 지점의 소정의 인접부 내에 임의 다른 관련 연결 지점이 있는지가 검출된다. 만약 다른 연결 지점이 소정의 인접부에서 발견되면, 그 위치는 거절된다(단계(911)). 그렇지 않으면, 이 처리는 단계(906)에서 계속된다.
다른 실시예에서, 상기 제한이 바람직하지 않을 수 있다. 더욱이, 또 다른 실시예에서, 상기 제한은 임의 연결 유형, 예컨대 "빈"것과 상이한 모든 연결 유형의 상기 예로 제한될 수 있다.
단계(906)에서, 이 처리는 선택된 연결 지점 및 그 선택된 일치 연결 지점이 대향 방향을 갖는지, 즉 만약 그 관련된 방향이 공통 선을 따르지만, 그 대향 방향인 지를 검출한다. 따라서, 결합하기에 적절한 상대적 배향으로 위치된 연결 요소만이 허용된다.
다른 실시예에서, 이 제한은, 예컨대 연결 요소가 일정 범위의 배향을 허용하는 실시예에서 배향의 범위를 허용함으로써 완화될 수 있다는 것을 알아야 한다.
만약 연결 지점의 상대적 방향이 허용되면, 그 처리는 단계(907)에서 계속되고, 그렇지 않으면 그 위치는 거절된다(단계(911)).
단계(907)에서, 선택된 연결 지점 및 그 상응하는 검출된 일치 연결 지점의 연결 유형은 저장된 연결 표(913), 예컨대 상기 표 1에 따른 연결 표로부터 연결 유형의 상응하는 쌍의 연결성 법칙을 검색함으로써 비교된다. 본 실시예에서, 이 연결성은 표 1과 관련하여 설명된 바와 같이 진실, 거짓 또는 빈 것일 수 있다.
후속 단계(908)에서, 연결성 결과가 "거짓", 즉 상응하는 연결 유형 사이에 어떤 빈 연결도 가능하지 않은 지가 테스트된다. 만약 연결성 결과가 "거짓"이면, 제1 구조 요소의 위치는 거절되고(단계(911)), 그렇지 않으면 연결성 결과는 저장되고 그 처리는 단계(909)로 진행된다.
단계(909)에서, 제1 구조 요소의 모든 관련 연결 지점이 처리되는지가 테스트된다. 만약 그렇지 않다면, 처리되지 않은 관련 연결 지점은 선택되고(단계(912)) 새롭게 선택된 연결 지점으로 상기 단계(904, 905, 906, 907, 908)를 수행함으로써 처리된다.
만약 제1 구조 요소의 모든 관련 연결 지점이 처리되고 그 위치가 거절되지 않으면, 그 위치는 허용되고 그 처리는 단계(910)에서 계속된다. 단계(910)에서, 저장된 연속성 결과를 기초로 구조 요소가 연결되는 방법 및 그 각각의 데이터 구조가 이에 따라 업데이트되는 방법이 결정된다. 이는 도10과 관련하여 후에 상세히 설명된다. 일단 데이터 구조가 업데이트되면, 그 하위 처리는 종료되고 도8의 전체 처리로 복귀된다.
도10은 연결된 구조 요소를 표현하는 데이터 구조를 업데이트 하는 하위 처리(910)의 실시예의 흐름도를 도시한다. 이 업데이트는 제1 및 제2 구조 요소의 경계 체적의 교차의 모든 관련 연결 지점에 대해 결정된 연결성 결과를 기초로 한다.
먼저, 단계(1001)에서, 모든 연결성 결과가 "빈 것"인지가 점검된다. 만약, 예이면, 즉 어떤 것도 구조 요소의 위치를 방지하지 않지만, 어떤 연결 요소가 구조 요소를 연결하도록 실제 결합되지 않으면, 새로운 구조 요소는 그 현재 위치에 허용된다.
이 적용예에 의존해서, 제1 및 제2 구조 요소의 데이터 구조가 업데이트될 수 있다. 바람직하게는, 구조 요소가 실제 연결되지 않기 때문에, 제1 구조 요소는 결합된 경계 체적 등을 가진 결합된 구조 요소에 제2 구조 요소와 결합되지 않는다.
일 실시예에서, 추가 알고리즘은, 예컨대 이 위치에 위치된 물리적 구조 블록이 파괴되고, 경사지는 등에 대해 경계 체적을 기초로 결정되고 이에 따라 그 위치를 허용하거나 거절할 수 있다.
그렇지 않으면, 즉 만약 하나 이상의 연결성 결과가 사실이면, 그 처리는 단계(1002)로 진행하고, 여기서 그 처리는 그 구조 요소가 연결되는 방법, 즉 연결이 상대적 회전, 병진 및/또는 등에 대해 허용되는지 또는 그들이 강하게 연결되는 지가 결정된다.
도1a 내지 도1e의 실시예에서, 만약 정확한 하나의 연결 결과가 사실이고 모든 다른 것이 빈 것이면, 회전 및/또는 병진은 연결 유형에 의존하여 가능하다. 더욱이, 만약 하나 이상의 연결 결과가 사실이고 그 상응하는 연결 지점 모두 공통 선 위에 놓이면, 회전 및/또는 병진이 가능할 수 있다.
만약 비강성 연결이 검출되면, 그 처리는 단계(1005)에서 계속되고, 여기서 제1 및 제2 구조 요소는 각각의 그룹으로 할당되고, 각각은 각각의 기준 좌표계, 경계 체적 등을 갖고, 이에 따라 상대적 위치와 상이한 모델 및/또는 구조 요소의 그룹의 배향을 허용한다. 이러한 상황의 예는 상기 도7과 관련되어 도시된다.
따라서, 구조 요소의 연결된 구조는 구조 요소의 다수의 그룹을 포함하는 데이터 구조에 의해 설명될 수 있다. 일 그룹은 모든 구조 요소의 모든 연결 지점이 동일한 직각 격자의 격자점인 방식으로 모든 구조 요소가 강하게 연결되는 구조이다. 각각의 구조 요소 그룹은 그 그룹이 공통 직교 좌표계(격자), 경계 체적 및 그 그룹의 구조 요소의 연결성 격자를 결정하는 하나 이상의 구조 요소를 포함한다.
만약 강성 연결이 단계(1002)에서 검출되면, 그 처리는 단계(1003)에서 계속된다. 상기 도6과 관련하여 설명된 바와 같이, 제1 및 제2 구조 요소의 하나 이상의 연결성 지점은 그 연결로 인해 그 연결성 유형을 변화시킨다. 따라서, 단계(1003)에서, 제1 및 제2 구조 요소의 연결 지점은 동일한 위치 및 동일한 방향을 가진 것이 검출된다. 이러한 결합된 연결 지점에 대해 합성 연결 유형은 저장된 결합 표(1006)에서 순람되고, 이는 상기 표 2와 관련하여 설명된다.
최종적으로, 단계(1004)에서, 제2 구조 요소의 데이터 구조는 제1 구조 요소로부터의 정보로 업데이트되고, 즉 제2 구조 요소의 경계 체적은 제1 및 제2 구조 요소의 경계 체적의 일체가 되도록 업데이트되고, 연결성 격자는 제1 구조 요소 등의 연결 지점을 포함하도록 또한 업데이트된다.
도8, 도9 및 도10의 처리를 반복함으로써, 복수의 구조 요소는 기하학적 물체의 디지털 모델을 형성하도록 결합될 수 있다. 따라서, 상기에서, 기하학적 물체의 디지털 모델을 생성하는 방법이 개시된다.
본 발명의 범위 내에서 당업자는 상기 방법의 변형을 실행할 수 있다고 이해된다. 예를 들어, 상기 단계 중 몇몇 순서는 변경될 수 있고, 단계들이 결합될 수 있다.
더욱이, 부정확한 위치로 인해 새로운 구조 요소의 위치의 거절은, 즉 동일 위치에 어떤 연결 지점도 발견되지 않거나 또는 연결 지점이 정확하게 반대 방향을 갖지 않기 때문에, 단순한 거절보다 다른 처리로 이끌리게 된다. 일 실시예에서 가정 인접 위치 또는 작은 변위는 허용가능한 위치가 달성될 수 있는지를 결정하도록 분석될 수 있다. 이는 구조 요소가 소정의 한계치 내에서 허용가능한 위치를 제공하는 최근접 위치로 스냅되는 결과를 가져올 수 있다.
더욱이, 추가 제한이 부과될 수 있거나 다른 제한이 어느 정도의 자유도 및 이에 따라 복합적인 모델링 시스템을 제공하도록 완화될 수 있다.
구조 요소가 구조로부터 제거될 때, 예컨대 상응하는 사용자 명령과 반응해서, 그 데이터 구조는 결합된 데이터 구조로부터 제거된다. 일 실시예에서, 이는 잔류 구조 요소의 결합된 데이터 구조를 재계산함으로써 실행될 수 있다.
도11은 본 발명의 실시예에 따른 기하학적 물체의 컴퓨터 판독가능한 모델을 생성하는 데이터 처리 시스템을 도시한다.
고안된 컴퓨터 시스템(1101)은 고안, 저장, 조작 및 본 발명에 따른 기하학적 구조의 공유를 용이하게 하도록 형성된다. 컴퓨터 시스템(1101)은 클라이언트/서버 시스템의 클라이언트로서 또는 독립형 시스템으로 사용될 수 있다. 컴퓨터는 휘발성과 비휘발성 메모리 수단, 예컨대 하드 디스크와 랜덤 액세스 메모리(RAM)로서 부분적으로 실행되는 메모리(1102)를 포함한다. 메모리는 모델 코드 해석기(1107), 모델 코드 생성기(1108), UI 이벤트 핸들러(1109) 및 중앙 처리 유닛(1103)에 의해 실행가능한 모델링 어플리케이션(1110)을 포함한다. 더욱이, 이 메모리는 모델 데이터(1111)를 포함한다.
코드 해석기(1107)는 본 발명에 따른 모델을 한정하는 코드, 즉 모델의 구조 요소의 데이터 구조를 표현하는 코드를 해석하고 판독하도록 형성된다. 바람직한 실시예에서, 코드 해석기는 본 발명에 따른 모델을 판독하고 이러한 모델을 컴퓨터 디스플레이 상의 표현을 위해 공지된 그래픽 포맷으로 변환시키도록 형성된다. 물체의 모델을 표현하기 위한 상술된 데이터 구조를 기초로, 이 변환은 그래픽 컴퓨팅의 분야에서 공지된 그래픽 원리를 적용함으로써 본 기술분야의 당업자에 의해 실행될 수 있다.
UI 이벤트 핸들러(1109)는 코드 생성기(1108)에 의해 인지가능한 적적한 사용자 명령으로 사용자 인터페이스를 구비한 사용자의 상호반응을 변환하도록 형성된다. 일 세트의 가능하고 인지가능한 명령은, 요소의 라이브러리로부터 구조 요소를 얻고, 다른 구조 요소에 연결되도록 구조 요소를 위치시키고, 구조 요소를 연결해제하고, 구조 요소를 폐기하고, 회전 등을 개시함으로써 구조 요소, 구조 요소 그룹 등을 조작하는 것을 포함할 수 있다. 이러한 각각의 명령과 함께, 각각의 인자, 즉 좌표, 구조 요소 등의 유형의 세트를 관련시킬 수 있다.
코드 생성기(1108)는 사용자 명령과 반응해서 상술된 본 발명에 따른 실제 모델을 설명하는 데이터 구조를 변형하도록 형성된다. 동시 또는 후속 태스크로서, 코드 해석기는 코드 생성기의 결과를 표현하도록 실행될 수 있다.
모델링 어플리케이션(1110)은 메모리, 파일, 사용자 인터페이스 등을 제어하도록 형성된다.
사용자(1105)는 사용자 인터페이스(1106)에 의해 컴퓨터 시스템(1101)과 상호반응할 수 있다.
모델, 기하학적 설명 또는 다른 데이터를 로딩하기 위해, 컴퓨터 시스템은 입력/출력 유닛(I/O)(1104)을 포함한다. 입력/출력 유닛은 상이한 유형의 저장 매체 및 상이한 유형의 컴퓨터 네트워크, 예컨대 인터넷의 인터페이스로 사용될 수 있다. 더욱이, 입력/출력 유닛(I/O)(1104)은 모델을 다른 사용자와 교환하기 위해, 예컨대 상호반응적으로 사용될 수 있다.
메모리(1102), 중앙 처리 유닛(CPU)(1103), 사용자 인터페이스(UI)(1106) 및 입력/출력 유닛(1104) 사이의 데이터 교환은 데이터 버스(1112)에 의해 수행된다.
도12a는 본 발명의 제1 실시예에 따른 상응하는 경계 체적 및 경사진 표면을 구비한 구조 블록, 예컨대 도2a의 구조 블록(202)의 측면도를 도시한다. 구조 블록(202)은 경사진 표면(204)과 구조 블록의 상부에 노브(1201)를 포함한다. 이러한 예에 따르면, 구조 블록(202)의 표현은 경계 체적의 체계를 포함한다. 제1 경계 체적(1202)은 경사진 표면을 포함하지만, 제2 경계 체적(1203)은 서로 직각인 측면을 가진 박스이다. 이 예에 따르면, 두 개의 구조 블록은 단지 경계 체적(1203)이 다른 구조 블록의 상응하는 경계 체적과 교차부를 갖으면 접촉하여 검출된다. 경계 체적(1202)은 가능하게 연결된 구조 블록의 초기 효율적 검출용으로 사용될 수 있다. 구조 블록(202)의 표현은 도1a 및 도1b와 관련되어 설명된 연결 요소를 포함하는 경계 체적과 같이 추가 경계 체적을 포함할 수 있다.
도12b는 본 발명의 제2 실시예에 따른 상응하는 경계 체적 및 경사진 표면을 구비한 구조 블록(202)의 측면도를 도시한다. 상기 예에서, 구조 블록의 표현은 경계 체적의 체계를 포함한다. 그러나, 이 예에 따르면, 경사진 표면을 구비한 경계 체적 대신에, 그 표현은 형상 같은 단계적 기능을 구비한 경계 체적(1204)을 포함하여, 경사진 표면의 접근을 제공한다.
상기 방법 및 시스템은 물리적 모델을 설계하기 위한 컴퓨터 적용예, 예컨대 물리적 구조 요소의 상응하는 세트의 연결 행위를 가상실험하는 컴퓨터 적용예와 관련하여 적용될 수 있다. 예를 들어, 물리적 장난감 구조 세트는 상기 구조 세트의 디지털 버전에 의해 보충될 수 있어서, 사용자, 즉 어린이가 이용가능한 구조 요소의 수를 제한하지 않고 디지털적으로 모델을 설계하게 하고, 이에 따라 흥미로운 놀이 경험용으로 제공된다. 본 발명의 장점은 물리적 구조 세트의 아주 복합적인 연결 특성을 실제적으로 모델링하게 하는 방법 및 시스템을 제공하고 이와 동시에 효율적 모델링 방법을 제공하는 것이다. 결과적으로, 사용자는 구조 요소의 제안된 위치가 구조 세트의 연결 법칙에 상응하는 지를 결정하기 위해 컴퓨터에 대해 기다릴 필요없이 상호반응 디지털 구조 처리를 경험하게 된다.
이 방법은 구조 지시 등을 생성하도록 설계된 모델의 특성을 분석하도록 더 적용될 수 있다. 일반적으로, 이 방법은 컴퓨터 게임 산업 및 소정의 3D 요소가 복수의 연결 법칙에 따라 함께 결합되어야 하는 컴퓨터 그래픽의 다른 영역에 적용될 수 있다.

Claims (17)

  1. 복수의 상호 연결가능한 구조 요소로부터 구성된 기하학적 물체의 컴퓨터 판독가능한 모델을 생성하는 방법이며, 상기 각각의 구조 요소는 구조 요소를 다른 구조 요소와 연결하기 위해 다수의 연결 요소를 구비하며, 상기 방법은,
    복수의 구조 요소 중 제1 및 제2 구조 요소를 상응하는 제1 및 제2 데이터 구조로 인코딩하는 단계와,
    서로 미리 설정된 근접 관계로 위치된 제1 구조 요소의 제1 연결 요소와 제2 구조 요소의 제2 연결 요소를 결정하는 단계와,
    제1 및 제2 연결 요소가 제1 및 제2 구조 요소 사이에 연결을 제공하는지의 여부를 지시하는 제1 및 제2 연결 요소의 상응하는 연결 유형의 연결 정보를 검색하는 단계를 포함하며,
    상기 데이터 구조 각각은 상응하는 구조 요소의 연결 요소를 표현하고, 상기 각각의 연결 요소는 복수의 미리 설정된 연결 유형 중 하나와 관련되는 방법.
  2. 제1항에 있어서, 상기 방법은 연결 유형 쌍의 연결 정보를 포함하는 연결 표를 제공하는 단계를 더 포함하고, 연결 정보를 검색하는 단계는 연결 표로부터 연결 정보를 검색하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 방법은,
    연결 유형 쌍의 미리 설정된 세트 각각에 대해 합성 연결 유형을 포함하는 결합 표를 제공하는 단계와,
    서로에 대해 미리 설정된 기하학적 관계로 위치된 제1 및 제2 연결 요소를 결정하는 단계와,
    결합 표로부터 제1 및 제2 연결 요소의 합성 연결 유형을 검색하는 단계와,
    검색된 합성 연결 유형을 적어도 합성 연결 요소에 할당하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 각각의 개별 데이터 구조는 상응하는 구조 요소에 대해 다수의 격자를 더 표현하고, 각각의 격자는 다수의 격자점을 가지며, 구조 요소의 각각의 연결 요소는 격자점 중 하나와 관련되고 상응하는 연결 유형을 갖는 것을 특징으로 하는 방법.
  5. 제4항에 있어서, 각각의 격자가 적어도 하나의 격자 에지를 구비하며, 상기 방법은,
    연결 유형 각각의 쌍에 대해 합성 연결 유형을 포함하는 결합 표를 제공하는 단계와,
    제1 구조 요소의 제1 격자가 제2 구조 요소의 제2 격자의 에지 대 에지 연장부에 위치되는지를 검출하는 단계와,
    제1 격자의 제1 연결 요소를 위해 제2 격자의 상응하는 제2 연결 요소를 식별하는 단계와,
    상기 결합 표로부터 제1 및 제2 연결 요소의 결합의 합성 연결 유형을 검색하는 단계와,
    상기 검색된 합성 연결 유형을 제1 및 제2 연결 요소에 할당하는 단계를 더 포함하며,
    상기 제1 격자의 제1 에지는 제2 격자의 제2 에지와 정렬되는 것을 특징으로 하는 방법.
  6. 제4항 또는 제5항에 있어서, 각각의 개별 데이터 구조는 상응하는 구조 요소의 경계 체적을 더 표현하고, 각각의 격자는 경계 체적의 표면에 상응하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 방법은,
    공통 체적 기준 격자에 대해 제1 및 제2 구조 요소의 각각의 위치를 인코딩하는 단계와,
    제1 및 제2 격자가 체적 기준 격자의 공통 평면에 상응하는지와 적어도 제1 격자의 제1 격자점이 제2 격자의 제2 격자점과 동일한 기준 격자점에 위치되는지를 검출하는 단계를 더 포함하며,
    상기 상응하는 제1 및 제2 구조 요소의 제1 및 제2 격자는 체적 기준 격자의 각각의 제1 및 제2 평면에 상응하고, 상기 제1 및 제2 격자의 격자점은 체적 기준 격자의 각각의 기준 격자점에 상응하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 방법은,
    제1 및 제2 격자의 격자점을 일치시킨 모든 쌍을 식별하는 단계와,
    격자점의 각각의 식별된 쌍에 대하여 연결 표로부터 연결 정보를 검색하는 단계와,
    만약 적어도 한 쌍의 격자점이 무효 연결에 상응하면 제1 및 제2 구조 요소 사이의 연결을 거절하고, 이와 달리 만약 적어도 한 쌍의 격자점이 유효 연결에 상응하면 제1 및 제2 구조 요소 사이의 연결을 허용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 각각의 연결 요소는 관련된 방향을 더 구비한 것을 특징으로 하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 연결 정보는 미리 설정된 그룹의 연결 유형 중 하나를 지시하는 각 쌍의 연결 유형을 위한 지시기를 포함하고, 그룹은 상응하는 쌍의 연결 요소들 사이의 연결을 제공하는 유효 연결, 상응하는 쌍의 연결 요소들 사이의 연결을 방지하는 무효 연결 및 중립 연결을 구비한 것을 특징으로 하는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 서로 미리 설정된 근접 관계로 위치된 제1 구조 요소의 제1 연결 요소와 제2 구조 요소의 제2 연결 요소를 결정하는 단계는 연결 요소의 미리 설정된 하위 세트로부터 제1 및 제2 연결 요소를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서, 각각의 개별 데이터 구조는 상응하는 구조 요소의 경계 체적을 더 표현하고, 상기 방법은 제1 및 제2 구조 요소의 경계 체적의 교차부를 검출하는 단계를 더 포함하고, 연결 요소의 미리 설정된 하위 세트로부터 제1 및 제2 연결 요소를 결정하는 단계는 결정된 교차부에 포함된 연결 요소로부터 제1 및 제2 연결 요소를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 데이터 처리 시스템이며,
    각각 다른 구조 요소와의 연결을 위한 다수의 연결 요소를 구비한 복수의 상호 연결가능한 구조 요소로부터 구성된 기하학적 물체의 컴퓨터 판독가능한 모델을 생성하는 수단과,
    복수의 구조 요소 중 제1 및 제2 구조 요소를 상응하는 제1 및 제2 데이터 구조로 인코딩하는 수단과,
    서로 미리 설정된 근접 관계로 위치된 제1 구조 요소의 제1 연결 요소와 제2 구조 요소의 제2 연결 요소를 결정하는 수단과,
    제1 및 제2 연결 요소가 제1 및 제2 구조 요소 사이에 연결을 제공하는지의 여부를 지시하는 제1 및 제2 연결 요소의 상응하는 연결 유형의 연결 정보를 검색하는 수단을 포함하며,
    상기 데이터 구조 각각은 상응하는 구조 요소의 연결 요소를 표현하고, 각각의 연결 요소는 복수의 미리 설정된 연결 유형 중 하나와 관련되는 데이터 처리 시스템.
  14. 제13항에 있어서, 데이터 처리 시스템은 연결 유형 쌍의 연결 정보를 포함하는 연결 표를 저장하는 저장 수단을 더 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  15. 제13항 또는 제14항에 있어서, 상기 데이터 처리 시스템은 연결 유형 쌍의 각각의 미리 설정된 세트에 대한 합성 연결 유형을 포함하는 결합 표를 저장하는 저장 수단을 더 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  16. 프로그램이 컴퓨터 상에서 실행될 때 제1항 내지 제12항 중 어느 한 항의 모든 단계를 수행하는 프로그램 코드 수단을 포함하는 컴퓨터 프로그램.
  17. 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될 때 제1항 내지 제12항 중 어느 한 항의 방법을 수행하기 위한 컴퓨터 판독가능한 매체에 저장된 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 제품.
KR1020057006044A 2002-10-11 2003-10-09 컴퓨터 판독가능한 모델을 생성하는 방법 KR100970790B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DKPA200201549 2002-10-11
DKPA200201549 2002-10-11
US42103402P 2002-10-24 2002-10-24
US60/421,034 2002-10-24

Publications (2)

Publication Number Publication Date
KR20050049531A true KR20050049531A (ko) 2005-05-25
KR100970790B1 KR100970790B1 (ko) 2010-07-16

Family

ID=32094936

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057006044A KR100970790B1 (ko) 2002-10-11 2003-10-09 컴퓨터 판독가능한 모델을 생성하는 방법

Country Status (15)

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

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596473B2 (en) 2003-05-20 2009-09-29 Interlego Ag Method of constructing a virtual construction model
PL378138A1 (pl) * 2003-05-20 2006-03-06 Lego A/S Sposób i układ do manipulowania cyfrową reprezentacją obiektu trójwymiarowego
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
US8384711B2 (en) * 2006-11-29 2013-02-26 The University Of Utah Research Foundation Ray tracing a three dimensional scene using a grid
US7979251B2 (en) 2007-03-16 2011-07-12 Lego A/S Automatic generation of building instructions for building element models
US8374829B2 (en) 2007-03-16 2013-02-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
EP2462537A1 (en) 2009-08-04 2012-06-13 Eyecue Vision Technologies Ltd. System and method for object extraction
US9595108B2 (en) 2009-08-04 2017-03-14 Eyecue Vision Technologies Ltd. System and method for object extraction
PL2483868T3 (pl) 2009-10-02 2015-04-30 Lego As Uzależniona od możliwości łączenia optymalizacja geometrii w renderingu przeprowadzanym w czasie rzeczywistym
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
US10016694B2 (en) * 2011-07-05 2018-07-10 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
WO2015185629A2 (en) 2014-06-06 2015-12-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
EP3200886B1 (en) 2014-10-02 2023-09-20 Lego A/S Game system
US10369477B2 (en) 2014-10-08 2019-08-06 Microsoft Technology Licensing, Llc Management of resources within a virtual world
US9696757B2 (en) 2014-10-08 2017-07-04 Microsoft Corporation Transfer of attributes between generations of characters
US9919226B2 (en) 2014-10-08 2018-03-20 Microsoft Technology Licensing, Llc Storage and charging device for game pieces
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 苏州乐派特机器人有限公司 实物化编程的方法及其在机器人领域的应用
EP3337585B1 (en) 2015-08-17 2022-08-10 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
US10955977B2 (en) 2015-11-03 2021-03-23 Microsoft Technology Licensing, Llc Extender object for multi-modal sensing
US10649572B2 (en) 2015-11-03 2020-05-12 Microsoft Technology Licensing, Llc Multi-modal sensing surface
US9914066B2 (en) 2016-03-07 2018-03-13 Microsoft Technology Licensing, Llc Electromagnetically coupled building blocks
EP3454956B1 (en) 2016-05-09 2021-08-04 Lego A/S System and method for toy recognition
CN109641150B (zh) 2016-07-05 2022-06-07 乐高公司 用于创建虚拟对象的方法
WO2018007369A1 (en) 2016-07-05 2018-01-11 Lego A/S Method for creating a virtual object
USD834105S1 (en) 2017-06-01 2018-11-20 Mattel-Mega Holdings (Us), Llc Construction set element
US10894342B2 (en) 2018-03-29 2021-01-19 Kraft Foods Group Brands Llc System and method for molding comestible building blocks
USD844394S1 (en) 2018-03-29 2019-04-02 Kraft Foods Group Brands Llc Mold
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 富士通株式会社 三次元モデル作成装置及び方法並びに三次元モデル作成プログラムを記録したコンピュータ読み取り可能な記録媒体
ES2226772T3 (es) * 1999-01-22 2005-04-01 Lego A/S Modelado de realidad 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
CA2497621A1 (en) 2004-04-22
CA2497621C (en) 2012-09-25
NO20052183L (no) 2005-05-03
DE60310431D1 (de) 2007-01-25
KR100970790B1 (ko) 2010-07-16
US20060106815A1 (en) 2006-05-18
JP2006502485A (ja) 2006-01-19
AU2003269854A1 (en) 2004-05-04
US7439972B2 (en) 2008-10-21
EP1550085A1 (en) 2005-07-06
JP4509789B2 (ja) 2010-07-21
EP1550085B1 (en) 2006-12-13
DE60310431T2 (de) 2007-10-11
PT1550085E (pt) 2007-02-28
ATE348372T1 (de) 2007-01-15
WO2004034333A1 (en) 2004-04-22
DK1550085T3 (da) 2007-04-10
HK1083550A1 (en) 2006-07-07
NO332876B1 (no) 2013-01-28
ES2277106T3 (es) 2007-07-01
PL375082A1 (en) 2005-11-14

Similar Documents

Publication Publication Date Title
KR100970790B1 (ko) 컴퓨터 판독가능한 모델을 생성하는 방법
KR101071011B1 (ko) 3차원 대상물의 디지털 표시를 조작하기 위한 방법 및시스템
JP6513914B2 (ja) 3次元シーンにおいて第1のポイントと第2のポイントとを結ぶパス設計
US7492364B2 (en) System and method for creating and updating a three-dimensional model and creating a related neutral file format
KR101721715B1 (ko) 실시간 렌더링을 위한 연결 의존적 기하학적 형상 최적화
US5990897A (en) Methods for automatically generating a three-dimensional geometric solid from two-dimensional view sets including automatic segregation of open, closed and disjoint curves into views using their center of gravity
Hoffmann et al. A road map to solid modeling
US20020175948A1 (en) Graphical user interface method and apparatus for interaction with finite element analysis applications
KR20140139984A (ko) 3d 모델링된 오브젝트의 압축 및 압축해제
CN105760570A (zh) 选择对象集的视点
CN113724401A (zh) 一种三维模型切割方法、装置、计算机设备和存储介质
Rossignac et al. Solid modeling
Eastman et al. A review of solid shape modelling based on integrity verification
KR100623546B1 (ko) 가상 현실 모델링
Fanni et al. Fabrication oriented shape decomposition using polycube mapping
US6862023B1 (en) Fully integrated machinable profile based parametric solid modeler
Ying et al. A two‐stage recursive ray tracing algorithm to automatically identify external building objects in building information models
EP1547020A1 (en) Irregular mesh and embedded geometric description in a computer graphics system
Gilkey et al. GEN3D: A GENESIS database 2D to 3D transformation program
Gilleard LAYOUT—a hierarchical computer model for the production of architectural floor plans
Jablokow et al. Topological and geometric consistency in boundary representations of solid models of mechanical components
Tibbitts Solid modelling and the representation of buildings
JPH07502355A (ja) 有向オブジェクトのコンピュータエイド形状設計のための関連エンティティシステム
Rosenman A face vector representation for the construction of polyhedra
JP2966445B2 (ja) 立体の表示方法および装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130621

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140702

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150625

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190627

Year of fee payment: 10