KR101721715B1 - 실시간 렌더링을 위한 연결 의존적 기하학적 형상 최적화 - Google Patents

실시간 렌더링을 위한 연결 의존적 기하학적 형상 최적화 Download PDF

Info

Publication number
KR101721715B1
KR101721715B1 KR1020127011159A KR20127011159A KR101721715B1 KR 101721715 B1 KR101721715 B1 KR 101721715B1 KR 1020127011159 A KR1020127011159 A KR 1020127011159A KR 20127011159 A KR20127011159 A KR 20127011159A KR 101721715 B1 KR101721715 B1 KR 101721715B1
Authority
KR
South Korea
Prior art keywords
component
components
computer
connection
determining
Prior art date
Application number
KR1020127011159A
Other languages
English (en)
Other versions
KR20120083893A (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 KR20120083893A publication Critical patent/KR20120083893A/ko
Application granted granted Critical
Publication of KR101721715B1 publication Critical patent/KR101721715B1/ko

Links

Images

Classifications

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

Abstract

복수의 컴포넌트를 포함하는 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법이며, 복수의 컴포넌트들 중 적어도 하나의 복수의 부품을 저장하는 단계 - 각각의 부품은 부품을 시각화/렌더링하기 위한 기하학적 정보를 포함함 -; 좌표계 내에서 복수의 컴포넌트들의 위치 및 배향을 표시하는 정보를 저장하는 단계; 개별 컴포넌트들 사이의 공간적 관계를 결정하는 단계; 적어도 하나의 컴포넌트에 대해, 개별 컴포넌트들 사이의 결정된 공간적 관계에 기초하여, 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 저장된 부품을 결정하는 단계를 포함하는 컴퓨터-실시 방법이 개시된다. 컴포넌트를 시각화/렌더링하는데 사용하기 위한 부품의 개수를 결정하기 위해 컴포넌트들 사이의 공간적 관계를 사용함으로써, 개별 컴포넌트의 기하학적 형상 및 컴포넌트들의 연결에 대한 지식이 제거될 수 있는 숨겨진 부품을 찾기 위해 사용될 수 있다.

Description

실시간 렌더링을 위한 연결 의존적 기하학적 형상 최적화 {Connectivity depended geometry optimization for real-time rendering}
본 발명은 컴퓨터 모델을 시각화/렌더링하기 위한 방법에 관한 것이다. 구체적으로, 본 발명은 컴퓨터 모델을 시각화/렌더링하기 위한 연산 효율적 방법에 관한 것이다.
3차원 컴퓨터 그래픽이 컴퓨터 지원 설계(CAD) 및 컴퓨터 게임과 같은 광범위한 분야에서 사용된다. 3차원 컴퓨터 그래픽은 3차원 모델의 투시도를 발생시키기 위해 사용될 수 있다. 이는 CAD의 경우에서와 같은 설계 공정에서 또는 컴퓨터 게임에서의 경우에서와 같은 오락의 목적으로 사용될 수 있다. 3차원 컴퓨터 그래픽에 직면한 일반적인 문제점은 필요한 대용량 연산 자원이다. 이는 특히 연산 자원의 부족이 감소된 프레임 속도를 대응하는 감소된 사용자 경험과 함께 생성할 것이므로, 실시간 3차원 컴퓨터 그래픽에 대해 문제가 된다.
연산에 있어서의 집중적인 연구는 컴퓨터 모델의 복잡성의 유사한 증가와 부합한다. 이는 대형 구조물이 설계되는 CAD 및 증가된 디테일 수준이 더 복잡한 모델을 생성하는 컴퓨터 게임에 대한 경우이다. 3차원 컴퓨터 그래픽으로 표현하기 위한 객체의 일반적인 그룹은 복합 제품이다. 복합 제품은 다수의 작은 물리적 컴포넌트로 구성된 제품이다.
많은 수의 컴포넌트를 포함하는 복합 제품의 예는 대형 기계, 자동차, 항공기 및 다른 차량, 건물과, 가구, 장난감 모델 등과 같은 미조립되어 판매 및 운송되는 제품을 포함한다. 많은 수의 작은 컴포넌트로 구성되는 제품의 특정 예는 복수의 상호 연결 가능한 장난감 구성 요소를 포함하는 장난감 구성 세트를 포함한다.
그러한 장난감 구성 세트의 모델링 개념의 다양한 공지된 유형이 있다. 특히, 모듈형 또는 반모듈형 개념이 흥미롭고 도전적인 놀이 경험을 제공하므로 매우 인기 있다. 전형적으로, 이러한 개념은 미리 제조된 요소들의 연결 요소 또는 다른 결합 수단에 의해 몇몇 소정의 방식으로 서로 상호 연결될 수 있는 미리 제조된 축조 요소들의 세트를 제공한다. 미리 제조된 축조 요소들은 특정 모델링 작업에 적응된 공지된 객체와 유사할 수 있다. 따라서, 예컨대, 주택의 모델을 축조할 때, 축조 요소들은 벽돌, 기와, 문, 및 창과 유사할 수 있다. 이러한 방식으로 축조 요소들을 선택하는 장점은 놀이가 체계화되고, 주택 모델의 축조에 수반된 작업이 주택의 모든 디테일이 새로운 모델이 만들어질 때마다 규정되어야 하는 상황에 비교하여 현저하게 감소되는 점이다. 그러나, 주택 또는 다른 객체를 축조하는데 있어서 완전한 자유는 모델을 축조하는 단순함에 대해 상충한다.
예를 들어, 레고(LEGO)라는 상표명으로 구입 가능한 장난감 구성 세트는 연결 요소로서 돌출부 및 대응하는 오목부를 갖는 복수의 상이한 유형의 상호 연결 가능한 축조 요소를 포함한다. 연결 요소들은 규칙적인 그리드 패턴에 따라 배열되어, 축조 요소들 사이에서 매우 다양한 상호 연결을 허용한다.
컴퓨터 모델을 시각화/렌더링하기 위해 필요한 연산 부하를 감소시키는 공지된 방법은 차폐 선별(occlusion culling)이다. 차폐 선별은 주어진 관찰 시계로부터 숨겨진 면을 찾음으로써 작용한다. 그러나, 공지된 차폐 선별 알고리즘은 느리고, 시야가 변할 때마다 실행될 필요가 있다. 이는 특히 이러한 용도에서의 시야가 전형적으로 빈번하게 변하여, 차폐 선별 알고리즘에 기인하는 큰 연산 부하를 생성하므로, 컴퓨터 지원 설계 및 컴퓨터 게임에 대해 문제가 된다.
따라서, 복합 제품을 연산 효율적 방식으로 시각화/렌더링하는데 문제점이 남아 있다.
본 발명의 제1 태양은 복수의 컴포넌트를 포함하는 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법에 관한 것이고, 방법은,
- 복수의 컴포넌트들 중 적어도 하나의 복수의 부품을 저장하는 단계 - 각각의 부품은 부품을 시각화/렌더링하기 위한 기하학적 정보를 포함함 -;
- 좌표계 내에서 복수의 컴포넌트들의 각각의 위치 및 배향을 표시하는 정보를 저장하는 단계;
- 복수의 컴포넌트들의 각각의 위치 및 배향을 표시하는 저장된 정보에 기초하여 개별 컴포넌트들 사이의 공간적 관계를 결정하는 단계;
- 적어도 하나의 컴포넌트에 대해 그리고 개별 컴포넌트들 사이의 결정된 공간적 관계에 기초하여, 상기 컴포넌트를 시각화/렌더링하기 위해 사용되어야 하는 다수의 저장된 부품을 결정하는 단계
를 포함한다.
컴퓨터 모델은 복합 제품, 예컨대 장난감 모델과 같은 임의의 객체, 또는 대안적으로 비복합 제품, 예컨대 디지털 캐릭터를 표현할 수 있다. 컴퓨터 모델은 2차원 또는 3차원과 같은 임의의 차원을 가질 수 있다. 컴퓨터 모델은 아울러 시간에 따라 애니메이팅될 수 있다. 컴퓨터 모델의 애니메이션은 전체 모델 또는 모델의 선택된 컴포넌트를 포함할 수 있다. 컴포넌트는 컴퓨터 모델이 장난감 구성 요소로 축조된 장난감 모델을 표현할 때의 장난감 구성 요소와 같은 모델의 임의의 하위 그룹 또는 대안적으로 장난감 구성 요소의 면들의 그룹일 수 있다. 부품은 장난감 구성 요소 상의 돌출 원통과 같은 컴포넌트의 임의의 하위 그룹, 또는 대안적으로 돌출 원통의 면들의 그룹일 수 있다.
일 실시예에서, 하위 그룹은 컴포넌트가 전체 모델이 아닐 수 있고, 부품이 전체 컴포넌트가 아닐 수 있음을 의미하는, 적절한 하위 그룹이다.
일 실시예에서, 하위 그룹은 컴포넌트가 전체 모델일 수 있고, 부품이 전체 컴포넌트일 수 있음을 의미하는, 적절한 하위 그룹으로 제한되지 않는다.
부품은 부품의 기하학적 형상을 규정하는, 기하학적 정보를 포함할 수 있다. 기하학적 정보는 다각형 메시, NURBS 표면 또는 패치(Patch) 표면과 같은 임의의 형식으로 저장될 수 있다. 부품은 조직 특성, 반사 특성, 굴절 특성, 투명도 설정(transparency setting) 및 음영 특성(shading property)과 같은 부품의 재료 특성을 추가로 포함할 수 있다.
컴포넌트의 위치 및 배향을 표시하는 정보는 국소적이거나 전체적인 임의의 좌표계 내에서의 컴포넌트의 위치 및 배향, 또는 예컨대, WO 04/034333호에 개시되어 있는 바와 같은, 다른 모델, 컴포넌트, 부품 등에 관련된 그의 위치를 설명하는 정보일 수 있다.
컴포넌트를 시각화/렌더링하는데 사용하기 위한 부품의 개수는 컴포넌트의 모든 부품들이 사용될 때 그리고 부품이 사용되지 않을 때의 특수한 경우를 포함하여, 임의의 개수일 수 있다.
컴퓨터 모델을 시각화/렌더링한 결과는 이미지 또는 일련의 이미지들의 생성일 수 있다. 이미지(들)은 2차원일 수 있다. 이미지(들)은 스크린 상에 직접 보여지고 그리고/또는 디지털 파일로 저장될 수 있다.
컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 부품을 결정하기 위해 컴포넌트를 복수의 부품들로 분할하고 컴포넌트들 사이의 공간적 관계를 사용함으로써, 개별 컴포넌트의 기하학적 형상 및 컴포넌트의 다른 컴포넌트와의 관계에 대한 지식이 모델에 대해 시각적 충격을 갖지 않고서 제거될 수 있는 숨겨진 부품을 찾기 위해 사용될 수 있다.
이는 연산적으로 복잡한 광선 추적 알고리즘을 사용하지 않고서 숨겨진 부품을 찾는 것을 가능케 하여, 방법을 실시간 사용에 대해 적합하게 만든다. 가상 카메라와 컴포넌트 사이의 공간적 관계가 아닌, 개별 컴포넌트들 사이의 공간적 관계를 사용함으로써, 표준 차폐 선별 알고리즘에서와 같이, 시야-독립적 최적화가 달성된다. 이는 구조적 변화가 복합 모델에 대해 발생할 때, 예컨대, 새로운 컴포넌트가 추가되거나 기존의 컴포넌트가 제거될 때에만 방법이 재실행될 필요가 있으므로, 연산 자원을 절약한다. 구조적 변화가 발생할 때에도, 방법은 단지 변화에 근접한 컴포넌트에 대해 재실행될 필요가 있다. 이는 이후의 최적화를 위한 연산 자원을 절약한다.
최적화를 수행하기 전에 컴포넌트를 부품들로 분할하고 부품을 저장함으로써, 최적화 단계에서 컴포넌트를 분할하기 위해 필요한 임의의 연산 자원이 절약된다. 컴포넌트의 분할은 자동 절차를 사용하여 또는 대안적으로 수동으로 수행될 수 있다. 분할이 수동으로 수행될 때, 사람의 기술이 컴포넌트의 기하학적 형상 및/또는 연결에 대한 지식을 사용하여 분할을 이루기 위해 사용될 수 있어서, 효과적인 최적화를 가능케 한다.
본 발명의 제2 태양은 컴퓨터 프로그램에 관한 것이고, 컴퓨터 프로그램은 데이터 처리 시스템이 다음을 수행하게 하도록 적응된 실행 가능한 컴퓨터-프로그램 코드를 포함한다:
- 사용자가 대량의 컴포넌트들로부터 복수의 컴포넌트 - 각각의 컴포넌트는 복수의 부품으로 구성됨 - 의 각각의 디지털 표현을 선택하고, 복합 제품의 디지털 표현을 발생시키기 위해 선택된 컴포넌트들을 서로에 대한 공간적 관계로 배열하도록 허용하기 위한 컴퓨터-실시 구성 도구를 제공하는 단계를 포함하는 적어도 일 설계 단계; 및
- 복합 제품의 적어도 일 부분의 시각화/렌더링을 발생시키는 단계를 포함하는 추가의 처리 단계.
상기 발생 단계는,
- 복수의 컴포넌트들 중 적어도 하나의 복수의 부품을 저장하는 단계 - 각각의 부품은 부품을 시각화/렌더링하기 위한 기하학적 정보를 포함함 -;
- 좌표계 내에서 복수의 컴포넌트들의 위치 및 배향을 표시하는 정보를 저장하는 단계;
- 복수의 컴포넌트들의 위치 및 배향을 표시하는 저장된 정보에 기초하여 개별 컴포넌트들 사이의 공간적 관계를 결정하는 단계;
- 적어도 하나의 컴포넌트에 대해, 개별 컴포넌트들 사이의 결정된 공간적 관계에 기초하여, 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 저장된 부품을 결정하는 단계를 포함한다.
일 실시예에서, 컴퓨터 프로그램은 아동용 장난감 컴퓨터 프로그램이다.
컴퓨터-실시 구성 도구는 그래픽 사용자 인터페이스일 수 있다.
디지털 모델을 생성하는 작업은 매우 어려울 수 있다. 실제 세계에 존재하는 보통의 물리적 제한은 디지털 환경에서는 선험적으로 존재하지 않는다. 무한한 가능성이 임의의 모델을 생성하는 것을 가능케 하지만, 이는 또한 설계 단계를 매우 어렵게 만든다. 임의의 디지털 모델러에 대한 핵심 기술은 모델 내의 올바른 지점에서 올바른 양의 디테일을 사용하는 것이다. 이는 디지털 모델의 형상에 초점을 맞춰야 하는 것에 추가하여, 디지털 설계자가 또한 모델의 근본적인 구조, 예컨대, 다양한 장소에서 사용되는 꼭짓점의 양에 초점을 맞출 필요가 있음을 의미한다. 이는 모델링 작업이 디지털 설계자가 모델이 설계되고 있는 동안 모델을 시각적으로 검사하도록 허용하면서, 모델의 연속적인 실시간 시각화/렌더링을 전형적으로 수반하는 상호 작용적인 공정이기 때문에 중요하다. 모델이 불필요하게 복잡해지면, 모델의 실시간 렌더링의 프레임 속도는 감소하여, 추가의 설계 공정을 문제가 되게 만들 것이다.
그러한 시스템의 사용자가 아동일 때, 설계 공정을 가능한 한 단순화하는 것이 중요해진다. 아동에게 대량의 컴포넌트를 포함하는 디지털 구성 도구를 공급하고, 컴포넌트들 사이의 공간적 관계를 사용하여 구성된 모델을 추가로 자동으로 단순화함으로써, 설계 공정의 복잡성이 크게 감소된다. 이는 아동이 모델의 올바른 스폿에 올바른 양의 복잡성을 적용하는 것에 대해 걱정할 필요가 없이 모델링 작업에 전적으로 집중하도록 허용할 것이다. 이는 아동이 더 크고 더 흥미로운 모델을 생성하도록 허용하여, 장난감 컴퓨터 프로그램의 놀이 가치를 증가시키고 더 어린 아동이 장난감 프로그램을 사용하도록 허용할 것이다.
일 실시예에서, 적어도 하나의 컴포넌트는 그와 관련된 적어도 하나의 소정의 연결 구역을 갖고, 상기 연결 구역은 유사한 컴포넌트 상의 연결 구역에 연결될 수 있는 컴포넌트의 일 부분을 표시한다.
연결 구역은 컴포넌트에 근접한 임의의 미리 규정된 구역일 수 있다. 일 실시예에서, 연결 구역은 컴포넌트의 표면 상에 위치된다. 연결 구역은 컴포넌트의 하나 이상의 부품, 예컨대, 표면의 일 부분에 대응하거나 그에 의해 규정될 수 있다. 연결 구역은 평면 또는 평면의 일부 또는 원형 또는 만곡된 표면과 같은 임의의 형상을 가질 수 있다. 연결 구역의 위치는 전역 좌표계 내에서 또는 컴포넌트에 관련하여 규정될 수 있다. 컴포넌트는 임의의 개수의 연결 구역을 포함할 수 있다. 복수의 유형의 연결 구역이 존재할 수 있다. 연결 구역은 미리 규정된 개수의 연결 구역의 유형과 양립 가능할 수 있고, 예컨대, 컴포넌트의 상면에 링크된, 장난감 구성 요소를 표현하는 컴포넌트의 연결 구역은 단지 유사한 장난감 구성 요소를 표현하는 컴포넌트의 하면에 링크된 연결 구역과 양립 가능할 수 있다. 몇몇 실시예에서, 각각의 유형의 연결 구역의 양립성(compatibility)을 표시하는 정보, 즉 각각의 유형의 연결 구역들이 서로 연결 가능한지를 표시하는 정보가 적합한 데이터 구조, 예컨대 표 내에 저장될 수 있다. 예를 들어, 정보는 각각의 주어진 유형의 연결 구역에 대해, 어떤 유형의 연결 구역이 상기 주어진 유형의 연결 구역과 연결 가능한지를 표시할 수 있다. 일 실시예에서, 데이터 구조는 연결 구역들의 유형의 각각의 쌍에 대해, 연결 구역들의 유형의 쌍이 양립 가능한지, 양립 불가능한지, 또는 무관한지를 표시할 수 있다. 한 쌍의 연결 구역이 양립 가능할 때, 이들은 2개의 컴포넌트들 사이의 연결을 제공할 수 있다. 한 쌍의 연결 구역이 양립 불가능할 때, 이들은 2개의 컴포넌트들의 서로에 인접한 위치 설정을 방지한다. 한 쌍의 연결 구역이 무관할 때, 이들은 컴포넌트들 사이의 연결을 실제로 제공하지 않으면서, 2개의 컴포넌트들의 서로에 인접한 위치 설정을 허용한다.
미리 규정된 연결 구역을 구비한 컴포넌트를 제공함으로써, 컴포넌트로부터 모델을 생성하는 작업은 단순화된다. 이는 모델이 CAD에 대해, 컴퓨터 게임에 대해, 또는 다른 용도에 대해 사용되든지 간에 모델을 개발하는 제작 비용을 저감시킨다.
본 발명의 일 실시예에서, 개별 컴포넌트들 사이의 공간적 관계를 결정하는 단계는 개별 컴포넌트들의 연결 구역들의 공간적 관계를 결정하는 단계를 포함한다.
본 발명의 일 실시예에서, 개별 연결 구역들 사이의 공간적 관계를 결정하는 단계는 2개의 연결 구역들 사이의 거리를 결정하는 단계를 포함한다.
거리는 2 기준 유클리드 거리와 같은 임의의 기준 거리일 수 있다. 거리는 연결 구역들의 2개의 지점들 또는 연결 구역들 상의 복수의 지점들 사이의 거리일 수 있다. 일 실시예에서, 거리는 2개의 연결 구역들 사이의 가장 가까운 거리로서 규정된다. 일 실시예에서, 공정은 거리가 미리 규정된 범위 내에 있을 때 2개의 연결 구역들을 연결된 것으로 결정한다.
2개의 연결 구역들 사이의 공간적 관계를 그들의 거리를 조사함으로써 결정하는 것은 효과적이며 연산적으로 간단한 방법이다. 이는 방법에 의한 연산 자원 필요를 저감시킬 것이고, 이에 의해 모델을 렌더링/시각화하기 위해 필요한 연산의 전체 개수를 저감시킨다.
일 실시예에서, 각각의 연결 구역은 그와 관련된 배향을 갖고, 개별 연결 구역들 사이의 공간적 관계를 결정하는 단계는 하나의 연결 구역의 다른 연결 구역에 대한 배향을 결정하는 단계를 포함한다.
일 실시예에서, 공정은 2개의 연결 구역을, 그들이 서로에 대해 소정의 배향을 가질 때, 예컨대, 연결 구역들이 서로에 대해 평행하거나 평행에 가까울 때, 연결된 것으로 결정한다. 연결 구역들의 공간적 관계는 연결 구역들 사이의 거리 및 그들의 상대 배향의 조합에 의해 결정될 수 있다.
2개의 연결 구역들은 정렬되지 않고서 서로 가까이 위치될 수 있지만, 그들의 공간적 관계를 결정하기 위해 연결 구역들 사이의 상대 배향을 추가로 사용함으로써, 더 정밀한 결정이 달성될 수 있다.
몇몇 실시예에서, 공정은 2개의 연결 구역을, 그들이 서로 소정의 근접도 내에 위치될 때 그리고 그들 각각의 배향 및 유형이 서로 양립 가능할 때, 연결된 것으로 결정한다.
몇몇 실시예에서, 공정은 컴포넌트가 제1 부품과 관련된 하나 이상의 연결 구역을 가질 때에만, 제1 부품을 컴포넌트를 시각화/렌더링하기 위해 사용되지 않는 것으로 결정하고, 연결 구역(들)은 다른 컴포넌트의 다른 연결 구역에 연결된다.
실제로 연결된 컴포넌트만을 최적화함으로써, 미연결 컴포넌트들이 애니메이션 중에 서로에 대해 이동될 때, 재최적화가 회피될 수 있다. 이는 재최적화에 대한 필요를 저감시켜서, 연결된 장난감 구성 요소들이 서로에 대해 이동되는 이벤트가 미연결 장난감 구성 요소들에 대한 것보다 훨씬 덜 가능하므로, 최적화에 대해 필요한 연산 자원의 대응하는 저감을 일으킨다.
대안적인 실시예에서, 공정은 또한 컴포넌트들 사이의 연결을 실제로 제공하는 연결이 없으면, 예컨대, 2개의 연결 구역들의 유형이 서로에 대해 무관하기 때문에, 제1 부품과 관련된 연결 구역이 다른 컴포넌트의 연결 구역에 대해 소정의 근접도 내에 있고 그리고/또는 배향일 때, 제1 부품을 컴포넌트를 시각화/렌더링하기 위해 사용되지 않는 것으로 결정한다.
연결되지 않은 컴포넌트들을 또한 최적화함으로써, 컴포넌트의 더 많은 부품이 최적화될 수 있다. 이는 특히 모델의 컴포넌트가 고정되어 있을 때, 컴퓨터 모델을 시각화/렌더링하기 위한 연산 자원 필요를 저감시킬 것이다.
일 실시예에서, 공간적 관계를 결정하는 것은 각각의 구성요소들의 연결 구역들이 연결을 제공/허용하는 양립 가능한 유형을 갖는지를 결정하는 것을 포함한다.
일 실시예에서, 적어도 하나의 컴포넌트에 대해, 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 부품을 결정하는 단계에서, 상기 컴포넌트의 적어도 하나의 연결 구역(들)이 연결되어 있을 때 더 적은 부품이 사용된다.
일 실시예에서, 공정은 상기 컴퓨터 모델의 경계 박스(bounding box) 외부에서 임의의 방향으로부터 보았을 때, 부품의 표면 영역 중 적어도 소정의 부분이 하나 이상의 다른 부품에 의해 덮일 때, 제1 부품이 컴포넌트를 시각화/렌더링하기 위해 사용되지 않는 것으로 결정한다. 미리 규정된 백분율은 임의의 백분율일 수 있다. 바람직하게는, 이는 40%, 더 바람직하게는 이는 70%, 훨씬 더 바람직하게는 이는 90%이다. 경계 박스는 전체 모델을 포함할 수 있는 가장 작은 박스이다. 주어진 컴포넌트를 시각화/렌더링하기 위해 미리 규정된 백분율로 덮인 부품(들)을 사용하지 않음으로써, 최적화의 모델에 대한 임의의 시각적 충격이 제한될 수 있다. 이는 시각적 충격과 연산 복잡성 사이의 상충이 제어될 수 있는 유연한 시스템을 추가로 제공한다. 실시간 컴퓨터 그래픽과 같은 주어진 용도에서, 모델의 시각적 정밀도에 대해, 적은 수의 연산을 우선시켜서 높은 프레임 속도를 생성하는 것이 유용할 수 있고, 다른 용도에서의 시각적 정밀도는 연산의 개수보다 더 중요할 수 있다.
본 발명의 일 실시예에서, 적어도 하나의 컴포넌트에 대해, 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 부품을 결정하는 단계는 컴포넌트의 재료 특성을 결정하는 단계, 및 결정된 공간적 관계 및 결정된 재료 특성에 기초하여, 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 부품을 결정하는 단계를 추가로 포함한다.
일 실시예에서, 재료 특성을 결정하는 단계는 컴포넌트에 대한 투명도 설정을 결정하는 단계를 포함한다. 투명도 설정은 컴포넌트 또는 컴포넌트의 부품의 투명도에 관련된 임의의 설정일 수 있다. 투명도는 굴절 현상을 포함할 수 있다. 보통 숨겨지는 모델의 컴포넌트의 부품은 컴포넌트 또는 컴포넌트에 연결된 다른 컴포넌트가 투명하면, 보일 수 있다. 결정된 공간적 관계 및 재료 특성을 사용함으로써, 숨겨진 부품의 더 정밀한 결정이 달성될 수 있다.
몇몇 실시예에서, 컴퓨터 모델은 복합 제품을 표현한다. 몇몇 실시예에서, 컴퓨터 모델은 장난감 구성 요소로부터 축조된 장난감 모델을 표현하고, 컴퓨터 모델의 각각의 컴포넌트는 장난감 구성 요소에 대응한다. 몇몇 실시예에서, 장난감 구성 요소는 그를 다른 유사한 장난감 구성 요소와 연결하기 위한 연결 수단을 갖는다. 연결 수단은 원형 또는 직사각형과 같은 임의의 형상을 가질 수 있다.
일 실시예에서, 제1 컴포넌트는 소정의 유형의 제1 차폐 구역을 포함하고, 제2 컴포넌트는 소정의 유형의 제2 차폐 구역을 포함하고, 제1 및 제2 차폐 구역들 사이의 공간적 관계는 제2 컴포넌트에 의해 차폐되는 제1 컴포넌트의 부분을 결정하기 위해 사용된다.
차폐 구역은 컴포넌트의 부품과 유사하거나 동일한 형상을 가질 수 있다. 예를 들어, 차폐 구역은 컴포넌트의 상기 부품의 표면의 일 부분으로서 규정될 수 있다. 차폐 구역은 컴포넌트의 특정 부품 또는 다수의 부품에 링크될 수 있다. 차폐 구역에 링크된 부품(들)은 부품에 링크된 차폐 구역이 차폐될 때 차폐된 것으로 결정될 수 있다. 제1 및 제2 차폐 구역들의 공간적 관계는 제1 컴포넌트의 연결 구역(들)과 제2 컴포넌트의 연결 구역(들) 사이의 공간적 관계에 의해 결정될 수 있다. 차폐 구역의 유형은 그의 형상에 관련될 수 있다. 차폐 구역은 원형 또는 직사각형 형상과 같은 임의의 형상을 가질 수 있다. 차폐 구역의 유형은 아울러 차폐 구역의 크기에 관련될 수 있다. 차폐 구역의 유형은 하나의 컴포넌트가 어떻게 다른 컴포넌트를 차폐하는지를 결정할 수 있고, 예컨대, 원형 차폐 구역은 다른 원형 차폐 구역은 차폐하지만 정사각형 차폐 구역은 차폐하지 않을 수 있고, 정사각형 차폐 구역은 원형 및 정사각형 차폐 구역 모두를 차폐할 수 있다.
연결 구역은 컴포넌트가 어떻게 다른 컴포넌트에 연결될 수 있는지를 결정하고, 차폐 구역은 컴포넌트가 어떻게 다른 컴포넌트를 차폐하는지를 결정할 수 있다. 2개의 컴포넌트는 서로를 차폐하지 않고서 연결될 수 있고, 2개의 컴포넌트는 연결되지 않고서 서로를 차폐할 수 있다.
컴포넌트 및/또는 컴포넌트의 하나 이상의 부품은 하나 이상의 차폐 구역 및/또는 이와 관련된 하나 이상의 연결 구역을 가질 수 있다. 일 실시예에서, 연결 구역은 또한 차폐 구역으로서 기능할 수 있다.
컴포넌트에 차폐 구역을 할당함으로써, 방법은 컴퓨터 모델 내에서 숨겨진 부품을 쉽게 찾을 수 있다. 숨겨진 부품은 2개의 컴포넌트들의 2개의 연결 구역들 사이의 공간적 관계를 조사함으로써 찾을 수 있다. 각각의 컴포넌트와 관련된 2개의 연결 구역들이 연결된 것으로 발견되면, 공정은 각각의 부품과 관련된 각각의 차폐 구역에 기초하여, 예컨대, 관련된 차폐 구역의 각각의 유형에 관련된, 예컨대, 정사각형 구역이 원형 구역을 덮는 등의 논리 규칙에 기초하여, 하나 이상의 차폐된 부품을 결정할 수 있다. 따라서, 각각의 부품은 하나 이상의 연결 구역 및 그와 관련된 하나 이상의 차폐 구역을 가질 수 있다.
일 실시예에서, 복수의 차폐 구역이 단일 부품에 링크된다.
일 실시예에서, 부품은 부품에 링크된 모든 차폐 구역이 차폐될 때에만 차폐된다.
일 실시예에서, 컴퓨터 모델은 다른 컴퓨터 모델과 독립적으로 애니메이팅될 수 있고, 컴퓨터 모델의 컴포넌트는 컴퓨터 모델의 다른 컴포넌트와 독립적으로 애니메이팅될 수 있고, 컴포넌트의 부품은 컴포넌트의 다른 부품과 독립적으로 애니메이팅될 수 없다.
일 실시예에서, 제1 부품 및 제2 부품은 컴포넌트의 공통 섹션을 표현하고, 제1 부품은 제2 부품보다 높은 디테일 수준을 갖고, 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 저장된 부품을 결정하는 단계는 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 제1 및 제2 부품 중 최대 하나를 선택하는 단계를 추가로 포함한다.
컴포넌트의 공통 부분을 표현하는 복수의 부품을 가짐으로써, 주어진 상황에서 단지 부분적으로 숨겨지는 부품이 여전히 최적화될 수 있다. 이는 더 효율적인 최적화를 일으키고, 컴포넌트를 부품들로 분할하는 작업을 더 쉽게 만들 것이다.
본 발명의 상이한 태양들은 위에서 그리고 다음에서 설명되는 컴퓨터 실시 방법, 데이터 처리 시스템 및 장난감 컴퓨터 프로그램 그리고 추가의 제작 수단을 포함한 상이한 방식으로 실시될 수 있고, 각각은 위에서 설명된 태양들 중 적어도 하나와 함께 설명된 이점 및 장점 중 하나 이상을 산출하고, 각각은 위에서 설명되고 그리고/또는 첨부된 특허청구범위에서 개시되는 태양들 중 적어도 하나와 함께 설명되는 바람직한 실시예에 대응하는 하나 이상의 바람직한 실시예를 갖는다. 또한, 본원에서 설명되는 태양들 중 하나와 함께 설명되는 실시예는 다른 태양에 동등하게 적용될 수 있음이 이해될 것이다.
일 실시예에서, 부품은 미리 규정된다.
일 실시예에서, 각각의 부품은 복수의 면을 포함하고, 면은 3개의 꼭지점에 의해 주어진 평면으로서 규정된다.
일 실시예에서, 차폐 선별이 개시되는 방법과 조합하여 사용된다.
일 실시예에서, 컴포넌트는 더 작은 컴포넌트로 비파괴적으로 추가로 분해될 수 없는 복합 제품의 물리적 컴포넌트, 예컨대 항공기 내의 스크루 또는 장난감 구성 시스템의 장난감 구성 요소로부터 축조된 장난감 모델 내의 장난감 구성 요소와 같은, 복합 제품의 물리적 컴포넌트를 표현한다.
본 발명의 상기 및/또는 추가의 목적, 특징, 및 장점은 첨부된 도면을 참조하여, 본 발명의 실시예의 다음의 예시적이며 비제한적인 상세한 설명에 의해 추가로 설명될 것이다.
도 1a-c는 종래 기술의 최적화의 형태의 일례를 도시한다.
도 2a는 다수의 컴포넌트를 포함하는 컴퓨터 모델의 일례를 도시한다.
도 2b는 다수의 부품을 포함하는 컴퓨터 모델의 컴포넌트의 일례를 도시한다.
도 2c는 본 발명의 일 실시예에 따른, 컴퓨터 모델의 컴포넌트의 다수의 부품의 일례를 도시한다.
도 3은 본 발명의 일 실시예에 따른, 컴퓨터 모델의 컴포넌트의 다수의 부품의 일례를 도시한다.
도 4a는 최적화 이전의 다수의 컴포넌트를 포함하는 컴퓨터 모델을 도시한다.
도 4b는 최적화 이후의 다수의 컴포넌트를 포함하는 컴퓨터 모델을 도시한다.
도 5a는 최적화 이전의 다수의 컴포넌트를 포함하는 컴퓨터 모델을 도시한다.
도 5b는 최적화 이후의 다수의 컴포넌트를 포함하는 컴퓨터 모델을 도시한다.
도 6a는 최적화 이전의 다수의 컴포넌트를 포함하는 컴퓨터 모델을 도시한다.
도 6b는 최적화 이후의 다수의 컴포넌트를 포함하는 컴퓨터 모델을 도시한다.
도 7a는 컴포넌트에 관련하여 규정된 연결 구역을 도시한다.
도 7b는 연결 구역들의 양립성을 도시한다.
도 8a는 컴포넌트에 관련하여 규정된 연결 구역을 도시한다.
도 8b는 컴포넌트에 관련하여 규정된 연결 구역들의 양립성을 도시한다.
도 9a는 다수의 컴포넌트를 포함하는 컴퓨터 모델의 일례를 도시한다.
도 9b는 본 발명의 일 실시예에 따른, 컴퓨터 모델의 컴포넌트의 다수의 부품의 일례를 도시한다.
도 9c는 본 발명의 일 실시예에 따른, 컴퓨터 모델의 컴포넌트의 다수의 부품의 일례를 도시한다.
도 10a는 최적화 이전의 다수의 컴포넌트를 포함하는 컴퓨터 모델을 도시한다.
도 10b는 최적화 이후의 다수의 컴포넌트를 포함하는 컴퓨터 모델을 도시한다.
도 11a는 최적화 이전의 다수의 컴포넌트를 포함하는 컴퓨터 모델을 도시한다.
도 11b는 최적화 이후의 다수의 컴포넌트를 포함하는 컴퓨터 모델을 도시한다.
도 12는 본 발명의 일 실시예에 따른 컴퓨터 모델을 시각화/렌더링하기 위한 방법의 흐름도를 도시한다.
도 13은 본 발명의 일 실시예에 따른, 컴퓨터 모델의 컴포넌트의 다수의 부품의 일례를 도시한다.
도 14는 본 발명의 일 실시예에 따른, 컴퓨터 모델의 컴포넌트의 다수의 부품의 일례를 도시한다.
도 15a-f는 본 발명의 일 실시예에 따른 컴포넌트, 부품, 및 차폐 구역의 예를 도시한다.
도 16은 본 발명의 일 실시예에 따른 컴퓨터 모델 최적화의 일례를 도시한다.
도 17은 본 발명의 일 실시예에 따른 컴퓨터 모델 최적화의 일례를 도시한다.
도 18은 본 발명의 일 실시예에 따른, 컴퓨터 모델의 컴포넌트의 다수의 부품의 일례를 도시한다.
도 19는 본 발명의 일 실시예에 따른 컴퓨터 모델 최적화의 일례를 도시한다.
도 20은 본 발명의 일 실시예에 따른 컴퓨터 모델을 시각화/렌더링하기 위한 방법의 흐름도를 도시한다.
도 21은 본 발명의 일 실시예에 따른 데이터 구조의 일례를 도시한다.
도 22는 컴퓨터 시스템의 일례의 개략도를 도시한다.
도 23a-b는 본 발명의 일 실시예에 따른 부품 및 차폐 구역의 예를 도시한다.
도 23c는 본 발명의 일 실시예에 따른 컴퓨터 모델 최적화의 일례를 도시한다.
도 24는 본 발명의 일 실시예에 따른 컴퓨터-실시 구성 도구의 그래픽 사용자 인터페이스를 도시한다.
다음의 설명에서, 본 발명이 어떻게 실시될 수 있는지를 예시적으로 도시하는 첨부된 도면이 참조된다.
도 1a-c는 최적화의 종래 기술의 형태의 일례인 차폐 선별을 도시한다. 차폐 선별의 기본적인 아이디어는 렌더링/시각화 공정에서 제외될 수 있는 숨겨진 표면을 찾기 위해 카메라와 장면 사이의 공간적 관계를 조사하는 것이다. 도 1a는 2개의 가상 카메라(102, 103), 대형 박스(104, 105, 106, 107), 및 소형 박스(108, 109, 110, 111)를 포함하는 3차원 장면의 평면도를 도시한다. 도 1b는 가상 카메라(102)에 의해 발생된 이미지를 도시한다. 대형 박스의 2개의 표면(104, 106)만이 보일 수 있고, 모든 나머지 표면은 숨겨진다. 광선 추적 방법을 사용하여, 차폐 선별 알고리즘은 이러한 숨겨진 면을 찾아서 이를 제거할 수 있다. 그러나, 이는 연산적으로 고도로 어려운 공정이다. 도 1c는 카메라(103)로부터 발생된 이미지를 도시한다. 시계의 변화로 인해, 대형 박스에 의해 이전에 가려졌던 소형 박스가 이제 보일 수 있다. 이는 차폐 선별 방법의 한계를 예시한다. 이는 고도로 시야 의존적이다. 이는 차폐 선별을 관찰 시계가 빈번히 변화하는 용도에 대해 덜 사용 가능하게 만든다.
도 2a는 본 발명의 일 실시예에 따른 컴퓨터 모델(201)의 일례를 도시한다. 이러한 예에서, 컴퓨터 모델(201)은 장난감 구성 시스템의 구성 요소로부터 축조된 장난감 모델을 표현한다. 컴퓨터 모델은 6개의 유사한 컴포넌트(202)로부터 축조되었지만; 다른 실시예에서, 컴포넌트의 개수 및 유형은 상이할 수 있다. 6개의 컴포넌트는 서로 중첩하여 위치되어, 삼각형 모델을 생성한다. 도 2b는 본 발명의 일 실시예에 따른 컴퓨터 모델(201)의 컴포넌트(202)의 일례를 도시한다. 컴포넌트(202)는 장난감 구성 요소를 표현한다. 장난감 구성 요소(202)는 6개의 직사각형 측면(215, 216, 217, 218, 219, 220) 및 상부로부터 돌출하는 8개의 원통(207, 208, 109, 110, 111, 112, 113, 114)을 포함한다. 도 1c는 본 발명의 일 실시예에 따른 컴포넌트의 다수의 부품의 일례를 도시한다. 8개의 원통(107, 108, 109, 110, 111, 112, 113, 114) 및 6개의 직사각형(215, 216, 217, 218, 219, 220)이 도시되어 있다. 표 1은 상이한 부품들에 대한 가능한 면 카운트를 도시한다.
도면 부호 101 102 107 108 109 110 111 112
면의 개수 9288 1548 192 192 192 192 192 192
도면 부호 213 214 215 216 217 218 219 220
면의 개수 192 192 2 2 2 2 2 2
도 3은 본 발명의 일 실시예에 따른 컴포넌트의 다수의 부품을 도시한다. 이러한 예의 컴포넌트는 도 2b에 도시된 장난감 구성 요소이다. 원통(301) 및 3개의 직사각형(302, 303, 304)이 도시되어 있다. 이러한 예에서, 고유한 부품만이 남겨져 있다.
도 7a는 본 발명의 일 실시예에 따른, 컴포넌트와 관련된 연결 구역의 예를 도시한다. 연결 구역은 컴포넌트가 어떻게 다른 컴포넌트에 연결될 수 있는지를 결정한다. 이러한 예에서, 6개의 연결 구역이 컴포넌트와 관련되지만; 임의의 수의 연결 구역이 규정될 수 있다. 유형 A의 연결 구역은 컴포넌트의 전방 및 후방과 관련되고, 유형 B의 연결 구역은 컴포넌트의 좌측 및 우측 측면과 관련되고, 유형 C의 연결 구역은 컴포넌트의 상면과 관련되고, 유형 D의 연결 구역은 컴포넌트의 하면과 관련된다. 상이한 유형의 연결 구역들은 다른 유형의 연결 구역과 선택적으로 양립 가능하다. 도 7b는 도 7a에서 규정된 연결 구역들의 양립성의 표의 일례를 도시한다. 연결 구역 A는 연결 구역 A, B, 및 D와 양립 가능하고, 연결 구역 B는 연결 구역 A, B, 및 D와 양립 가능하고, 연결 구역 C는 연결 구역 D와 양립 가능하고, 연결 구역 D는 연결 구역 A, B, C, 및 D와 양립 가능하다. 연결 구역들은 상이한 컴포넌트들 사이의 공간적 관계를 결정하기 위해 사용될 수 있다.
도 8은 본 발명의 일 실시예에 따른 컴포넌트의 연결 구역의 다른 예를 도시한다. 이러한 예에서, 연결 구역은 컴포넌트에 의해 표현되는 장난감 구성 요소가 마찰 결합 또는 다른 물리적 연결에 의해 서로 연결될 수 있는 위치에서만 규정된다. 도 8b는 연결 구역들의 양립성을 도시한다. 도 8c는 컴포넌트와 관련된 연결 구역들의 일례를 도시한다. 이러한 예에서, 다수의 연결 구역이 컴포넌트의 상면 및 하면 상에서 나란히 위치된다. 도 8d는 원형 연결 구역의 일례를 도시한다. 도면은 림(801)을 표현하는 컴포넌트를 도시한다. 림(801)은 관련된 단일 원형 연결 구역(802)을 갖는다. 도 8e는 2개의 컴포넌트, 림(801) 및 림(801)에 연결된 타이어(803)로 구성된 컴퓨터 모델(804)을 도시한다.
도 4는 장난감 모델의 컴퓨터 모델을 최적화하기 위해 사용되는 본 발명의 일 실시예를 도시한다. 도 4a는 최적화 이전의 장난감 모델을 도시하고, 도 4b는 최적화 이후의 장난감 모델을 도시한다. 장난감 모델은 나란히 위치된 3개의 장난감 축조 벽돌(401, 402, 403)로부터 축조된다. 이러한 실시예에서, 각각의 장난감 벽돌은 모델의 물리적 컴포넌트를 표현하지만; 다른 실시예에서, 컴포넌트는 다른 방식으로 규정될 수 있고, 예컨대, 제1 컴포넌트는 2개의 장난감 축조 벽돌(401, 402)로서 규정될 수 있고, 제2 컴포넌트는 장난감 축조 벽돌(403)로서 규정될 수 있거나, 또는 제1 컴포넌트는 장난감 축조 벽돌(401)의 면들의 제1 그룹으로서 규정될 수 있고 제2 컴포넌트는 장난감 축조 벽돌(401)의 면들의 제2 그룹으로서 규정될 수 있다. 이러한 예에서, 각각의 컴포넌트(401, 402, 403)는 도 1c에 도시된 부품들로 구성되고, 면의 개수는 표 1에 도시되어 있다. 각각의 컴포넌트(401, 402, 403)에 대해, 6개의 연결 구역들의 세트가 도 7a-b에 도시된 바와 같이 관련된다. 최적화 단계 이전에, 각각의 컴포넌트(401, 402, 403)는 1546개의 면을 포함하여, 전체 모델에 대해 4644개의 면을 생성한다. 모델을 최적화하기 위해, 컴포넌트(401, 402, 403)들 사이의 공간적 관계가 결정된다. 이는 컴포넌트들의 연결 구역들을 사용함으로써 달성될 수 있다. 제1 단계는 임의의 연결 구역이 다른 연결 구역들의 소정의 근접도 내에 그리고/또는 상대 배향의 소정의 범위 내에 있는지를 결정하기 위한 것일 수 있다. 이러한 예에서, 컴포넌트(401, 402)의 2개의 유형 B 연결 구역 및 컴포넌트(402, 403)의 2개의 유형 B 연결 구역이 접촉한다. 도 7b의 표로부터, 유형 B의 연결 구역이 그 자신과 양립 가능함을 알 수 있다. 다음으로, 연결 구역들 사이의 연결의 유형이 결정된다. 컴포넌트(401, 402, 403)들 사이의 결정된 공간적 관계를 사용하여, 각각의 컴포넌트의 다수의 부품이 선정된다. 이러한 예에서, 부품(218)은 컴포넌트(401)를 표현할 때 제외될 수 있고, 부품(216, 218)은 컴포넌트(402)를 표현할 때 제외될 수 있고, 부품(216)은 컴포넌트(403)를 표현할 때 제외될 수 있다. 그러므로, 전체 모델은 최적화 이전의 4644개의 면에 비교하여, 최적화 이후에 4636개의 면으로 표현될 수 있다. 표 2는 최적화 전후의 모델에 대한 면을 도시한다.
도면 부호 411 401 402 403
최적화 이후의 면의 개수 4636 1546 1544 1546
최적화되지 않은 면의 개수 4644 1548 1548 1548
도 5는 구조적 변화 이후에 모델을 재최적화하기 위해 사용되는 본 발명의 일 실시예를 도시한다. 모델(510)은 컴포넌트(501, 502, 503)와 동일한 유형의 2개의 컴포넌트(504, 505)가 추가된 도 4에 도시된 모델(411)이다. 2개의 컴포넌트(504, 505)는 3개의 아래에 놓인 컴포넌트(501, 502, 503)의 상면 상에 위치된다. 컴포넌트들 사이의 공간적 관계를 결정하기 위해, 연결 구역들 사이의 공간적 관계가 조사된다. 3개의 원래의 컴포넌트(501, 502, 503)들 사이의 공간적 관계의 조사는 그들이 이미 최적화되었으므로, 생략될 수 있다. 컴포넌트(504)는 컴포넌트(501, 502)의 2개의 유형 C 연결 구역과 접촉하는 유형 D 연결 구역, 및 컴포넌트(505)의 유형 B 연결 구역과 접촉하는 유형 B 연결 구역을 갖는다. 도 7b의 표로부터, 유형 D 연결 구역이 유형 C 연결 구역과 양립 가능하고, 유형 B가 유형 B와 양립 가능함을 알 수 있다. 이러한 예에서, 부분적 연결이 컴포넌트(504, 501 및 504, 502)들 사이에 존재하고, 완전한 연결이 컴포넌트(504, 505)들 사이에 존재한다. 컴포넌트(505)는 컴포넌트(502, 503)들의 2개의 유형 C 연결 구역과 접촉하는 유형 D 연결 구역, 및 컴포넌트(504)의 유형 B 연결 구역과 접촉하는 유형 B 연결 구역을 갖는다. 도 7b의 표로부터, 유형 D 연결 구역이 유형 C 연결 구역과 양립 가능함을 알 수 있다. 다시, 부분적 연결이 양 컴포넌트(505, 502 및 505, 503)들 사이에 존재한다. 컴포넌트들 사이의 결정된 공간적 관계를 사용하여, 각각의 컴포넌트에 대한 다수의 부품이 컴포넌트를 표현하기 위해 선정될 수 있다. 컴포넌트(501)에 대해, 부품(207, 208, 211, 212, 215, 216, 217, 219, 220)이 사용되고, 컴포넌트(502)에 대해, 부품(215, 219, 220)이 사용되고, 컴포넌트(503)에 대해, 부품(209, 210, 213, 214, 215, 218, 219, 220)이 사용되고, 컴포넌트(504)에 대해, 부품(207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 219)이 사용되고, 컴포넌트(505)에 대해, 부품(207, 208, 209, 210, 211, 212, 213, 214, 215, 217, 218, 219)이 사용된다. 부품(209)은 부품이 도 5b에서 보이지 않더라도, 컴포넌트(503)를 표현하기 위해 여전히 사용됨을 알아야 한다. 이는 부품이 모델의 컴포넌트들 사이의 공간적 관계가 아닌, 모델과 가상 카메라 사이의 공간적 관계의 결과로서 숨겨지기 때문이다. 전체 모델은 최적화 이전의 7740개에 비교하여 4650개의 면을 사용하여 표현될 수 있고, 이는 면의 개수의 39.9% 감소에 대응한다. 표 3은 최적화 전후의 모델에 대한 면 카운트를 도시한다.
도면 부호 511 501 502 503 504 505
최적화 이후의 면의 개수 4650 778 6 778 1544 1544
부분적으로 최적화된 면의 개수 7732 1546 1544 1546 1548 1548
최적화되지 않은 면의 개수 7740 1548 1548 1548 1548 1548
도 6은 본 발명의 일 실시예에 따른, 구조적 변화가 발생한 모델의 재최적화의 다른 예를 도시한다. 모델(611)은 컴포넌트(601, 602, 603, 604, 605)와 동일한 유형의 다른 컴포넌트가 추가된 도 5의 모델(511)이다. 컴포넌트(606)는 컴포넌트(604, 605)의 상면 상에 위치된다. 컴포넌트들 사이의 공간적 관계를 결정하기 위해, 연결 구역들 사이의 공간적 관계가 조사된다. 5개의 원래의 컴포넌트(601, 602, 603, 604, 605)들의 연결 구역들 사이의 관계의 조사는 이들이 이미 최적화되었으므로, 생략될 수 있다. 컴포넌트(606)는 컴포넌트(604, 605)의 2개의 유형 C 연결 구역과 접촉하는 유형 D 연결 구역을 갖는다. 도 7b의 표로부터, 유형 D 연결 구역이 유형 C 연결 구역과 양립 가능함을 알 수 있다. 부분적 연결이 양 컴포넌트(606, 604 및 606, 605)들 사이에 존재한다. 컴포넌트들 사이의 결정된 공간적 관계를 사용하여, 각각의 컴포넌트에 대한 다수의 부품이 컴포넌트를 표현하기 위해 선정될 수 있다. 컴포넌트(601)에 대해, 부품(207, 208, 211, 212, 215, 216, 217, 219, 220)이 사용되고, 컴포넌트(602)에 대해, 부품(215, 219, 220)이 사용되고, 컴포넌트(603)에 대해, 부품(209, 210, 213, 214, 215, 218, 219, 220)이 사용되고, 컴포넌트(604)에 대해, 부품(207, 208, 211, 212, 215, 216, 217, 219)이 사용되고, 컴포넌트(605)에 대해, 부품(209, 210, 213, 214, 215, 217, 218, 219)이 사용되고, 컴포넌트(606)에 대해, 부품(207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219)이 사용된다. 마지막 예에서의 경우에서와 같이, 부품(209)은 부품이 도 6b에서 보이지 않더라도, 양 컴포넌트(603, 605)를 표현하기 위해 여전히 사용됨을 알아야 한다. 전체 모델은 최적화 이전의 9288개에 비교하여 4660개의 면을 사용하여 표현될 수 있고, 이는 면의 개수의 49.8% 감소에 대응한다. 표 4는 최적화 전후의 모델에 대한 면 카운트를 도시한다.
도면 부호 611 601 602 603 604 605 606
최적화 이후의 면의 개수 4660 778 6 778 776 776 1546
부분적으로 최적화된 면의 개수 6198 778 6 778 1544 1544 1548
최적화되지 않은 면의 개수 9288 1548 1548 1548 1548 1548 1548
예로부터, 방법은 복잡한 모델에 대해 더 효과적임을 알 수 있다. 이는 복잡한 모델에 대해, 최적화가 특히 중요하므로, 방법의 매우 유용한 효과이다.
도 9a는 본 발명의 일 실시예에 따른, 컴퓨터 모델(1001)의 다른 예를 도시한다. 컴퓨터 모델(1001)은 마커를 표현한다. 컴퓨터(1001)는 마커의 커버에 대응하는 2개의 컴포넌트(901) 및 마커의 본체에 대응하는 컴포넌트(902)를 포함한다. 도 9b는 마커 본체(902)를 부품으로 분할하기 위한 가능한 방법을 도시한다. 마커 본체의 팁은 5개의 부품(903, 904, 905, 906, 907)으로 분할되고, 마커 본체(908)의 유지 부분은 단일 부품(908)을 사용하여 표현된다. 도 9c는 마커(901)의 커버가 어떻게 부품들로 분할될 수 있는지의 예를 도시한다. 커버의 외측 부품은 부품(909)에 의해 표현되고, 커버의 내측 부분은 부품(910)에 의해 표현된다.
도 10은 본 발명의 방법의 일 실시예가 어떻게 도 9에 도시된 컴퓨터 모델을 최적화하기 위해 사용될 수 있는지의 예를 도시한다. 2개의 컴포넌트(1002, 1003)들 사이의 공간적 관계를 조사함으로써, 방법은 부품(903, 904, 905, 906, 907, 910)이 모든 시계로부터 숨겨진 것을 결정할 수 있다. 이는 컴포넌트(1002, 1003)의 차폐 구역 및/또는 연결 구역을 조사함으로써 달성될 수 있다. 그러므로, 부품들은 최적화 이후의 컴퓨터 모델을 도시하는 도 10b에 도시된 바와 같이 제외될 수 있다.
도 11은 본 발명의 방법의 일 실시예가 어떻게 도 9와 관련하여 설명된 컴퓨터 모델을 최적화하기 위해 사용될 수 있는지의 다른 예를 도시한다. 2개의 컴포넌트(1002, 1003)들 사이의 공간적 관계를 조사함으로써, 방법은 부품들이 모든 시계로부터 숨겨지지 않은 것을 결정할 수 있다. 그러므로, 결과적으로, 부품들은 제외되지 않고, 도 11b에 도시된 최적화 이후의 컴퓨터 모델은 최적화 이전의 도 11a에 도시된 컴퓨터 모델과 동일하다.
도 12는 본 발명의 일 실시예에 따른 컴퓨터 모델을 시각화/렌더링하기 위한 방법의 흐름도를 도시한다. 컴퓨터 모델은 다수의 컴포넌트로 구성되는 것으로 규정되고, 각각의 컴포넌트는 다수의 부품으로 구성되는 것으로 규정된다. 본 발명의 방법의 실시예는 모델을 시각화/렌더링하기 위해 사용되는 각각의 컴포넌트에 대한 다수의 부품을 선택적으로 선정한다. 방법의 제1 단계(1201)에서, 컴포넌트의 다수의 부품이 저장된다. 이는 컴포넌트가 최적화될 수 있는 방법이 컴포넌트가 어떻게 부품들로 분할되는지에 의해 결정됨을 의미한다. 다음 단계(1202)에서, 컴포넌트들의 위치 및 배향이 저장된다. 위치는 임의의 좌표계 내에 저장될 수 있다. 다음으로, 컴포넌트의 저장된 위치는 컴포넌트들 사이의 단계(1203)에서의 공간적 관계를 결정하기 위해 사용된다. 공간적 관계는 컴포넌트들의 연결 구역들을 조사함으로써 결정될 수 있고, 여기서 공간적 관계를 결정하는 것은, 예컨대, 다른 컴포넌트의 양립 가능한 연결 구역에 연결된 하나의 컴포넌트의 연결 구역을 결정함으로써, 컴포넌트들의 연결 특성을 결정하는 것을 포함할 수 있다. WO 2004/034333호는 컴포넌트들 사이의 공간적 관계를 결정하기 위한 방법을 개시한다. 컴포넌트들의 결정된 공간적 관계는 그 다음 단계(1204)에서 컴포넌트를 시각화/렌더링하는데 사용하기 위한 각각의 컴포넌트에 대한 다수의 부품을 선정하기 위해 사용되고, 결정된 부품을 사용하여, 모델은 단계(1205)에서 시각화/렌더링된다.
도 13 및 14는 본 발명의 일 실시예에 따른 컴포넌트를 표현하기 위해 사용되는 다수의 부품을 도시한다. 이러한 예에서, 컴포넌트는 장난감 축조 벽돌이다. 8개의 부품(1302, 1303, 1304, 1305)이 장난감 축조 벽돌의 노브를 표현하기 위해 사용되고, 하나의 부품이 벽돌의 외측 케이싱(1306)을 표현하기 위해 사용되고, 2개의 부품이 벽돌의 내측 케이싱(1037, 1308)을 표현하기 위해 사용되고, 3개의 부품이 벽돌 하부의 원통(1309, 1310, 1311)을 표현하기 위해 사용된다.
도 15a는 본 발명의 일 실시예에 따른 컴포넌트(1501)를 도시한다. 컴포넌트(1501)는 정사각형 장난감 구성 요소를 표현한다. 도 15b는 본 발명의 일 실시예에 따른 컴포넌트(1502)를 도시한다. 컴포넌트(1502)는 원통형 장난감 구성 요소를 표현한다. 도 15c는 컴포넌트(1501)의 부품(1503, 1504, 1505, 1506, 1507, 1515)을 도시한다. 도 15d는 컴포넌트(1502)의 부품(1508, 1509, 1510)을 도시한다. 도 15e는 컴포넌트(1501)와 관련된 특정 유형의 2개의 차폐 구역(1511, 1512)을 도시한다. 차폐 구역(1511, 1512)은 바람직하게는 컴포넌트가 다른 컴포넌트에 연결될 수 있는 컴포넌트의 부분에 위치된다. 이러한 예에서, 차폐 구역(1511, 1512)은 컴포넌트(1501)의 상면 및 하면에 위치된다. 이러한 위치는 다른 장난감 구성 요소에 연결될 수 있는, 컴포넌트(1501)가 표현하는 장난감 구성 요소의 부분에 대응한다. 차폐 구역의 유형은 그의 형상 및/또는 크기에 의존할 수 있다. 이러한 예에서, 차폐 구역(1511, 1512)은 정사각형 차폐 구역이다. 차폐 구역은 그의 컴포넌트의 링크된 하나 이상의 부품일 수 있다. 이러한 예에서, 차폐 구역(1512)은 부품(1503)에 링크되고, 차폐 구역(1511)은 부품(1515)에 링크된다. 도 15f는 컴포넌트(1502)와 관련된 특정 유형의 2개의 차폐 구역(1513, 1514)을 도시한다. 이러한 예에서, 차폐 구역(1513, 1514)은 컴포넌트(1502)의 상면 및 하면에 위치된다. 이러한 위치는 다른 장난감 구성 요소에 연결될 수 있는, 컴포넌트(1502)가 표현하는 장난감 축조 벽돌의 부분에 대응한다. 이러한 예에서, 차폐 구역(1513, 1514)은 원형이다. 이러한 예에서, 차폐 구역(1513)은 부품(1510)에 링크되고, 차폐 구역(1514)은 부품(1509)에 링크된다.
도 16은 본 발명의 일 실시예에 따른 모델 최적화의 일례를 도시한다. 컴퓨터 모델(1601)은 2개의 정사각형 장난감 구성 요소(1603, 1604)로 축조된 장난감 모델을 표현한다. 이러한 예에서, 각각의 장난감 구성 요소(1603, 1604)는 컴포넌트에 대응하고, 각각의 컴포넌트는 도 15c에 도시된 부품(1503, 1504, 1505, 1506, 1507, 1515)으로 구성된다. 각각의 컴포넌트는 도 15e에 도시된 바와 같이 관련된 2개의 차폐 구역(1511, 1512)을 추가로 갖는다. 컴퓨터 모델(1601)을 최적화하기 위해, 2개의 컴포넌트(1603, 1604)들의 차폐 구역들 사이의 공간적 관계가 조사된다. 컴포넌트(1603)의 차폐 구역(1511)과 컴포넌트(1604)의 차폐 구역(1512) 사이의 거리, 및 그들의 서로에 대한 배향을 조사함으로써, 방법은 2개의 차폐 구역들이 접촉하는 것을 결정할 수 있다. 2개의 차폐 구역들이 접촉할 때, 논리 규칙이 하나의 차폐 구역이 다른 것을 차폐하는지 그리고 차폐 구역들 중 임의의 하나에 링크된 임의의 부품이 컴포넌트를 시각화/렌더링하기 위해 제외될 수 있는지를 결정하기 위해 사용될 수 있다. 이러한 예에서, 가능한 논리 규칙은 다음과 같을 수 있다:
1. 크기 X의 정사각형 차폐 구역이 X보다 작거나 동일한 크기의 원형 및 정사각형 차폐 구역을 차폐한다.
2. 크기 Y의 원형 차폐 구역이 Y보다 작거나 동일한 크기의 원형 차폐 구역을 차폐한다.
3. 차폐된 차폐 구역에 링크된 부품이 컴포넌트를 시각화/렌더링할 때 제외될 수 있다.
논리 규칙 1을 사용하여, 방법은 부품(1603)의 차폐 구역(1511)이 부품(1604)의 차폐 구역(1512)을 차폐하고, 부품(1604)의 차폐 구역(1512)이 부품(1603)의 차폐 구역(1511)을 차폐하는 것을 결정할 수 있다. 이에 의해, 최적화된 모델(1602)은 컴포넌트(1603)를 표현하기 위해 부품(1515)을 그리고 부품(1604)을 표현하기 위해 부품(1503)을 사용하지 않고서 표현될 수 있다.
도 17은 본 발명의 일 실시예에 따른 모델 최적화의 일례를 도시한다. 컴퓨터 모델(1701)은 정사각형 장난감 구성 요소(1704) 및 원형 장난감 구성 요소(1703)로 축조된 장난감 모델을 표현한다. 이러한 예에서, 각각의 장난감 구성 요소(1703, 1704)는 컴포넌트에 대응한다. 정사각형 장난감 구성 요소는 도 15c에 도시된 부품(1503, 1504, 1505, 1506, 1507, 1515)으로 구성되고, 원형 장난감 구성 요소는 도 15d에 도시된 부품(1508, 1509, 1510)으로 구성된다. 정사각형 장난감 구성 요소(1704)는 도 15e에 도시된 바와 같이 관련된 2개의 차폐 구역(1511, 1512)을 갖고, 원형 장난감 구성 요소(1703)는 도 15f에 도시된 바와 같이 관련된 2개의 차폐 구역(1513, 1514)을 갖는다. 컴퓨터 모델(1601)을 최적화하기 위해, 2개의 컴포넌트(1703, 1704)들의 차폐 구역들 사이의 공간적 관계가 조사된다. 이러한 예에서, 컴포넌트(1703)의 차폐 구역(1514)과 컴포넌트(1704)의 차폐 구역(1512)이 접촉하는 것으로 발견된다. 3개의 앞서 기술된 논리 규칙을 사용하여, 방법은 컴포넌트(1704)의 정사각형 차폐 구역(1512)이 컴포넌트(1703)의 원형 차폐 구역(1514)을 차폐하지만, 컴포넌트(1703)의 원형 차폐 구역(1514)은 컴포넌트(1704)의 정사각형 차폐 구역(1512)을 차폐하지 않는 것을 결정한다. 이에 의해, 최적화된 컴퓨터 모델(1702)은 컴포넌트(1703)를 표현하기 위해 부품(1509)을 사용하지 않고서 표현될 수 있지만, 전체 개수의 부품이 여전히 컴포넌트(1704)를 표현하기 위해 사용될 필요가 있다.
도 23a는 컴포넌트가 어떻게 부품들로 분할될 수 있는지의 본 발명의 일 실시예에 따른 일례를 도시한다. 부품들이 표현하는 컴포넌트는 도 15a에 도시된 정사각형 장난감 구성 요소(1501)이다. 이러한 예에서, 원통(2305) 및 박스(2306)는 부품을 사용하여 표현된다. 도 23b는 차폐 구역이 어떻게 컴포넌트와 관련될 수 있는지의, 본 발명의 일 실시예에 따른 일례를 도시한다. 이러한 예의 차폐 구역은 컴포넌트(1501)와 관련된다. 차폐 구역(2311, 2312)은 컴포넌트(1501)에 의해 차폐되는 다른 컴포넌트의 부품들을 찾기 위해 사용되고, 차폐 구역(2313)은 다른 컴포넌트에 의해 차폐되는 컴포넌트(1501)의 부품(들)을 찾기 위해 사용된다. 차폐 구역(2311, 2312)은 임의의 부품에 링크되지 않고, 차폐 구역(2313)은 부품(2305)에 링크된다.
도 23c는 본 발명의 일 실시예에 따른 모델 최적화의 일례를 도시한다. 컴퓨터 모델(2301)은 정사각형 장난감 구성 요소(2304) 및 원형 장난감 구성 요소(2303)로 축조된 장난감 모델을 표현한다. 이러한 예에서, 각각의 장난감 구성 요소(2303, 2304)는 컴포넌트에 대응한다. 정사각형 장난감 구성 요소는 도 23a에 도시된 부품(2305, 2306)으로 구성되고, 원형 장난감 구성 요소는 도 15d에 도시된 부품(1508, 1509, 1510)으로 구성된다. 정사각형 장난감 구성 요소(2304)는 도 23b에 도시된 바와 같이 관련된 3개의 차폐 구역(2311, 2312, 2313)을 갖고, 원형 장난감 구성 요소(2303)는 도 15f에 도시된 바와 같이 관련된 2개의 차폐 구역(1513, 1514)을 갖는다. 컴퓨터 모델(2301)을 최적화하기 위해, 2개의 컴포넌트(2303, 2304)들의 차폐 구역들 사이의 공간적 관계가 조사된다. 이러한 예에서, 컴포넌트(2303)의 차폐 구역(1514)과 컴포넌트(2304)의 차폐 구역(2312)이 접촉하는 것으로 발견되고, 컴포넌트(2304)의 차폐 구역(2313)과 컴포넌트(2303)의 차폐 구역(1513)이 접촉하는 것으로 발견된다. 3개의 앞서 기술된 논리 규칙을 사용하여, 방법은 컴포넌트(2304)의 정사각형 차폐 구역(2312)이 컴포넌트(2303)의 원형 차폐 구역(1514)을 차폐하고, 컴포넌트(2303)의 원형 차폐 구역(1514)이 컴포넌트(2304)의 원형 차폐 구역(2313)을 차폐하는 것을 결정한다. 이에 의해, 최적화된 컴퓨터 모델(2301)은 컴포넌트(2303)를 표현하기 위해 부품(1509)을 그리고 컴포넌트(2304)를 표현하기 위해 부품(2305)을 사용하지 않고서 표현될 수 있다. 본 발명의 실시예에서, 차폐 구역(들)의 제1 및 제2 집합이 컴포넌트와 관련될 수 있다. 차폐 구역(들)의 제1 집합은 컴포넌트에 의해 숨겨지는 다른 컴포넌트의 부품을 찾기 위해 사용될 수 있고, 차폐 구역(들)의 제2 집합은 다른 컴포넌트에 의해 숨겨지는 컴포넌트의 부품을 찾기 위해 사용될 수 있다.
도 18은 본 발명의 일 실시예에 따른, 컴포넌트가 어떻게 부품들로 분할될 수 있는지의 일례를 도시한다. 부품들이 표현하는 컴포넌트는 도 15a에 도시된 정사각형 장난감 구성 요소(1501)이다. 이러한 예에서, 2개의 부품(1802, 1803)이 컴포넌트(1501)의 공통 부분을 표현한다. 제1 부품(1802)은 상면 상에 원통을 구비한 정사각형에 대응하고, 제2 부품(1803)은 정사각형에 대응한다. 제1 부품은 제2 부품보다 높은 디테일 수준을 갖는다. 그러므로, 더 적은 연산 자원이 제1 부품(1802)보다 제2 부품(1803)을 시각화/렌더링하기 위해 필요하다. 바람직하게는, 이때 제1 부품(1802) 또는 제2 부품(1803) 중 최대 하나가 장난감 구성 요소(1501)를 표현하기 위해 사용된다. 나머지 부품(1804, 1805, 1806, 1807, 1808)은 도 15c에 도시된 부품에 대응한다.
도 19는 본 발명의 일 실시예에 따른 모델 최적화의 일례를 도시한다. 컴퓨터 모델(1901)은 정사각형 장난감 구성 요소(1904) 및 원형 장난감 구성 요소(1903)로 축조된 장난감 모델을 표현한다. 이러한 예에서, 각각의 장난감 구성 요소(1903, 1904)는 컴포넌트에 대응한다. 정사각형 장난감 구성 요소(1904)는 도 18에 도시된 부품(1802, 1803, 1804, 1805, 1806, 1807, 1808)을 사용하여 표현되고, 원형 장난감 구성 요소는 도 15d에 도시된 부품(1508, 1509, 1510)을 사용하여 표현된다. 컴포넌트(1904)는 도 15e에 도시된 바와 같이 관련된 2개의 차폐 구역(1511, 1512)을 갖고, 차폐 구역(1511)이 부품(1803)에 링크되고, 차폐 구역(1512)이 양 부품(1802) 및 부품(1803)에 링크되는 차이점이 있다. 컴포넌트(1903)는 도 15f에 도시된 바와 같이 관련된 2개의 차폐 구역(1513, 1514)을 갖는다. 컴퓨터 모델(1901)을 최적화하기 위해, 2개의 컴포넌트(1903, 1904)들의 차폐 구역들 사이의 공간적 관계가 조사된다. 이러한 예에서, 컴포넌트(1903)의 차폐 구역(1514)과 컴포넌트(1904)의 차폐 구역(1512)이 접촉하는 것으로 발견된다. 2개의 차폐 구역들이 접촉하는 것으로 발견될 때, 하나의 차폐 구역이 다른 것을 차폐하는지 그리고 차폐 구역들 중 임의의 하나에 링크된 임의의 부품이 컴포넌트를 시각화/렌더링하기 위해 제외될 수 있는지를 결정하기 위해 논리 규칙이 사용될 수 있다. 이러한 예에서, 가능한 논리 규칙은 다음과 같을 수 있다:
1. 크기 X의 정사각형 차폐 구역이 X보다 작거나 동일한 크기의 원형 및 정사각형 차폐 구역을 차폐한다.
2. 크기 Y의 원형 차폐 구역이 Y보다 작거나 동일한 크기의 원형 차폐 구역을 차폐한다.
3. 크기 Y의 원형 차폐 구역이 Y보다 작거나 동일한 크기의 정사각형 차폐 구역을 부분적으로 차폐한다.
4. 차폐된 차폐 구역에 링크된 부품이 컴포넌트를 시각화/렌더링할 때 제외될 수 있다.
5. 2개의 부품이 컴포넌트의 공통 부분을 표현하고, 차폐 구역에 링크될 때, 차폐 구역이 부분적으로 차폐되면, 최저 디테일 수준을 구비한 부품을 사용한다.
6. 2개의 부품이 컴포넌트의 공통 부분을 표현하고, 차폐 구역에 링크될 때, 차폐 구역이 차폐되지 않으면, 최고 디테일 수준을 구비한 부품을 사용한다.
논리 규칙 1 및 4를 사용하여, 부품(1509)은 컴포넌트(1903)를 시각화/렌더링할 때 제외될 수 있고, 부품(1803)은 컴포넌트(1904)를 시각화/렌더링하기 위해 부품(1802) 대신에 사용될 수 있다. 이에 의해, 양 컴포넌트(1903, 1904)는 최적화되어, 컴퓨터 모델(1901)을 시각화/렌더링하기 위해 필요한 연산 자원을 추가로 저감시킬 수 있다. 이러한 예에서, 컴포넌트(1904)를 시각화/렌더링하기 위해 부품(1802) 대신에 부품(1803)을 사용하는 시각적 손실이 없지만, 다른 실시예에서, 다양한 시각적 손실이 발생할 수 있다.
도 20은 본 발명의 일 실시예에 따른 컴퓨터 모델을 시각화/렌더링하기 위한 방법의 흐름도를 도시한다. 단계(2001)에서, 방법은 모델의 모든 컴포넌트가 평가되었는지를 결정한다. 응답이 아니오이면, 방법은 단계(2002)에서 다음의 컴포넌트를 선정함으로써 계속된다. 단계(2003)에서, 방법은 선정된 컴포넌트의 모든 부품(들)이 조사되었는지를 결정한다. 응답이 아니오이면, 방법은 단계(2004)에서 다음 부품을 선정한다. 단계(2005)에서, 방법은 부품에 링크된 모든 차폐 구역이 조사되었는지를 결정한다. 응답이 아니오이면, 방법은 단계(2006)에서 다음 차폐 구역을 선정한다. 다음으로, 단계(2007)에서, 방법은 선정된 차폐 구역을 조사한다. 방법은 선정된 차폐 구역과 다른 컴포넌트의 임의의 다른 차폐 구역 사이의 공간적 관계를 결정함으로써 차폐 구역을 조사할 수 있다. 공간적 관계는 선정된 차폐 구역과 다른 차폐 구역 사이의 거리를 조사함으로써 결정될 수 있다. 2개의 차폐 구역들 사이의 거리가 소정의 범위 내에 있으면, 차폐 구역들은 접촉하는 것으로 결정될 수 있다. 추가로, 차폐 구역의 상대 배향이 이들이 접촉하는지를 결정하기 위해 사용될 수 있다. 2개의 차폐 구역들은 접촉하는 것으로 분류되기 위해 물리적으로 접촉할 필요는 없고, 이들은 단지 서로 근접할 수 있다. 2개의 차폐 구역들이 접촉하는 것으로 발견될 때, 논리 규칙이 이들의 서로를 차폐하는지 그리고 어떻게 차폐하는지를 결정하기 위해 적용될 수 있다. 차폐 구역은 도 19에 관련하여 설명된 바와 같이 전체적으로 차폐되거나 부분적으로 차폐될 수 있다. 방법은 단계(2007)에서 선정된 차폐 구역을 조사하는 것을 마무리한 후에, 단계(2005)로 복귀하여, 부품에 링크된 모든 차폐 구역들이 조사되었는지를 조사한다. 응답이 예이면, 방법은 단계(2008)로 진행하여, 선정된 부품이 전체적으로 차폐되는지를 결정한다. 응답이 아니오이면, 방법은 단계(2009)로 진행하여, 부품이 부분적으로 차폐되는지를 결정한다. 응답이 다시 아니오이면, 방법은 단계(2003)로 복귀한다. 단계(2009)에서, 응답이 예이면, 방법은 단계(2011)에서 부품이 낮은 디테일 수준 버전을 갖는지를 결정한다. 낮은 디테일 수준 버전은 디테일을 덜 갖는 부품의 버전일 수 있고, 예컨대, 부품이 상면 상에서 돌출하는 원통을 구비한 정사각형으로 구성된 장난감 구성 요소의 상면을 표현하면, 부품의 낮은 디테일 수준 버전은 단순히 원통이 없는 정사각형일 수 있다. 응답이 아니오이면, 방법은 단계(2003)로 복귀한다. 응답이 예이면, 방법은 렌더링 공정에서 부품을 낮은 디테일 수준 버전으로 대체하고, 단계(2003)로 복귀한다. 단계(2008)에서, 방법은 선정된 부품이 전체적으로 차폐되는 것을 결정하면, 단계(2013)에서 선정된 부품을 제거하고, 단계(2003)로 복귀한다. 방법은 단계(2003)에서, 선정된 컴포넌트의 모든 부품이 평가되었다고 결정하면, 단계(2001)로 복귀한다. 단계(2001)에서, 방법이 모델의 모든 컴포넌트가 평가되었다고 결정하면, 방법은 단계(2014)에서 시각화/렌더링 공정을 시작하고, 모델의 표현을 발생시킨다. 표현은 모델의 2차원 투시도일 수 있다. 모델의 2차원 투시도는 스크린 상에 직접 도시되고 그리고/또는 디지털 파일로 저장될 수 있다.
도 20의 예에서, 공정은 차폐 구역에 직접 기초하여 2개의 컴포넌트들 사이의 공간적 관계를 결정한다. 대안적인 실시예에서, 공정은 본원에서 설명되는 바와 같이 연결 구역에 적어도 부분적으로 기초하여 공간적 관계를 결정할 수 있다. 특히, 일 실시예에서, 컴포넌트의 각각의 부품은 하나 이상의 연결 구역 및 이와 관련된 하나 이상의 차폐 구역을 가질 수 있다. 예를 들어, 제1 부품은 그와 관련된 하나 이상의 연결 구역을 가질 수 있고, 각각의 연결 구역은 그와 관련된 차폐 구역을 가질 수 있다. 제1 부품에 링크된 적어도 제1 연결 구역이 다른 컴포넌트의 양립 가능한 연결 구역에 연결되면, 공정은 부품이 연결로 인해 차폐되는 지의 여부 (및/또는 정도)를 결정한다. 이러한 목적으로, 공정은 다른 컴포넌트의 연결 구역에 링크된 차폐 구역이, 예컨대, 위에서 설명된 바와 같이, 제1 연결 구역에 링크된 차폐 구역을 차폐하는지를 결정한다.
따라서, 몇몇 실시예에서, 공정은 부품이 다른 컴포넌트의 제2 연결 구역에 연결된, 그와 관련된 제1 연결 구역을 가지면, 또는 제2 연결 구역이 제1 연결 구역과 관련된 제1 차폐 구역을 차폐하는, 그와 관련된 제2 차폐 구역을 가지면, 부품이 컴포넌트를 시각화/렌더링하기 위해 사용되지 않는 것을 결정한다.
도 21은 본 발명의 일 실시예에 따른 컴퓨터 모델의 데이터 구조를 도시한다. 컴퓨터 모델(2101)의 데이터 구조는 모델 파라미터(2102) 및 다수의 컴포넌트 및 선택적으로 연결 구역 양립성 표(2121) 및 다수의 차폐 규칙(2122)을 포함할 수 있다. 모델 파라미터(2102)는 적합한 좌표계 내에서의 모델의 위치 및 배향에 관련된 정보를 포함할 수 있다. 모델 파라미터(2102)는 아울러 시간에 따라 애니메이팅될 수 있다. 연결 구역 양립성 표(2121), 예컨대, 도 7b에 도시된 표는 상이한 유형의 연결 구역들의 양립성에 관련된 정보를 포함할 수 있다. 차폐 규칙, 예컨대, 앞서 기술된 논리 규칙은 상이한 유형의 차폐 구역들이 어떻게 서로를 차폐하는지를 규정할 수 있다. 컴포넌트(2104)의 데이터 구조는 컴포넌트 파라미터(2105), 다수의 연결 구역(2106), 다수의 차폐 구역(2107) 및 다수의 부품(2108)을 포함할 수 있다. 컴포넌트 파라미터(2105)는 컴포넌트의 위치 및 배향에 관련된 정보를 포함할 수 있다. 연결 구역(2109)의 데이터 구조는 연결 구역 파라미터(2110)와, 선택적으로 다른 컴포넌트(2111)의 연결 구역과 이루어진 연결의 정보를 포함할 수 있다. 연결 구역 파라미터(2110)는 연결 구역의 위치, 배향, 형상, 및 유형에 관련된 정보를 포함할 수 있다. 차폐 구역(2112)의 데이터 구조는 차폐 구역 파라미터(2113)와, 선택적으로 차폐 구역(2114)에 링크된 부품 및 차폐 구역의 다른 컴포넌트(2115)의 다른 차폐 구역과의 연결을 표시하는 정보를 포함할 수 있다. 차폐 구역 파라미터(2113)는 차폐 구역의 위치, 배향, 형상 및 유형에 관련된 정보를 포함할 수 있다. 부품(2116)에 대한 데이터 구조는 부품 파라미터(2117) 및 선택적으로 다수의 낮은 디테일 수준 부품(2118) 및 부품(2118)에 링크된 차폐 구역을 표시하는 정보를 포함할 수 있다. 부품 파라미터(2117)는 부품의 위치, 배향, 및 형상에 관련된 정보를 포함할 수 있다. 낮은 디테일 수준 부품에 대한 데이터 구조는 낮은 LOD(level of detail) 부품의 위치, 배향, 및 형상에 관련된 정보를 포함할 수 있는 파라미터(2120)를 포함할 수 있다.
대체로, 몇몇 실시예에서, 다른 컴포넌트에 대한 연결을 제공하는 복합 제품의 컴포넌트들의 연결 구역들은 규칙적인 구조, 예컨대, 각각의 그리드 위치가 연결 구역을 표현하는 규칙적인 2차원 그리드로 배열될 수 있다. 각각의 연결 구역은 그와 관련된 유형을 갖고, 주어진 쌍의 연결 구역들이 연결을 제공하도록 상호 작용하는지의 여부가, 예컨대, 적합한 데이터 구조로 규정된 바와 같은 그들의 유형에 의해 결정된다. 일 실시예에서, 연결을 형성하기 위해 모델 내의 다른 연결 구역과 상호 작용하는 연결 구역들만이 차폐 시험을 수행할 때 최적화 공정에 의해 고려된다. 연결 구역은 유형을 갖는 것에 추가하여, 그와 관련된 차폐 구역을 또한 갖는다. 연결부의 양 측면 상의 차폐 구역들을 비교함으로써, 공정은 컴포넌트의 부품이 어떻게 연결부의 양 측면 상에서 제거되거나 선택적인 부품에 의해 교체될 수 있는지를 결정한다. 선택적인 부품은 선택적인 부품에 의해 교체되는 부품의 디테일 수준보다 낮은 디테일 수준을 가질 수 있다.
모델 내의 컴포넌트가 렌더링의 목적으로 최적화될 때마다, 공정은 각각의 컴포넌트의 모든 부품을 통해 반복되어, 각각의 부품이 의존하고 다른 연결 구역과의 연결을 형성하는 연결 구역을 조사할 수 있다. 결과는 부품이 각각의 연결을 형성하는 연결 구역과 관련된 차폐 구역의 각각의 유형에 의존하여, 부품이 제거될 수 있는지, 선택적인 부품에 의해 대체될 수 있는지, 또는 완전한 품질로 보일 수 있는지를 결정한다.
예를 들어, 모델의 디지털 표현 시에, 최적화 중에 잠재적으로 제거될 수 있는 컴포넌트의 각각의 부품은, 예컨대, 규칙적인 그리드 및 상기 그리드 내의 연결 구역의 위치를 식별하는 속성과 같은, 하나 이상의 적합한 속성을 부품에 관련시킴으로써, 연결 구역에 링크될 수 있다. 일 실시예에서, 부품이 임의의 연결 구역에 의존하지 않으면, 그러한 부품은 항상 보인다.
일 실시예에서, 컴포넌트의 부품이 하나보다 많은 연결 구역에 의존할 때마다, 최적화 공정은 연결 구역의 연결 특성 및 연결된 연결 구역의 대응하는 차폐 구역에 기초하여 각각의 연결 구역에 대한 차폐 특성을 결정한다. 예를 들어, 각각의 연결 구역에 대한 결과는 "숨겨짐", "선택적", 및 "보임" 중 하나일 수 있다. 하나보다 많은 연결 구역에 의존하는 부품에 대한 전체적인 결과는 그 다음 최소 최적화를 생성하는 연결 구역의 결과로서 결정될 수 있다: 예컨대, 8개의 연결 구역에 의존하는 부품에 대해, 7개의 "숨겨짐" 및 1개의 "선택적" 결과가 "선택적"을 산출하고; 유사하게, 1개의 "숨겨짐", 6개의 "선택적" 및 1개의 "보임"이 "보임"을 산출한다. 결과가 "선택적"이고, 선택적인 부품이 현재의 부품에 대해 이용 가능하지 않으면, 결과는 "보임"으로 변환된다. 임의의 단일 연결 구역이 "보임"을 생성하면, 더 이상의 연결 구역이 현재의 부품에 대해 시험될 필요가 없다. 연결 구역이 "보임"을 생성하지 않는 한, 공정은 "숨겨짐"/"선택적" 결과를 결정하기 위해 나머지 연결 구역을 계속 시험한다.
도 22는 컴퓨터 시스템의 일례의 개략도를 도시한다. 전체적으로 2200으로 표시된 컴퓨터 시스템은 디스플레이(2220), 키보드(2221), 및 컴퓨터 마우스(2222) 및/또는 터치 패드, 트랙 볼, 광 펜, 터치 스크린 등과 같은 다른 포인팅 장치를 포함하는, 적합하게 프로그램된 컴퓨터(2201), 예컨대 개인용 컴퓨터, 워크스테이션 등을 포함한다. 컴퓨터 시스템은 모든 접근 가능한 컴퓨터 모델, 컴포넌트 및 부품에 대한 정보를 저장하기 위한 데이터베이스(2202)를 추가로 포함한다. 데이터베이스(2202)는 임의의 적합한 데이터베이스 시스템, 예컨대, 오라클(Oracle) 또는 마이에스큐엘(MySQL) 데이터베이스 등과 같은 연관 데이터베이스일 수 있다. 컴퓨터 시스템은 파일 저장 장치(2203)를 추가로 포함한다. 파일 저장 장치는 SMB 또는 NFS-Shares 등과 같은 임의의 적합한 유형의 원격 접근 가능 저장소일 수 있고, 기하학적 규정(geometry definition)이 임의의 적합한 디렉토리 구조로 저장될 수 있다.
데이터베이스(2202) 및 파일 저장소(2203)는 적합한 컴퓨터 네트워크(2204), 예컨대, 근거리 통신망, 원거리 통신망, 인터넷 등을 거쳐 컴퓨터(2201)에 접근 가능하다. 데이터베이스(2202) 및/또는 파일 저장소(2203)가 컴퓨터(2201)에, 직접 또는 파일 서버, 데이터베이스 서버 등과 같은 다른 컴퓨터를 거쳐 접근 가능할 수 있음이 이해될 것이다. 데이터베이스(2202) 및/또는 파일 저장소(2203)가 컴퓨터(2201) 내로 통합될 수 있음이 추가로 이해될 것이다. 컴퓨터 모델, 컴포넌트, 및 부품에 대한 정보가 상이한 방식으로 저장될 수 있음이 추가로 이해될 것이다.
컴퓨터 시스템(2200)은 컴퓨터 모델의 시각화/렌더링을 용이하게 하도록 적응된다. 컴퓨터 시스템은 독립형 시스템으로서 다른 컴퓨터와 연결되어 사용될 수 있다. 따라서, 몇몇 실시예에서, 컴퓨터 시스템(2200)은 컴퓨터를 컴퓨터 네트워크, 예컨대 인터넷을 거쳐 다른 컴퓨터와 연결하기 위한 하나 이상의 인터페이스를 추가로 포함한다.
도 24는 컴퓨터-실시 구성 도구의 그래픽 사용자 인터페이스를 도시한다. 사용자 인터페이스는 기부 플레이트(2402)를 구비한 3차원 장면과, 다수의 상호 연결된 컴포넌트(2404)를 포함하는 컴퓨터 모델(2403)의 화면을 보여주는 디스플레이 영역(2401)을 포함한다. 장면은 소정의 시점으로부터 보인다. 다음에서, 이러한 시점은 또한 카메라가 디스플레이 영역 내에서 보이는 그래픽 화상에 대응하는 실제 구조의 화상을 기록하는 위치에 대응하므로, (가상) 카메라 위치로도 불릴 것이다.
각각의 컴포넌트는, 예컨대, 그러한 컴포넌트를 선택하기 위해 컴퓨터 마우스를 클릭함으로써, 활성화될 수 있는 그래픽 사용자 인터페이스의 활성 요소에 대응한다. 일 실시예에서, 선택된 컴포넌트는 외관을 변화시킨다. 예를 들어, 선택된 컴포넌트는 색깔, 조직 등을 변화시킬 수 있고; 이는 선택된 축조 블록 둘레의 경계 박스 등을 보여줌으로써 강조될 수 있다. 사용자는 선택된 컴포넌트를 조작, 예컨대, 그의 특성, 예컨대, 그의 색깔을 변화시키고, 그를 삭제하고, 복사-붙여쓰기 작업을 수행하고, 그를 다른 위치로 드래그하고, 그를 회전시키는 등을 할 수 있다.
사용자 인터페이스는 사용자에 의해 선택될 수 있는 다수의 상이한 컴포넌트(2406)를 포함하는 팔레트 패널(2405)을 추가로 포함한다. 예를 들어, 사용자는 마우스로 컴포넌트(2406)들 중 하나를 클릭하여, 그러한 컴포넌트를 선택하고, 선택된 컴포넌트를 구조물(2403) 또는 기부 플레이트(2402)에 연결하기 위해 디스플레이 영역(2401) 내로 드래그한다. 사용자 인터페이스는 다양한 기능 또는 도구를 활성화하기 위한 다수의 메뉴 버튼(2408)을 포함하는 메뉴 바(2407)를 추가로 포함한다. 예를 들어, 도구 바는 가상 카메라 위치를 변화시켜서, 사용자가 상이한 방향으로부터 축조 영역을 관찰하도록 허용하기 위한 회전 도구를 포함할 수 있다. 메뉴 바는 3차원 장면을 확대 및/또는 축소하기 위한 확대 도구를 추가로 포함할 수 있다. 도구의 다른 예는 컴포넌트의 상이한 세트를 각각 포함하는 상이한 팔레트(2405)를 선택하기 위한 팔레트 도구, 구조물의 부품을 착색하기 위한 착색 도구, 축조 블록을 소거하기 위한 소거 도구 등을 포함한다.
메뉴 바(2407)는 모델을 저장하고, 이전에 저장된 모델을 열고, 모델의 이미지를 인쇄하기 위한 기능, 도움말 기능 등과 같은 표준 기능을 추가로 제공할 수 있다.
몇몇 실시예가 상세하게 설명되고 도시되었지만, 본 발명은 이로 제한되지 않고, 또한 다음의 특허청구범위에서 규정되는 보호 대상의 범주 내에서 다른 방식으로 실시될 수 있다. 특히, 다른 실시예가 이용될 수 있고, 구조적 및 기능적 변형이 본 발명의 범주로부터 벗어남이 없이 이루어질 수 있음을 이해하여야 한다.
여러 수단을 열거하는 장치 청구항에서, 이들 수단들 중 일부는 하나의 동일한 하드웨어 물품에 의해 실시될 수 있다. 소정의 수단들이 서로 상이한 종속항에서 언급되고 상이한 실시예에서 설명되는 단순한 사실은 이러한 수단들의 조합이 유리하게 사용될 수 없을 표시하지는 않는다.
"포함하다/포함하는"라는 용어는 이러한 명세서에서 사용될 때, 기술된 특징, 정수, 단계 또는 구성요소의 존재를 규정하도록 취해지지만, 하나 이상의 다른 특징, 정수, 단계, 구성요소, 또는 이들의 그룹의 존재 또는 추가를 배제하지 않음이 강조되어야 한다.

Claims (19)

  1. 복수의 컴포넌트를 포함하는 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법이며,
    - 복수의 컴포넌트들 중 적어도 하나의 복수의 부품을 저장하는 단계 - 각각의 부품은 부품을 시각화/렌더링하기 위한 기하학적 정보를 포함함 -;
    - 좌표계 내에서 복수의 컴포넌트들의 위치 및 배향을 표시하는 정보를 저장하는 단계;
    - 복수의 컴포넌트들의 위치 및 배향을 표시하는 저장된 정보에 기초하여 개별 컴포넌트들 사이의 공간적 관계를 결정하는 단계;
    - 적어도 하나의 컴포넌트에 대해, 개별 컴포넌트들 사이의 결정된 공간적 관계에 기초하여, 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 저장된 부품을 결정하는 단계를 포함하는
    컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  2. 제1항에 있어서, 적어도 하나의 미리 결정된 연결 구역이 적어도 하나의 컴포넌트에 관련하여 규정되고, 상기 연결 구역은 다른 컴포넌트의 하나 이상의 연결 구역에 연결될 수 있는 컴포넌트의 부분을 표시하는, 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  3. 제2항에 있어서, 개별 컴포넌트들 사이의 공간적 관계를 결정하는 단계는 개별 컴포넌트들의 연결 구역들의 공간적 관계를 결정하는 단계를 포함하는 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  4. 제3항에 있어서, 개별 연결 구역들 사이의 공간적 관계를 결정하는 단계는 2개의 연결 구역들 사이의 거리를 결정하는 단계를 포함하고, 상기 연결 구역들은 거리가 미리 결정된 간격 내에 있을 때 연결되는, 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  5. 제3항에 있어서, 개별 연결 구역들 사이의 공간적 관계를 결정하는 단계는 하나의 연결 구역의 다른 것에 대한 배향을 결정하는 단계를 포함하는 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  6. 제4항 또는 제5항에 있어서, 컴포넌트의 제1 부품은 하나 이상의 연결 구역과 관련되고, 적어도 하나의 컴포넌트에 대해, 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 부품을 결정하는 단계는 하나 이상의 연결 구역이 다른 컴포넌트의 연결 구역에 연결되는지를 결정하는 단계를 포함하는 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서, 제1 컴포넌트는 미리 결정된 유형의 제1 차폐 구역을 포함하고, 제2 컴포넌트는 미리 결정된 유형의 제2 차폐 구역을 포함하고, 제1 차폐 구역과 제2 차폐 구역 사이의 공간적 관계는 제2 컴포넌트에 의해 차폐되는 제1 컴포넌트의 부분을 결정하기 위해 사용되는, 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  8. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 방법은 상기 컴퓨터 모델의 경계 박스 외부의 임의의 방향으로부터 보았을 때, 부품의 표면 영역 중 적어도 미리 결정된 부분이 하나 이상의 다른 부품에 의해 덮일 때, 부품이 컴포넌트를 시각화/렌더링하기 위해 사용되지 않는 것으로 결정하는 단계를 포함하는 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  9. 제1항 내지 제5항 중 어느 한 항에 있어서, 적어도 하나의 컴포넌트에 대해, 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 부품을 결정하는 단계는 컴포넌트의 재료 특성을 결정하는 단계, 및 결정된 공간적 관계 및 결정된 재료 특성에 기초하여, 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 부품을 결정하는 단계를 추가로 포함하는 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  10. 제9항에 있어서, 재료 특성을 결정하는 단계는 컴포넌트에 대한 투명도 설정을 결정하는 단계를 포함하는 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  11. 제1항 내지 제5항 중 어느 한 항에 있어서, 컴퓨터 모델은 복합 제품을 표현하는 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  12. 제1항 내지 제5항 중 어느 한 항에 있어서, 제1 부품 및 제2 부품은 컴포넌트의 공통 섹션을 표현하고, 제1 부품은 제2 부품보다 높은 디테일 수준을 갖고, 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 저장된 부품을 결정하는 단계는 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 제1 및 제2 부품 중 최대 하나를 선택하는 단계를 추가로 포함하는, 컴퓨터 모델을 시각화/렌더링하기 위한 컴퓨터-실시 방법.
  13. 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능 저장 매체로서, 상기 컴퓨터 프로그램은 데이터 처리 시스템이
    적어도 하나의 설계 단계로서, 사용자가 대량의 컴포넌트들로부터 복수의 컴포넌트 - 각각의 컴포넌트는 복수의 부품으로 구성됨 - 의 각각의 디지털 표현을 선택하고, 복합 제품의 디지털 표현을 발생시키기 위해 선택된 컴포넌트들을 서로에 대한 공간적 관계로 배열하도록 허용하기 위한 컴퓨터-실시 구성 도구를 제공하는 단계를 포함하는, 적어도 하나의 설계 단계; 및
    추가의 처리 단계로서, 복합 제품의 적어도 일 부분의 시각화/렌더링을 발생시키는 단계를 포함하는, 추가의 처리 단계를 수행하게 하도록 된 실행 가능한 컴퓨터-프로그램 코드를 포함하는, 컴퓨터 프로그램이며,
    상기 시각화/렌더링을 발생시키는 단계는,
    - 복수의 컴포넌트들 중 적어도 하나의 복수의 부품을 저장하는 단계 - 각각의 부품은 부품을 시각화/렌더링하기 위한 기하학적 정보를 포함함 -;
    - 좌표계 내에서 복수의 컴포넌트들의 위치 및 배향을 표시하는 정보를 저장하는 단계;
    - 복수의 컴포넌트들의 위치 및 배향을 표시하는 저장된 정보에 기초하여 개별 컴포넌트들 사이의 공간적 관계를 결정하는 단계;
    - 적어도 하나의 컴포넌트에 대해, 개별 컴포넌트들 사이의 결정된 공간적 관계에 기초하여, 상기 컴포넌트를 시각화/렌더링하는데 사용하기 위한 다수의 저장된 부품을 결정하는 단계를 포함하는,
    컴퓨터 판독 가능 저장 매체.
  14. 제13항에 있어서, 컴퓨터 프로그램은 아동용 장난감 컴퓨터 프로그램인, 컴퓨터 판독 가능 저장 매체.
  15. 제1항 내지 제5항 중 어느 한 항에 따른 컴퓨터-실시 방법과 함께 사용하기 위한 데이터 구조를 저장하는 컴퓨터 판독 가능 저장 매체로서,
    상기 데이터 구조는,
    컴퓨터 모델을 위한 데이터 구조로서,
    - 모델 파라미터; 및
    - 다수의 컴포넌트를 포함하고는, 데이터 구조를 포함하고,
    각각의 컴포넌트는,
    데이터 구조로서,
    - 컴포넌트 파라미터;
    - 연결 구역 파라미터를 포함하는 데이터 구조를 포함하는, 다수의 연결 구역;
    - 차폐 구역 파라미터를 포함하는 데이터 구조를 포함하는, 다수의 차폐 구역; 및
    - 부품 파라미터를 포함하는 데이터 구조를 포함하는, 다수의 부품을 포함하는, 데이터 구조를 포함하는,
    컴퓨터 판독 가능 저장 매체.
  16. 데이터 처리 시스템으로서,
    상기 데이터 처리 시스템은 하나 이상의 컴퓨터 프로세서와 컴퓨터 판독 가능 저장 매체를 포함하고,
    상기 컴퓨터 판독 가능 저장 매체에는 프로그램 코드가 저장되고,
    상기 프로그램 코드가 상기 하나 이상의 컴퓨터 프로세서상에서 실행될 때, 상기 데이터 처리 시스템이 제1항 내지 제5항 중 어느 한 항에 따른 방법의 단계들을 수행하게 하도록 하는, 데이터 처리 시스템.
  17. 프로그램 코드가 데이터 처리 시스템상에서 실행될 때, 상기 데이터 처리 시스템이 제1항 내지 제5항 중 어느 한 항에 따른 방법의 단계들을 수행하게 하도록 하는 프로그램 코드를 포함하는 컴퓨터 판독 가능 저장 매체.
  18. 삭제
  19. 삭제
KR1020127011159A 2009-10-02 2010-09-10 실시간 렌더링을 위한 연결 의존적 기하학적 형상 최적화 KR101721715B1 (ko)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
KR20120083893A KR20120083893A (ko) 2012-07-26
KR101721715B1 true KR101721715B1 (ko) 2017-03-30

Family

ID=42226509

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127011159A KR101721715B1 (ko) 2009-10-02 2010-09-10 실시간 렌더링을 위한 연결 의존적 기하학적 형상 최적화

Country Status (13)

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

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6302404B2 (ja) * 2011-07-05 2018-03-28 レゴ エー/エス ユーザー定義の玩具組立要素を設計し製造する方法とシステム
USD794466S1 (en) * 2012-08-09 2017-08-15 Friendship Products, Llc Container
USD806553S1 (en) * 2012-08-09 2018-01-02 Friendship Products, Llc Container
USD794467S1 (en) * 2012-08-09 2017-08-15 Friendship Products, Llc Container
JP2014102685A (ja) * 2012-11-20 2014-06-05 Sony Corp 情報処理装置、情報処理方法及びプログラム
US9239891B2 (en) 2013-05-23 2016-01-19 Fca Us Llc System and method for determining a mated surface of an object having a plurality of members
JP5505848B1 (ja) 2013-12-02 2014-05-28 株式会社サイバーノイズ 画像処理装置、画像処理方法及びプログラム
CN105917385A (zh) * 2014-01-21 2016-08-31 索尼互动娱乐股份有限公司 信息处理设备和信息处理方法
JP6193135B2 (ja) 2014-01-21 2017-09-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
JP6027554B2 (ja) 2014-01-21 2016-11-16 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、ブロックシステム、および情報処理方法
JP5610327B1 (ja) 2014-03-18 2014-10-22 株式会社Live2D 画像処理装置、画像処理方法及びプログラム
USD795925S1 (en) * 2014-04-16 2017-08-29 Hitachi, Ltd. Display screen or portion thereof with icon
US10176520B2 (en) * 2015-07-07 2019-01-08 The Boeing Company Product visualization system
US10650222B2 (en) * 2016-05-09 2020-05-12 Lego A/S System and method for toy recognition
EP3299072A1 (en) * 2016-09-27 2018-03-28 Danmarks Tekniske Universitet Method and toy element for generating a computer-readable representation of a construction made of toy building elements
LU100390B1 (en) * 2017-09-05 2019-03-19 Luxembourg Inst Science & Tech List Stretchable interactive tangibles
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
KR102384304B1 (ko) * 2019-07-15 2022-04-07 레고 에이/에스 렌더링 방법 및 이를 수행하는 렌더링 장치
JP7122583B1 (ja) 2022-01-14 2022-08-22 株式会社G-ant ブロックオブジェクトの設計図を生成する方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030102048A1 (en) 1999-12-08 2003-06-05 Shaw Mark D. Method and apparatus for breaching and venting sealed inner containers within a drum
EP1550085B1 (en) 2002-10-11 2006-12-13 Lego A/S Method of generating a computer readable model
US20090187385A1 (en) 2008-01-17 2009-07-23 Dassault Systemes Solidworks Corporation Reducing the size of a model using visibility factors

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3010A (en) * 1843-03-21 Iiziiiiijiiii
US6335732B1 (en) * 1998-05-08 2002-01-01 Mohammad Salim Shaikh External recognition and rendering method
US6629065B1 (en) 1998-09-30 2003-09-30 Wisconsin Alumni Research Foundation Methods and apparata for rapid computer-aided design of objects in virtual reality and other environments
CN1168048C (zh) * 1999-01-22 2004-09-22 英特莱格公司 生成/解释几何对象的计算机可读模型的方法和计算机系统
US20020196250A1 (en) * 2001-06-20 2002-12-26 Gateway, Inc. Parts assembly for virtual representation and content creation
US6897863B2 (en) 2001-11-30 2005-05-24 Caterpillar Inc System and method for hidden object removal
CA2471351C (en) * 2001-12-21 2012-09-18 3Dfacto Aps A method, a computer system, and a computer program product for configuring a virtual representation of an assembly of a plurality of components
CN100495443C (zh) * 2002-10-11 2009-06-03 乐高公司 生成计算机可读模型的方法和数据处理系统
EP1625488A2 (en) * 2003-05-20 2006-02-15 Lego A/S Method and system for manipulating a digital representation of a three-dimensional object
US7979251B2 (en) * 2007-03-16 2011-07-12 Lego A/S Automatic generation of building instructions for building element models

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030102048A1 (en) 1999-12-08 2003-06-05 Shaw Mark D. Method and apparatus for breaching and venting sealed inner containers within a drum
EP1550085B1 (en) 2002-10-11 2006-12-13 Lego A/S Method of generating a computer readable model
US20090187385A1 (en) 2008-01-17 2009-07-23 Dassault Systemes Solidworks Corporation Reducing the size of a model using visibility factors

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101721715B1 (ko) 실시간 렌더링을 위한 연결 의존적 기하학적 형상 최적화
Cohen et al. Wang tiles for image and texture generation
US6154215A (en) Method and apparatus for maintaining multiple representations of a same scene in computer generated graphics
KR100970790B1 (ko) 컴퓨터 판독가능한 모델을 생성하는 방법
JP4418468B2 (ja) 3次元オブジェクトのデジタル表現を操作するための方法およびシステム
US8374829B2 (en) Automatic generation of building instructions for building element models
US20080228450A1 (en) Automatic generation of building instructions for building element models
CN111192354A (zh) 一种基于虚拟现实的三维仿真方法及系统
US20110050691A1 (en) Real-time user guided optimization of general 3d data
CN102682150B (zh) 设计导航场景
JP5763304B2 (ja) コンピュータ画面上に表示されるオブジェクトを可視化する方法、プログラムおよびプロダクト編集システム
Anderson et al. Visualising the urban green volume: Exploring LiDAR voxels with tangible technologies and virtual models
Oh et al. Sesame: towards better 3d conceptual design systems
Melendez Drawing from the Model: Fundamentals of Digital Drawing, 3D Modeling, and Visual Programming in Architectural Design
Liu et al. EasyToy: plush toy design using editable sketching curves
Tsiutsiura et al. VR-technology as a modern architecture tool
Morvan et al. IVECS: An interactive virtual environment for the correction of. STL files
Tuite et al. PointCraft: Harnessing Players' FPS Skills to Interactively Trace Point Clouds in 3D.
Arevalo et al. Creating Games with Unreal Engine, Substance Painter, & Maya: Models, Textures, Animation, & Blueprint
Ahsan Development of 3D virtual building simulation from 2D architectural floor plans
Ropinski et al. A Solution for the Focus and Context Problem in Interactive Geovisualization Applications
Brydon Architectural Sketching With Computer Graphics
Jurgensen The conceptual design of architectural form: a performance spec for a computer system
Sulaiman et al. Development of real-time virtual environment with hierarchical construction
Bozdağ Proposal for a software model based on the critical analysis of packages used in interior architecture

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: 20200312

Year of fee payment: 4