KR20100051571A - 컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법 - Google Patents

컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법 Download PDF

Info

Publication number
KR20100051571A
KR20100051571A KR1020090107067A KR20090107067A KR20100051571A KR 20100051571 A KR20100051571 A KR 20100051571A KR 1020090107067 A KR1020090107067 A KR 1020090107067A KR 20090107067 A KR20090107067 A KR 20090107067A KR 20100051571 A KR20100051571 A KR 20100051571A
Authority
KR
South Korea
Prior art keywords
boundary
complex
product
polyhedral
composite
Prior art date
Application number
KR1020090107067A
Other languages
English (en)
Other versions
KR101580862B1 (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 KR20100051571A publication Critical patent/KR20100051571A/ko
Application granted granted Critical
Publication of KR101580862B1 publication Critical patent/KR101580862B1/ko

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling

Abstract

본 발명은, 컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법에 관한 것으로, 이 방법은,
- 모델링된 오브젝트를 단체 (simplicial) 의 m-복합체 (complex) 로서 정의하는 데이터에 액세스하는 단계 (S50);
- 단체의 m-복합체를
Figure 112009068410945-PAT00001
(m≥n) 에서 투영하는 단계 (S55);
- 모델링된 오브젝트의 다면체 경계를, 단체의 복합체의 투영에서의 다면체 n-1-사이클로서 계산하는 단계 (S60-S70) 를 포함하며, 다면체 n-1-사이클은 단체의 복합체의 투영에 실질적으로 접한다.
본 발명은 또한, 본 발명의 방법의 단계들을 수행하는 수단을 포함하는 컴퓨터 프로그램 제품 및 컴퓨터화된 시스템에 관한 것이다.
컴퓨터 지원 설계 시스템, 단체의 복합체

Description

컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법{COMPUTER-IMPLEMENTED METHOD OF COMPUTING, IN A COMPUTER AIDED DESIGN SYSTEM, OF A BOUNDARY OF A MODELED OBJECT}
본 발명은 컴퓨터 프로그램 및 시스템의 분야에 관한 것으로, 더욱 구체적으로는, 컴퓨터 지원 설계 (CAD), 컴퓨터 지원 제조 (CAM), 및 컴퓨터 지원 엔지니어링 (CAE) 시스템의 분야에 관한 것이다.
상표 CATIA (컴퓨터 지원 3차원 인터액티브 애플리케이션) 하에서 Dassault Systemes 에 의해 제공되는 것과 같은 부품, 부품의 어셈블리 및 이들의 제품의 설계를 위해 다수의 시스템과 프로그램이 시장에 제공된다. CATIA 는, 일반적으로 3D 제품 수명주기 관리 (PLM) 소프트웨어 모음 (suite) 으로 칭하는, 멀티-플랫폼 CAD/CAM/CAE 소프트웨어 모음이다. 이것은, 개념화 (conceptualization) 로부터 설계 (CAD) 와 제조 (CAM) 를 통해 분석 (CAE) 까지 제품 개발의 다중 스테이지 (CAx) 를 지원한다. 이러한 소프트웨어 모음은 애플리케이션 프로그래밍 인터페이스 (API) 를 통해 커스터마이즈가능하다 (customizable). 일부 버전이 전용 API 하에서 다양한 프로그래밍 언어로 구성될 수 있다.
소위 이들 CAD 시스템은 특히, 사용자가 오브젝트의 복합체 3차원 (3D) 모델 또는 오브젝트의 어셈블리를 구성하고 조작할 수 있게 한다. 따라서, CAD 시스템은, 면을 갖는 특정한 경우에서, 에지 또는 라인을 사용하여 모델링된 오브젝트의 표현을 제공한다. 이들 CAD 시스템은, 주로 지오메트리의 명세 (specification) 인, 부품 또는 부품의 어셈블리를 모델링된 오브젝트로서 관리한다. 특히, CAD 파일은, 지오메트리가 생성되는 명세를 포함한다. 지오메트리로부터, 표현이 생성된다. 명세, 지오메트리 및 표현은 단일의 CAD 파일 또는 다중의 CAD 파일에 저장될 수도 있다. CAD 시스템은, 모델링된 오브젝트를 설계자에게 표현하는 그래픽 툴을 포함하고, 이들 툴은 (CAD 시스템에서의 오브젝트를 표현하는 파일의 통상의 사이즈가 부품에 대해 메가-바이트의 범위까지 확장하는) 복합체 오브젝트의 디스플레이에 전용되고, 어셈블리가 수천의 부품을 포함할 수도 있다. CAD 시스템은 전자 파일로 저장된 오브젝트의 모델을 관리한다.
공지된 CAD 시스템으로 기계적 부품을 설계하는 것은, 기능적 및 제조 요건을 충족시키기 위해 기계적 부품의 기하학적 형상 및 치수를 정의하는 것으로서 보여질 수 있다. 주로, 결과로서 생성된 형상은 설계자에 의해 생성된 패드, 포켓, 그루브, 샤프트 등과 같은 기본 특징의 조합이다. 복잡한 기하학적 및 위상 계산을 통해, CAD 시스템은 솔리드 (solid) (기계적 부품) 의 경계 표현을 예를 들어, 폐곡면과 유향 곡면으로서 산출한다.
예를 들어, 지오메트리 설계, 머시닝 시뮬레이션, 로보틱스, 또는 디지털 모크업 (mockup) 의 분야에서 스윕된 볼륨 (swept volume) 의 개념을 알고 있다. 아래에서 "프로파일" 이라 불리는 솔리드, 및 이들의 궤적이 제공되면, 상기 궤적을 따른 프로파일의 모든 위치의 결합을 스윕된 볼륨이라 칭한다. 스윕된 볼륨의 표현은, 형상을 설계하고, 자료의 제거 또는 추가의 프로세스를 시뮬레이션하고, 충돌을 검출하며, 이동 부품과 메카니즘에서의 클리어런스를 계산하기 위해 사용될 수 있다. 예를 들어, 스윕된 볼륨의 계산은, 작용하는 동안 진동하는 차량 모터의 필요한 공간을 결정하는데 유용하다. 또한, 스윕된 볼륨의 계산은, 차량의 휠이 충격 흡수장치 때문에 좌우로 회전하고 상하로 이동하는 동안의 휠의 필요한 공간을 결정하는데 유용하다. 또한, 스윕된 볼륨은, 제조 툴의 필요한 공간을 결정하는데 유용하다.
이러한 관점에서, 민코브스키 (Minkowski) 합 또는 가산에 의존할 수도 있다. 민코브스키 합의 효율적인 계산은, 큰 오프셋 및 머시닝 궤적을 계산하거나 다면체 모델을 정정하기 위해 사용될 수도 있다.
지오메트릭 모델링에서의 스윕된 볼륨의 중요성으로 인해, 학문적인 연구와 상업적 애플리케이션 모두에서 상기 스윕된 볼륨을 표현하기 위한 다수의 솔루션이 개발되었다.
(이하, 방법 "M1" 이라 칭하는) 단순한 접근방식은, 궤적은 따라 프로파일 볼륨의 유한 수의 인스턴스의 결합을 고려하는데 있다.
다수의 변형을 갖는 더욱 정교한 방법 (이하 "M2") 은, 볼록 부분에서의 소정의 솔리드 또는 프로파일을 분해하고, 그 후, 불연속 선형 궤적의 각 선분에 의해 각 볼록부의 스위핑 (sweeping) 을 발생시키는 볼록체 (convex body) 를 생성하고, 그 후, 모든 이들 볼록체의 결합을 취하는데 있다 (예를 들어, "Accurate Minkowski sum approximation of polyhedral models", Gokul Varadhan, Dinesh Manocha, Graphical Models 68 (2006) 343-335, 를 참조, Video mode of MachineWorks 가 이러한 접근방식을 사용한다).
다른 클래스의 방법 ("M3") 은, 오직 로컬 지오메트릭만에 따라, 스윕된 볼륨 경계에서 나타날 수 있는 쌍 (프로파일 삼각형, 궤적 포인트) 또는 (프로파일 에지, 궤적 에지) 모두를 고려함으로써 스윕된 볼륨의 경계의 수퍼세트를 계산하는데 있다. 이들 방법은, 이론적으로는, 그 결합이 스윕된 볼륨의 서브세트이고 스윕된 볼륨 경계의 수퍼세트인, 삼각형의 비구조 세트 (삼각형 "수프 (soup)") 를 생성한다 (예를 들어, 본 출원인의 미국 특허 6,993,461 호 참조).
"키네틱 콘볼루션 (kinetic convolution)" 으로 알려진 수학적 근거가 충분한 방법 ("M4") 이, 2-차원 (2D) 스윕된 바디 계산을 위해 개발되었다 (예를 들어, L.J. Guibas, M. Overmars, and J. Stolfi. A Kinetic framework for computational geometry, In proc. 24th Annu. IEEE Sympos. Found. Comput. Sci, pages 100-11, 1983 참조). 이러한 방법은, 2D 폐불연속 선형 곡선을 생성한다. 이것은,
- Ron wein, Exact and Efficient Construction of Planar Minkowski Sums using the Convolution Method ACS Technical Report No.: ACS-TR-241300-04; 및
- Victor Milenkovic, Elisha Sacks: An approximate arrangement algorithm for semi-algebraic curves. Symposium on Computational Geometry 2006: 237-246
에 기재된 바와 같은 여러 2D 구현을 초래하였기 때문에 선구적인 연구이다.
한편, 다른 연구는 2D 연구의 방향을 3D 다면체 솔리드로 확장한다. 주된 결과는, 그 경계가 다면체 2-매니폴드인 2개의 솔리드이면, 소위 "다면체 트레이싱 (polyhedral tracing)" 을 계산하는 절차이며, 예를 들어,
- J. Basch, L.J. Guibas, G.D. Ramkumar and L. Ramshaw Polyhedral tracings and their convolution. In Proc. 2nd Workshop on Algorithmic Foundations of Robotics, 1996; 및
- G.D. Ramkumar: "Tracings and their convolution: theory and applications", PhD. thesis (1998), Stanford, 및 관련 후속 문서를 참조.
실제로, 방법 (M1), (M2), (M3) 및 (M4) 를 구현하는 2개의 방식을 알고 있 다. 예를 들어, 방법 (M1) 과 (M2) 는 그 결합이 상기 결과인 솔리드의 세트를 생성한다. 유사하게는, 방법 (M3) 은 삼각형의 세트를 생성한다. 해당 결합의 명시적 표현을 실제로 계산하는 것은 의무적이지 않다. 라운딩 에러에 매우 민감하기 때문에, 3D 컴플렉스 지오메트리에 대해 오히려 문제가 있다.
다른 클래스의 방법은 복셀 (voxel) 또는 덱셀 (dexel) 볼륨 표현에 의존한다 ("M5", "MachineWorks" 에서의 "Photo mode" 을 비교).
다음으로, 소위 "랩핑 (wrapping) 방법" ("M6") 은, 스윕된 솔리드의 완벽한 (watertight) 대략적 근사를 생성한다. 이것은 빠르고 로버스트하지만, 정확하지 않다. 예를 들어, 이 기술은 "Swept volume approximation of a polygon soup", J.C. Himmelstein, E. Ferre, J.P. Laumond, International Conference on Robotics and Automation, 10-14 April 2007, Roma, pp 4854-4860 에 기재되어 있다. 이것은, "Kineo Computer Aided Motion" 사의 "Kineo path planner" 제품에서 구현된다. 이러한 방법은, 3D 정규 격자 (regular grid) 의 정점상의 스윕된 표면 경계에 대한 거리를 계산함으로써 스윕된 볼륨의 암시적 표현을 계산하는 것과 같다. 이러한 거리 필드는, 결과적인 스위프에 대한 소정의 3D 톨러런스를 충족하는 궤적의 샘플링으로부터 계산된다. 그 후, 외부 표면이 "마칭 큐브 (marching cube)" 로 알려진 종래의 알고리즘의 변형을 사용하여 수집된다.
마지막으로, 다수의 특허 또는 특허 출원이 이 주제를 널리 다루며, 예를 들어, US 7,091,995, US 7,031,790, US 6,690,385, US 5,649,084, US 6,307,555, US 6,989,830, US 6,988,121, EP-A-0 280 968, EP-A-0 405 106, EP-A-0 280 968, US 5,159,512, US 2003/014133, US 2005/143963, 및 US 2004/059450 참조.
상술한 방법 M1-M6 이 절대 신뢰할 수 있는 것은 아니다.
예를 들어, 방법 (M1) 은 스윕된 볼륨의 다수의 인스턴스를 고려하는 것을 요구하며, 따라서, 양호한 정확성을 요청한다면, 메모리와 계산 시간에서 매우 많은 비용이 든다.
방법 (M2) 는 보다 적은 범위이기는 하지만, 방법 (M1) 과 동일한 결점을 제공한다. 궤적의 각 선분과 프로파일의 각 볼록부에 대해, 볼록부 보다는 대략 동일한 복잡도 (즉, 삼각형의 수) 의 바디를 생성한다.
방법 (M3) 가 다수의 관점에서 효율적이다. 예를 들어, 생성된 삼각형의 수는, 궤적이 너무 많이 "굴곡 (wind)" 하지 않을 때의 결과에서 실제로 발생된 삼각형의 수의 크기 정도이다. 이러한 방법의 주된 결점은, 라운딩 에러에 대해 민감하다는 것이며, 정점 좌표에서의 임의의 작은 섭동 (perturbation) 이 결과의 경계에서 작은 갭을 생성할 수도 있다. 통상적으로, 삼각형의 세트를 생성하는 것은 매우 쉽다. 그러나, 일반적으로, 강건성 (robustness) 문제로 인해, 위상기하학적으로 유효한 완벽한 (watertight) 다면체를 추출하는 것을 불가능하다. (M3) 의 다른 제한은, 1차원 궤적에 제한된다는 것이며, 이것은 민코브스키 합을 계산하는 것과 관련되지 않는다.
방법 (M4) 의 2-차원 버전의 명백한 결점은, 이것이 2D 다각형에 제한된다는 것이다. 또한, 여기서 선택된 이론적 접근방식은 상당한 제한을 유도한다. 첫째로, 민코브스키 합에 본질적으로 제한된다. 특히, 이들 절차의 경로 계획, 로보틱스 또는 머시닝 애플리케이션은 (단지 3 축 머시닝이 가능하다는 것을 의미하는) 평행이동에 제한된다. 둘째로, 민코브스키 합의 피연산자는, 그 경계가, 모든 정점이 소위 "반구 가설 (hemisphere assumption)" : 각 정점
Figure 112009068410945-PAT00002
에 대해,
Figure 112009068410945-PAT00003
에 인접한 면에 대한 외향 법선 벡터의 세트가 반구에 포함되어야 한다는 것을 충족하는 다면체 2-매니폴드인 솔리드이어야 한다. 이제, 반구 가설을 위배하는 매니폴드 정점의 다수의 예가 존재한다. 마지막으로, 다른 결점은, 본 발명자들이 아는 범위까지는, 이러한 3D 절차가 기본적으로 구현되지 않았다는 것이다.
방법 (M5) 은 효율적이고 로버스트하지만, 데이터의 사이즈는 소망하는 정확도에 따라 급격하게 증가한다. 또한, 이것은 정확도가 중요하지 않은 애플리케이션에 대해 양호한 방법이다.
방법 (M6) 은 러프 충돌 분석 (rough collision analysis) 에 매우 적합한 보수적 근사화 (conservative approximation) 를 생성하지만, 이것은 머시닝 시뮬레이션에 대해 충분히 정확하지 못하다. 또한, 이론적 결점은,
Figure 112009068410945-PAT00004
일 때 시간과 메모리에서의 비용이 증가한다는 것이고, 여기서,
Figure 112009068410945-PAT00005
은 요청되는 정확도이고,
Figure 112009068410945-PAT00006
의 이론적 증가율이 바람직이다. 실제로는, 방법 (M6) 은 상대적 정확도 (모델 사이즈와 요구되는 정확도 사이의 비율) 가 작으면 고속이다. 상기 논문에 언급된 예들은, 그 사이즈가 323 으로부터 1283 복셀까지의 범위인 그리드를 사용하고, 이것은 상대적 정확도에 대한 값 (64 내지 256) 에 각각 이르게 한다. 이러한 정확도는, 러프 경로 계획 또는 충돌 검출에 대해 또는 제 1 고속 거부 스텝으로서 충분할 수도 있다. 그러나, 제조 애플리케이션은, 통상적으로 103 내지 105 범위인 상대적 정확도를 필요로 한다.
상기 분석들을 요약하면, 종래 기술은 러프 에러에 대해 너무 많은 감도를 나타내고, 메모리 또는 계산 비용이 고가이고/이거나, 적어도 일부 애플리케이션에 대해 충분히 정확하지 못하다. 따라서, (위상기하학적으로 정확하고 완벽한) 로버스트 및 스윕된 볼륨을 계산하는 정확한 방법 (더욱 일반적으로, 모델링된 오브젝트의 경계) 에 대한 필요성이 남아 있고, 이 방법은 다수의 클래스의 오브젝트와 호환가능하다.
따라서, 이러한 목적을 위해, 그리고 일 실시형태에서, 본 발명은 컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법을 제공하며, 이 방법은, 모델링된 오브젝트를 단체의 m-복합체 (simplicial m-complex) 로서 정의하는 데이터에 액세스하는 단계; 단체의 m-복합체를
Figure 112009068410945-PAT00007
(m≥n) 에서 투영하는 단계; 상기 모델링된 오브젝트의 다면체 경계를 단체의 복합체의 투영에서 다면체 n-1-사이클로서 계산하는 단계를 포함하며, 다면체 n-1-사이클은 실질적으로 단체의 복합체의 투영에 접한다.
다른 실시형태들에서, 본 발명에 따른 발명은 아래의 특징 중 하나 이상을 포함할 수도 있다.
- 계산하는 단계에서, 다면체 n-1-사이클은 단체의 복합체의 투영의 단체 (simplices) 를 포함하고;
- n=3 이고 다면체 경계를 계산하는 단계는, 단체의 복합체의 투영의 삼각형을 테스트하는 단계를 포함하고, 여기서, 상기 삼각형을 테스트하는 단계는, 테스트된 삼각형 각각에 대해, 테스트된 삼각형의 단체 공통면 (simplex coface) 이 상기 테스트된 삼각형 각각의 동일한 측면상에 있는지를 테스트하는 단계를 포함하고;
- 데이터에 액세스하는 단계에서, 상기 단체의 복합체는 단체의 곱 (simplicial product) 이고;
- 데이터에 액세스하는 단계에서, 상기 단체의 복합체는 평행이동 (translation) 및/또는 변환 (transformation) 의 시퀀스에 의한 소정의 오브젝트의 다면체 프로파일의 단체의 곱이고;
- 데이터에 액세스하는 단계에서, 상기 단체의 복합체는 평행이동 및/또는 변환의 공간에서 단체의 복합체에 의한 소정의 오브젝트의 다면체 프로파일의 단체의 곱이고;
- 상기 단체의 곱은 평행이동 및/또는 변환의 공간에서 상기 단체의 복합체에 따른 상기 다면체의 프로파일에 의해 스윕된 공간을 나타내고;
- 상기 평행이동 및/또는 변환의 공간에서의 상기 단체의 복합체는 평행이동 및/또는 변환의 k 시퀀스의 k-차원 복합체 곱이고;
- 상기 평행이동 및/또는 변환의 공간에서의 단체의 복합체는 평행이동 및/또는 변환의 공간에서의 3D 다면체이고;
- 단체의 곱은 상기 시퀀스에 따른 상기 프로파일에 의해 스윕된 공간을 나타내고;
- 데이터에 액세스하는 단계 이전에, 상기 방법은, 상기 단체의 곱을 계산하는 단계를 포함하고;
- 상기 단체의 곱을 계산하는 단계에서, 상기 방법은, 상기 다면체 프로파일 및 상기 다면체 궤적을 정의하는 데이터에 액세스하는 단계; 상기 다면체 프로파일 및 상기 다면체 궤적으로부터 데카르트 곱 (Cartesian product) 을 계산하는 단계; 및 계산된 데카르트 곱의 일반화된 삼각화 (triangulation) 를 수행하는 단계를 더 포함한다.
본 발명은 또한, 본 발명에 따른 방법을 구현하도록 구성된 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 제품을 제안한다.
본 발명은 또한, 본 발명에 따른 방법을 구현하는 수단을 포함하는 컴퓨터화된 시스템에 관한 것이다.
이제, 본 발명을 구현하는 시스템을, 아래의 상세한 설명에 논의되는 도 1-87 에 도시된 첨부한 도면을 참조하여 제한하지 않는 예로서 설명할 것이다.
본 발명은, 다면체 사이클로서 표현된, 모델링된 오브젝트의 경계를 신속하고 정확하게 계산하는데 적합한 일반적으로, 효율적이며 로버스트한 방법을 제공한다.
본 발명은, CAD 시스템에서, 모델링된 오브젝트의 경계, 통상적으로 스윕된 볼륨을 계산하는 방법을 제공한다. 모델링된 오브젝트는, 통상적으로 다면체 프로파일 및 다면체 궤적으로부터 획득된 단체의 m-복합체로서 정의된다. 그 후, 복합체는 이러한 목적을 위해
Figure 112009068410945-PAT00008
에서 투영되고, 적합한 매핑 또는 변환이 인보크될 수 있다. 그 후, 이 방법은 모델링된 오브젝트의 다면체 경계를 단체의 복합체의 투영이 다면체 n-1-사이클로서 계산하고, 여기서, 다면체 n-1-사이클은 실질적으로 단체의 복합체의 투영에 접한다.
본 발명은, 다면체 사이클로서 표현된, 모델링된 오브젝트의 경계를 신속하고 정확하게 계산하는데 적합한 일반적으로, 효율적이며 로버스트한 방법이다. 예시를 위해, 이하 스윕된 볼륨에 대한 애플리케이션을 고려한다. 다면체 사이클의 정의가 아래 제공된다. 특히, 출력은 삼각형의 비구조화 세트가 아니지만, 대략적으로 말해서, 폐쇄이고 위상기하학적으로 일관된 다면체 표현이다. 이러한 표현이 자기 교차할 수도 있지만, 조합적으로 완벽하다. 특히, 작은 섭동 또는 부동점 라운딩이 출력에 적용되면, 유효함 (위상기하학적으로 정확함 및 완벽함) 을 유지하고, 이에 따라 구현된 알고리즘의 강건성을 유지한다. 본 발명은, 계산된 경계가 때때로 자기 교차할 수도 있더라도, 모델링된 오브젝트의 경계를 안전하게 계산할 수 있게 한다. 본 발명은 후술되는 여러 애플리케이션을 갖는다. 또한, 본 발명의 방식, 즉, 오브젝트를 정의하는 단체의 복합체를 투영하고, 그 후에 다면체 경계를 n-1-사이클로서 계산하는 것에 의해 달성된 강건 성은, 공지된 방법에 비교하여, 실질적인 계산 및 메모리 부하의 세이빙을 허용한다.
예를 들어, 앞서 논의한 방법 (M1) 및 (M5) 에 비교하여, 본 발명의 방법은 대형 메모리 및 계산 시간을 요구하지 않고 정확도를 달성할 수 있다. (M2) 에 비교하여, 제안된 방법은 적절한 수의 삼각형을 유지한다. (M3) 에 비교하여, 제안된 방법은 라운딩 에러에 대해 안정한 조합적으로 완벽한 출력을 생성한다. 또한, 원칙적으로, 임의의 차원의 궤적을 따라 프로파일 또는 임의의 차원의 스위프를 계산할 수 있다. 특히, 이것은 임의의 수의 자유도를 갖는 메카니즘에 의해 스윕된 볼륨 뿐만 아니라 민코브스키 합을 계산하는 것을 허용한다. 방법 (M4) 는 2D 에 제한되고, 이것은 본 발명과 달리 3D 스윕된 볼륨의 계산에 대한 애플리케이션을 방해한다.
이제, 본 발명의 실시형태에 따른 데이터 흐름을 설명하는 도 1-2 를 참조하여 전체 프로세스를 설명한다. 도 1 은 단체의 곱을 획득하는 예시적인 단계를 도시한다. 도 2 는 단체의 복합체로부터 제로-경계 표면으로 리딩하는 단계를 도시한다.
먼저, 도 2 에 도시되어 있는 바와 같이, 이 방법은 모델링된 오브젝트를 단체의 m-복합체로서 정의하는 데이터에 액세스하는 단계 S50 를 포함한다.
단체의 복합체는, 점, 선분, 삼각형, 및 더욱 일반적으로는 이들의 p-차원 등가물을 "함께 글루잉 (gluing)" 함으로써 구성된 위상기하학적 공간이다. 단체의 복합체를 사용하는 이점들 중 하나는, 이들의 특성이 임의의 차원 m 에 대해 일반화될 수 있다는 것이다. 단체의 복합체는, 종래의 기술에 기재된 방법 보다 적은 자원을 요구하는 단순한 수학적 연산으로 인해, 모델링된 오브젝트의 경계를 계산할 수 있게 한다. 이하, 단체의 복합체를 상세히 설명한다.
단체의 m-복합체를 획득하는 여러 방식이 존재한다. 예를 들어, 단체의 m-복합체 (또한 단체의 복합체라 칭함) 는 도 1 에 도시된 바와 같이 단체의 곱으로서 획득될 수 있다. 도 1 은 단체의 곱의 방식에서 단체의 복합체를 획득하는 예를 제공한다. 단계 S10-S40 은, 단체의 복합체가 다면체 프로파일 (
Figure 112009068410945-PAT00009
) 과 다면체 궤적 (
Figure 112009068410945-PAT00010
) 의 곱으로부터 획득될 수도 있다는 것을 나타낸다. 이 곱은, 도 11-20 과 도 29-32 를 참조하여 명백하게 예시되는 바와 같이, 평행이동 및/또는 변환의 시퀀스에 의한 소정의 오브젝트의 다면체 프로파일의 단체의 곱일 수도 있다.
단체의 m-복합체는 차원 m 의 단체의 복합체이다. 정수 m 은 복합체의 모든 단체의 최대 차원이다. m 은 임의로 클 수도 있다. 예를 들어, 다면체 프로파일 (
Figure 112009068410945-PAT00011
) 의 차원이 k=3 (예를 들어, 다면체 프로파일이 3D 형상) 을 갖는 k 이고, 다면체 궤적 (
Figure 112009068410945-PAT00012
) 의 차원이 l=2 (예를 들어, 다면체 궤적이 삼각형과 같은 2D 형상) 를 갖는 l 이면, 단체의 m-복합체의 차원은 차원 m=k+l 의 단체의 복합체이며, 이러한 예에서, m=3+2=5 이다. 다면체 프로파일 (
Figure 112009068410945-PAT00013
) 의 차원이 k=0 (예를 들어, 다면체 프로파일이 점) 을 갖는 k 이고, 다면체 궤적 (
Figure 112009068410945-PAT00014
) 의 차원이 l=0 (예를 들어, 다면체 궤적이 점) 을 갖는 l 이면, 단체의 m-복합체의 차원은 차원 m=k+l 의 단체의 복합체이며, 이러한 예에서, m=0+0=0 이다. 바람직하게는, 2D 스위프를 계산하기를 원하면 m≥2 이며, 3D 스위프에 대해서는 m≥3 이다.
도 1 에 도시된 바와 같이,
Figure 112009068410945-PAT00015
Figure 112009068410945-PAT00016
의 단체의 곱
Figure 112009068410945-PAT00017
은, 2개의 단계 프로세스 : 단계 S20 에서의 데카르트 곱과 그 이후의 단계 S30 에서의 삼각화 (triangulation) 를 통해 바람직하게 자체 계산된다. 2 보다 큰 차원에 있어서, 단계 S30 은 사면체분할 (tetrahedrisation) 을 포함할 수도 있다. 따라서, 단계 S30 은 "일반화된" 삼각화의 단계로서 보여질 수 있다.
오브젝트
Figure 112009068410945-PAT00018
Figure 112009068410945-PAT00019
Figure 112009068410945-PAT00020
의 위상기하학을 결과적인 스윕된 표면의 지오메트리와 위상기하학 모두를 잠재적으로 포함하는 더 높은 차원의 구조로 블렌딩한다. 더욱 일반적으로 그리고 단체의 복합체가 획득되는 방식에 독립적으로, 단체의 복합체는 대략적으로 말해서, 도 2 의 단계 S60 에 대한 적합한 시작 포인트이다.
도 2 의 단계 S60 은,
Figure 112009068410945-PAT00021
(m≥n) 에서 단체의 m-복합체를 투영 (또는 임베드) 하기 위해, 변환 또는 매핑 함수 (
Figure 112009068410945-PAT00022
) 를 호출한다. 투영은 "앰비언트 (ambient)" 공간 또는 "물리적" 공간에서의 위치를 단체의 m-복합체의 각 정점에 할당하는 것을 가능하게 하고, "앰비언트" 공간은, 투영이 CAD 시스템의 사용자에 의해 조작될 수도 있는 공간이다. 정수 n 은, 단계 S50 의 단체의 m-복합체가 투영되는 "앰비언트 공간" 또는 "물리적 공간" 의 차원이다. 조건 m≥n 은, 변환 또는 매핑 함수 (
Figure 112009068410945-PAT00023
) 가 발생할 수 없는 경우를 방지한다. 예를 들어, 이전의 예에 따르면, 차원 m=5 의 단체의 m-복합체가 변환 또는 매핑 함수 (
Figure 112009068410945-PAT00024
) 를 통해 n=3 을 갖는 "앰비언트" 공간으로 투영되고, 즉, 단체의 5-복합체가 3-차원 (3D) 공간으로 투영된다. 또한, 다른 예로서, 평면 그림자 (planar shadow) 를 계산하기 위해 n=2 인 것이 가능하다.
또한, 단체의 복합체 및 매핑 함수 (
Figure 112009068410945-PAT00025
) 에 따르면, n 은 소정의 범위의 값으로 제한되지 않으며, n 의 최소값은 1 이다.
단계 S50 의 단체의 m-복합체는, 매핑 함수 (
Figure 112009068410945-PAT00026
) 가 m-차원 공간으로부터 n-차원 공간으로 단체의 m-복합체를 리드 백 (lead back) 하기 때문에, 어떻게든 "트랜지셔널 (transitional)" 공간에 있다. 더 양호한 이해를 위해, n-차원 공간의 "단체의 m-복합체" 를 "단체의 m-복합체의 투영" 이라 칭한다.
실시형태에서, 궤적
Figure 112009068410945-PAT00027
에 따른 프로파일
Figure 112009068410945-PAT00028
의 표면
Figure 112009068410945-PAT00029
(즉, 스윕된 표면) 을 얻는 것이 목적이다. 일반적으로, 일 오브젝트를 다른 오브젝트상에 투영하는 여러 방식이 존재할 때,
Figure 112009068410945-PAT00030
에서 단체의 m-복합체를 투영하는 여러 가능성이 존재한다. 또한, 아래에서 충분히 논의되어야 할 바람직한 실시형태는, 단체의 복합체
Figure 112009068410945-PAT00031
의 투영에 대해 수행되는, 여기에서 "다중도 (multiplicity)" 절 차라 칭하는 단순하고 로버스트한 실용적 방식을 통해 스윕된 표면
Figure 112009068410945-PAT00032
을 제공한다.
광범위한 관점에서, 도 2 의 단계들은 입력 단체의 복합체
Figure 112009068410945-PAT00033
및 매핑
Figure 112009068410945-PAT00034
(예를 들어, 3D 매핑
Figure 112009068410945-PAT00035
) 로부터 제로-경계 표면
Figure 112009068410945-PAT00036
인 스윕된 표면을 제공한다.
본 발명의 궤적을 따라 삼각화된 폐표면을 스위핑하는데 적용될 가능성이 있지만, 첨부한 도면들은 평면 궤적을 따라 스윕된 1 차원 평면 프로파일을 통한 2-차원 공간에서의 전체 프로세스를 예시하고, 평면 프로파일과 평면 궤적은 동일한 평면에 있다. 이러한 예시는 이해하고 예시하는데 있어서 확실히 더 용이하다.
예를 들어, 도 3 은 다각형 선 (11) 에 의해 표현된 궤적과 함께, 폐윤곽선을 갖는 프로파일 (10) 을 도시한다.
도 4 는 도 3 의 컴포넌트의 데카르트 곱을 예시하고, 평행사변형의 면이 나타난다.
도 5 는 단체의 곱을 도시함으로써, 삼각형 면이 보이게 된다.
도 6 은, 예를 들어, 단체의 곱의 투영일 수 있는 단체의 복합체
Figure 112009068410945-PAT00037
의 투영에 대해 단계 S60 에서 수행되는 "다중도" 절차라 불리는 단순하고 로버스트한 실용적 방식을 도시한다. "다중도" 절차의 출력은, 도 7 에 도시된 단계 S70 의 (다면체 경계일 수 있는) 제로-경계 표면
Figure 112009068410945-PAT00038
을 제공한다. 실제로, 다면체 경계를 계산하는 단계는, 단체의 복합체의 투영의 삼각형을 테스트하는 것과 같다. 해당 "테스트하는 것"은 테스트된 각 삼각형에 대해, 상기 삼각형의 동일한 측면상에 삼각형의 단체의 공통면이 있는지를 테스트하는 것을 포함한다.
다중도 절차 계산은, 모델링된 오브젝트의 경계를 제공하는 것에 목적이 있다. 이러한 목적에 도달하기 위해, 다중도 절차는, 결과로서 단체의 복합체의 투영에 실질적으로 접하는 단체의 복합체에서 다면체 n-1-사이클을 계산하기 위한 알고리즘을 사용한다. 다면체 n-1-사이클의 정수 n 은, 단계 S50 에서 제공된 단체의 m-복합체가 투영되는 "앰비언트 공간" 또는 "물리적 공간" 의 차원을 나타낸다. 바람직하게는, 다면체 n-1-사이클은 단체의 복합체의 투영의 단체들을 포함한다.
다면체 n-1-사이클은, 제로 경계 조건이라 칭하는 조건을 고려한 특정한 다면체 n-1-체인이다. 다면체 n-1-체인은, 각 n-1-단체에 할당된 다중도라 불리는 부호를 갖는 정수를 갖는 배향 (oriented) n-1 단체의 세트이다. 다면체 n-1-체인이 완벽할 수 있음에도 불구하고, 완벽 특성은 의무적이지 않다. 반대로, 다면체 n-1-사이클은 제로 경계 조건을 충족시키고, 이것은 다면체 n-1-사이클에 완벽 특성을 부여한다. 제로 경계 조건을 아래의 설명에서 설명한다.
다중도 절차 동안, 단체의 복합체의 투영의 단체 (또한, 생략하여 단체라 칭함) 에 배향이 제공된다. 또한, 배향은 단체의 복합체의 단체, 즉, 단체의 복합체를 투영하기 이전에 또한 제공될 수 있다. 단체의 복합체의 투영의 단체 (또는 단체) 에 제공된 배향의 선택은 임의적이며, 최종 결과에 영향을 미치지 않는다. 실제로, 반대의 배향이 단체의 복합체의 투영의 단체 (또는 단체) 에 제 공되면, 다중도 절차 계산은 반대의 부호를 갖는 다중도를 초래할 것이다. 도 6 은 다양한 화살표로 도시된 배향의 선택을 도시한다.
그 후, 단체의 복합체의 투영의 단체의 다중도가 계산된다. 예를 들어, 1-단체인 단체의 복합체의 투영의 에지의 다중도는, 단체의 복합체의 투영의 동일한 종단 정점을 공유하는 단체의 복합체의 투영의 다중 에지의 수이다. 도 6 및 도 40 은, 에지 다중도의 개념을 예시하고, 도 71 내지 73 은 삼각형의 다중도를 어떻게 정의하는지의 예를 도시한다.
도 6 으로 돌아가서, 에지 63 은, 2개의 삼각형에 의해 공유되기 때문에 +2 의 다중도를 갖는다. 에지 61 및 62 는 +1 과 -1의 다중도를 각각 갖는다. 에지 모두는 하나 (1) 의 삼각형에 의해 공유된다. 그러나, 에지 61 및 62 는 반대 배향을 갖기 때문에, 그들의 다중도는 반대이다.
그 후, 제로 경계 조건이 결정된다. 제로 경계 조건을 결정하기 위해, n=3 인 경우를 고려한다. 결과적인 다면체 2-체인은 3D 공간에서의 논리 정점의 세트 및 순서화된 3배수의 정점에 의해 정의된 배향 삼각형의 세트에 의해 정의된다. 정점은, 2개의 개별 논리 정점이 동일한 좌표를 공유하는 것이 허용되기 때문에 상기 논리 정점이다. 다중도의 부호를 변화시키는 것이 삼각형 배향의 리버스와 등가이도록 각 배향 삼각형에는 다중도가 제공된다. 삼각형에 나타나는 논리 정점의 임의의 쌍인 임의의 에지가 삼각형 카운팅 다중도에 의해 순방향 및 역방향 순서에서 동일 횟수 정확하게 트래버스된다면, 다면체 2-체인을 다면체 2-사이클이라 칭한다. 이러한 최종 조건을 제로 경계 조건이라 칭한다.
도 7 은, 도 2 의 출력인 넌 제로-다중도 단체 (이러한 경우에서, 넌 제로-다중도 선분 또는 에지) 를 예시한다. 도 6 에 대해, S70 에서의 다중도 절차는, 단체의 복합체
Figure 112009068410945-PAT00039
의 투영에서 에지 (또는 선분) (61, 62, 63, ...) 중 2개의 공통면 삼각형중 하나를 고려하고, 배향 선분에 대하여 각 선분의 제 3 정점의 상황을 결정한다. 도 6 에 적용된 다중도 절차는 어두운 볼드체의 선분에 대해 +2 를 리턴 (return) 한다. 다중도 절차는 뚜렷한 볼드체의 선분에 대해 +1 을 리턴한다. 다중도 절차는 볼드체의 점선분에 대해 -1 을 리턴한다. 다중도 절차는 점선분에 대해 0 을 리턴한다. 다중도가 절차가 점선분에 대해 0 을 리턴한다는 사실은, 상기 선분이 측면 양쪽에 "머티리얼 (material)" 을 갖고, 따라서, 상기 선분은 단체의 복합체의 투영의 경계상에 있지 않다는 것을 의미한다. 다중도 절차가 다른 선분에 대해 +1, -1, +2 을 리턴하는 경우에는, 이것은, 상기 선분이 일 측상에 다소의 "머티리얼" 을 갖고, 따라서 상기 선분이 단체의 복합체의 투영의 경계상에 있다는 것을 의미한다. 결과가 도 7 에 나타나고, 여기서, 0 과 다른 다중도를 갖는 선분 (또한, 넌 제로 다중도를 갖는 에지 또는 선분이라 칭함) 만이 유지된다. 이것은 모델링된 오브젝트의 경계로 유도한다.
도 8, 9 및 10 은 도 2 의 단계들을 도시한다. 단체의 복합체
Figure 112009068410945-PAT00040
는, 2개의 종단 삼각화된 L-형 면들을 갖는 도 1 의 단계 S40 의 단체의 곱의 "개방 튜브 (open tube)" 를 폐쇄함으로써 획득된다. "오픈 튜브" 의 폐쇄는, 축소된 음영 삼각형에 의해 도 8 상에 표현된다.
따라서, 단계 S50 의 단체의 복합체는, 궤적과 L-형 면 경계의 곱과, 종점에 의해 표현된 궤적 경계와 L-형 면의 곱의 합의 합집합이다. 이러한 합집합은 공식적으로
Figure 112009068410945-PAT00041
으로 표기된다.
단체의 m-복합체가 (예를 들어) 단체의 곱으로부터 획득되면, 단계 S60 의 메인 절차의 알고리즘 (다중도 절차) 이 삼각형의 세트에 대해 실시된다. 먼저, m-단체의 복합체가
Figure 112009068410945-PAT00042
에서 투영된다. 그 후, 단체의 복합체의 투영의 다중도가 도 9 에 의해 도시한 바와 같이 계산된다.
그 후, 스윕된 윤곽 (경계) 이 도 10 상에 도시한 바와 같이, 넌 제로 다중도에 따라 산출된다. 넌-제로 다중도를 갖는 에지가 유지되며, 단체의 복합체의 투영의 경계를 제공한다.
본 발명은, 컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터 구현 방법이다. 이 방법은, 단체의 m-복합체로서 모델링된 오브젝트를 정의하는 데이터에 액세스하는 단계 (S50) 를 포함한다. 도 11-20 은 모델링된 오브젝트를 단체의 m-복합체로서 정의하는 스위프의 4개의 경우를 예시한다. 4개의 경우가 모든 가능한 스위프를 철저히 규명하지는 않는다.
바람직하게는, 데이터에 액세스하는 단계에서, 단체의 복합체는 도 11-12 에 예시된 바와 같이 단체의 곱이다 (S40). 이것은 스위프의 단순한 상황이다. 프로파일
Figure 112009068410945-PAT00043
은 다면체이고, 궤적
Figure 112009068410945-PAT00044
는 불연속 선형 곡선, 다시 말해, 파선이다. 도 12 는, 궤적
Figure 112009068410945-PAT00045
상의 프로파일
Figure 112009068410945-PAT00046
의 평행이동의 시퀀스의 결과를 나 타낸다.
바람직하게는, 그리고 데이터에 액세스하는 단계에서, 단체의 복합체는 평행이동 및/또는 변환의 시퀀스에 의한 소정의 오브젝트의 다면체 프로파일의 단체의 곱이다 (S40). 이것은 단체의 복합체를 획득하기 위한 다수의 방식을 커버한다. 도 13 및 14 는, 이전의 경우의 일반화인 이러한 변환을 예시한다. 이러한 상황에서, 평행이동의 시퀀스는 다면체 프로파일
Figure 112009068410945-PAT00047
상에서 동작하는 변환의 시퀀스에 의해 대체된다. 변환의 시퀀스를 또한 궤적
Figure 112009068410945-PAT00048
라 칭한다. 이러한 경우에서, 결과는 연속 변환의 선형 근사화이다.
도 15, 16 및 17 은, 다른 예를 도시한다. 이러한 경우는, 2개의 다면체의 소위 민코브스키 합으로 이루어지고, 경계의 삼각화에 의해 제공된 2개의 다면체
Figure 112009068410945-PAT00049
Figure 112009068410945-PAT00050
가 제공되면, 그 결과는
Figure 112009068410945-PAT00051
에서의 포인트와
Figure 112009068410945-PAT00052
에서의 포인트의 합으로서 표현될 수 있는 공간에서의 포인트
Figure 112009068410945-PAT00053
의 세트인
Figure 112009068410945-PAT00054
로 표기된 민코브스키 합의 표현이다.
Figure 112009068410945-PAT00055
다시 말해서,
Figure 112009068410945-PAT00056
Figure 112009068410945-PAT00057
에서의 벡터를 따라 평행이동된
Figure 112009068410945-PAT00058
의 모든 카피의 합집합, 또는 동등하게는,
Figure 112009068410945-PAT00059
에서의 벡터를 따라 평행이동된
Figure 112009068410945-PAT00060
의 모든 카피의 합집합으로서 보여질 수 있다. 다면체
Figure 112009068410945-PAT00061
은 프로파일이고 다면체
Figure 112009068410945-PAT00062
는 궤적이지만, 이러한 특정한 경우에서, 프로파일과 궤적은 동일한 역할을 하고 스윕될 수 있다.
도 18, 19 및 20 은 도 16-17 의 상황의 일반화인 다른 경우를 예시한다.
Figure 112009068410945-PAT00063
은 프로파일이고
Figure 112009068410945-PAT00064
는 궤적이다. 도 18, 19 및 20 에서, 다면체
Figure 112009068410945-PAT00065
는 변환의 공간에서의 추상적 다면체이다. 도 19 에 도시된 바와 같이, 궤적
Figure 112009068410945-PAT00066
의 정점은 공간의 회전, 스케일링 또는 더욱 일반적인 변환일 수도 있는 변환이다. 통상의 삼각화에 관해서는, 삼각형은 정점의 3배수이다. 도 20 은 변환의 결과를 도시한다. 이것은
Figure 112009068410945-PAT00067
에서의 변환에 의한
Figure 112009068410945-PAT00068
의 포인트의 모든 이미지의 합집합의 (선형 보간에 의한) 근사화로서 보여질 수 있다.
본 발명은, 컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터 구현 방법이다. 다시 말해서, 본 발명은 컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계의 설계의 컴퓨터 구현 방법이다. 이 방법은, 데이터에 액세스하는 단계 (S50), 단계 S55 에서 매핑 함수
Figure 112009068410945-PAT00069
를 제공하는 단계, 그 매핑 함수를 이용하여,
Figure 112009068410945-PAT00070
(m≥n) 에서 단체의 m-복합체를 투영하는 단계, 및 단계 S60-S70 에서 상기 모델링된 오브젝트의 다면체 경계를 계산하는 단계를 포함한다.
단체의 복합체, 다면체 체인 및 다면체 사이클이, 상기 모델링된 오브젝트의 다면체 경계를 단체의 복합체의 투영에서의 다면체 n-1-사이클로서 계산하는 단계 S60-S70 의 일반 공식을 제공하기 위해 더욱 상세히 제공되며, 다면체 n-1-사이클은 단체의 복합체의 투영에 실질적으로 접한다. 단체의 복합체는, 임의의 차원 에서, 삼각화의 일반 개념을 일반화한다. 단체의 복합체는, 점, 선분, 삼각형, 및 더욱 일반적으로 이들의 p-차원 등가물을 "함께 글루잉" 함으로써 구성된 위상기하학적 공간이다.
정수 k≥0 에 대해, k-단체는 적어도 k-차원 앰비언트 공간에서의 비퇴화적 (non degenerate) 위치에서 k+1 점의 볼록 다각형 (convex hull) 이다. 이들 k+1 점을 단체의 정점이라 칭한다. 정점
Figure 112009068410945-PAT00071
를 갖는 k-단체를
Figure 112009068410945-PAT00072
로 나타낸다.
도 21 은, 0-단체
Figure 112009068410945-PAT00073
를 예시한다. 0-단체는 점이고, 또한 정점이라 칭한다. 도 22 에 예시된 1-단체
Figure 112009068410945-PAT00074
는, 2개의 개별 점 사이의 선분이고, 2개의 정점 사이의 에지와 같은 일반적 의미로서 칭한다. 도 23 은 3개의 비공선 (non collinear) 점에 의해 스팬된 삼각형인 2-단체
Figure 112009068410945-PAT00075
를 도시한다. 도 24 에 도시된 3-단체
Figure 112009068410945-PAT00076
는, 4개의 비공면 점에 의해 스팬된 사면체이다. 4-단체
Figure 112009068410945-PAT00077
는 적어도 4-차원 공간에서 임의의 3-차원 아핀 (affine) 서브공간에 맞지 않는 5개의 점에 의해 스팬된다. 단어 단체는 또한, 차원 k 가 특정되지 않을 때 용어 k-단체 대신에 사용될 수도 있다.
k-단체
Figure 112009068410945-PAT00078
의 면
Figure 112009068410945-PAT00079
은, 그 정점이
Figure 112009068410945-PAT00080
의 정점의 서브세트를 구성하는 j ≤k 인 임의의 j-단체이다. 도 25 는 3-단체를 도시하고, 도 26 은 3-단체의 모든 면을 도시한다.
단체의 복합체
Figure 112009068410945-PAT00081
는 단체들의 세트이어서,
- 단체가
Figure 112009068410945-PAT00082
에 속하면, 모든 그의 면도 또한
Figure 112009068410945-PAT00083
에 속하고,
-
Figure 112009068410945-PAT00084
에서의 2개의 단체의 교점은 비어 있거나, 양쪽이 모두 면이다.
제 2 조건은, 단체의 복합체가 "자기-교차"하지 않는다는 것을 의미한다.
단체
Figure 112009068410945-PAT00085
는, 도 27 (단체의 복합체) 및 도 28 (에지
Figure 112009068410945-PAT00086
의 모든 공통면) 에 도시된 바와 같이,
Figure 112009068410945-PAT00087
Figure 112009068410945-PAT00088
의 면인 경우에
Figure 112009068410945-PAT00089
의 공통면이라 한다.
단체의 복합체의 차원은 그것의 단체들의 최대 차원이다.
일반적으로, 프로파일과 궤적 모두는 단체의 복합체이다. 상기 도 11-20 의 경우에서, 프로파일은 2-차원 단체의 복합체인 삼각형이다. 도 11-14 의 경우에서, 궤적은 1-차원 단체의 복합체이다. 도 15-20 의 경우에서, 궤적은 2-차원 단체의 복합체이다.
2개의 단체의 복합체
Figure 112009068410945-PAT00090
Figure 112009068410945-PAT00091
가 제공되면,
Figure 112009068410945-PAT00092
로 표시되는 신규한 단체의 복합체, 예를 들어, 도 1 에 나타낸 바와 같은
Figure 112009068410945-PAT00093
Figure 112009068410945-PAT00094
의 단체의 곱을 구축할 수 있다. 이러한 단체의 곱은 아래에 나타낸 바와 같이 유일하지 않다.
Figure 112009068410945-PAT00095
의 정점의 세트는,
Figure 112009068410945-PAT00096
의 정점의 세트와
Figure 112009068410945-PAT00097
의 정점의 세트의 데카르트 곱이 다. 따라서, 이들 신규한 정점은,
Figure 112009068410945-PAT00098
Figure 112009068410945-PAT00099
의 각각의 앰비언트 공간의 데카르트 곱에 속한다. 이제, 단체의 커플
Figure 112009068410945-PAT00100
이 제공되면 (여기서,
Figure 112009068410945-PAT00101
Figure 112009068410945-PAT00102
의 단체이고
Figure 112009068410945-PAT00103
Figure 112009068410945-PAT00104
의 단체),
Figure 112009068410945-PAT00105
Figure 112009068410945-PAT00106
의 데카르트 곱은 볼록 폴리토프 (polytope) 이지만,
Figure 112009068410945-PAT00107
또는
Figure 112009068410945-PAT00108
가 0-차원이 아니면 단체가 아니다.
도 29 는, 도 20 의 단계 S20 에서 계산될 때의 2개의 정점의 데카르트 곱을 도시한다. 도 30 은, 정점과 에지의 데카르트 곱을 도시한다. 따라서, 이들 데카르트 곱 각각은 단체의 복합체, 참의 (genuine) 단체의 곱을 얻기 위해, 삼각화되는 단체들로 분해되어야 한다. 그러나, 데카르트 곱을 단체들로 분해하는 고유한 방법이 존재하지 않는데, 이는 단체들의 곱이 유일하지 않은 이유를 설명한다.
예를 들어,
Figure 112009068410945-PAT00109
Figure 112009068410945-PAT00110
가 도 31 에 도시된 바와 같이 1-단체 (선분) 이면, 이들의 데카르트 곱은 도 32 에 도시된 바와 같이, 곱 공간에서 평행사변형이고, 2개의 삼각형 (2-단체) 으로 분해되어야 한다. 도 32 에 도시된 바와 같이, 평행사변형을 2개의 삼각형으로 스플릿하는 2개의 방식이 물론 존재한다.
유사하게는, 도 33 및 34 에 도시된 바와 같이,
Figure 112009068410945-PAT00111
가 1-단체 (선분) 이고
Figure 112009068410945-PAT00112
가 2-단체 (삼각형) 이면, 이들의 데카르트 곱은 단체의 곱을 산출하는, 3개의 사면체 (3-단체) 로 분해되어야 하는 삼각형 베이시스 (basis) 를 갖는 프리즘이다. 다시, 이러한 분해는 유일하지 않다. 일반적으로,
Figure 112009068410945-PAT00113
가 k-단체이고
Figure 112009068410945-PAT00114
가 j-단체이면, 이들의 데카르트 곱은 (k+j)-단체로 분해될 수 있다.
이러한 분해의 선택은, 도 11-12 및 도 15-17 의 평행이동 스위프의 경우에서의 최종 결과를 변화시키지 않는다. 반대로, 도 13-14 및 도 18-20 에서, 일부 현 에러 (chordal error) 를 최소화하는 분해 또는 출력 솔리드 (예를 들어, 보존 충돌 검출을 위해) 최대화하는 분해를 선택하는 것이 가능하다.
다면체 n-1-체인 및 다면체 n-1-사이클
도 2 는, 단체의 m-복합체가
Figure 112009068410945-PAT00115
에서 투영되면 메인 절차가 발생하는 것을 도시한다. 도 2 의 알고리즘의 출력은 단계 S60-S70 에서의 계산된 다면체 n-1-사이클이다. 예를 들어, 단체의 m-복합체가
Figure 112009068410945-PAT00116
에서 투영되면, 다면체 2-사이클이 계산된다. 이러한 다면체 2-사이클은 자기-교차할 수도 있지만 여전히 공간의 내부 및 외부 영역을 정의하는 위상기하학적으로 완벽한 삼각화이다.
더욱 구체적으로, 다면체 2-체인은 3D 공간 (
Figure 112009068410945-PAT00117
) 에서의 논리 정점의 세트 및 순서화된 3배수의 정점에 의해 정의된 배향 삼각형의 세트에 의해 정의된다. 2개의 개별 논리 정점이 동일한 좌표를 공유하는 것이 허용되기 때문에 정점을 논리 정점이라 칭한다. 다중도의 부호를 변화시키는 것이 삼각형 배향의 리버스와 등가이도록 각 배향 삼각형이 다중도를 제공한다. 삼각형에 나타나는 논리 정점의 임의의 쌍인 임의의 에지가 삼각형 카운팅 다중도에 의해 순방향 및 역방향 순서에서 동일 횟수 정확하게 트래버스된다면, 다면체 2-체인을 다면체 2-사이클이라 칭한다. 이러한 최종 조건을 제로 경계 조건이라 칭한다. 다시 말해서, 사이클은 제로 경계 조건을 충족시키는 체인이다.
도 35 는 자기 교차가 없는 2개의 다면체 1-사이클을 예시한다. 도면의 좌측상의 사이클이 동일한 좌표를 공유하는 2개의 논리 정점 (351) 을 갖는다는 것을 알 수 있다. 또한, 사이클 모두는 위상기하학적으로 완벽하다. 실제로, 제로 경계 조건은, 각 정점이 순방향 및 역방향 순서에서 동일 횟수 정확하게 트래버스될 때 검증된다.
도 36 은 다면체 1-사이클 자기-교차를 예시한다. 다시, 제로 경계 조건이 검증된다.
도 37-39 는 다면체 2-사이클의 예를 도시한다. 도 37 은, 2개의 사면체를 포함하는 다면체 2-사이클을 예시한다. 사면체 모두는 도 38 에 예시된 바와 같이 4개의 2-공통면 (삼각형) 을 갖는 선분 (또는 에지)
Figure 112009068410945-PAT00118
를 통해 접속된다. 4개의 2-공통면 각각은, 다중도의 부호를 변화시키는 것이 삼각형 배향의 리버스와 등가이도록 다중도를 제공한다 (도 39). 2-공통면에 나타나는 논리 정점의 임의의 쌍이 삼각형 카운팅 다중도에 의해 순방향 및 역방향 순서에서 동일 횟수 정확하게 트래버스되기 때문에, 제로 경계 조건이 도 39 에서 검증된다는 것을 알 수 있다.
도 40 은 도 6 을 완전하게 한다. 이 도면은 도 11-12 에 도시된 바와 같이, 개방된 단순한 다각형 선에 따라 L-형상의 폐윤곽선을 스위핑함으로써 획득된 복합체의 넌 제로-다중도 선분 (또는 에지) 를 예시한다.
정리에 의해, 넌 제로-다중도 선분 (또는 에지) 는 제로-경계 단체의 복합체 인 사이클을 정의한다. 제로-경계 조건은 매우 민감한 방식으로 다중도와 배향을 수반한다. 도 40 에서, 제로-경계 조건은, 각 정점에서, 모든 경사 에지의 다중도의 합이 제로이다는 것을 의미한다. 정점
Figure 112009068410945-PAT00119
가 제공되면, 정의에 의해, "인 (in)" 에지는
Figure 112009068410945-PAT00120
에서 종료하고, "아웃 (out)" 에지는
Figure 112009068410945-PAT00121
에서 시작한다. 정점의 다중도는 모든 "인" 에지 다중도의 합에서 모든 "아웃" 에지 다중도의 합을 감산한 것에 의해 정의된다.
예를 들어, 정점 (400) 은 "인" 에지 (63 및 64) 다중도에서 "아웃" 에지 (61) 다중도를 감산한 것의 합이다. 그 결과, 정점 (400) 은 (+2)+(-1)-(+1)=0 의 다중도를 갖는다. 도 40 에 도시된 바와 같이, 유사한 동작이 각 정점에 적용된다.
다면체 사이클에 의해 제공된 이점들 중에서, 이러한 사이클은 완벽한 매니폴드 다면체 솔리드 경계의 개념으로 확장한다. 따라서, 완벽한 다면체의 인/아웃 영역은, 다면체 사이클에 대하여 점의 인덱스의 개념, 어떤 의미에서는, "하나의 점의 몇배가 현재 다면체 내부에 있는지"를 카운팅하는 정수로 확정된다.
일반적으로, 일반적인 완벽한 매니폴드 다면체 솔리드 경계의 좌표의 섭동은 이것을 무효로 할 수 있다. 이것은 특히, 자기-교차가 발생할 경우이다. 그러나, 다면체 사이클의 유효성이 완전히 조합 (combinatorial) 이기 때문에, 좌표 섭동에 의해 차단될 수 없다. 그 결과, 다면체 사이클은 안정하고, 이러한 안정성은 강건성의 중요한 요소이다.
예를 들어, 부동점 산술을 사용하여 회전 매트릭스를 유효 다면체의 정점에 적용하는 것은, 라운딩 에러가 발생하기 때문에 무효가 될 수 있다. 반대로, 다면체 사이클에 회전을 적용하는 것은 완전하게 안전하다. 따라서, 강건성이 보장된다.
단체의 스타 및 링크
도 41 내지 49 는, 복합체의 스타 및 링크의 정의를 예시한다. (도 41 및 44 에 도시된 바와 같이) 단체의 복합체 C 에서의 단체
Figure 112009068410945-PAT00122
의 스타 (star) 는, 생략하여
Figure 112009068410945-PAT00123
또는
Figure 112009068410945-PAT00124
로 표기된 단체의 복합체이고, 이것은 도 42 및 45 에 예시된 바와 같이 (음영 삼각형), 모든 면들과 함께,
Figure 112009068410945-PAT00125
를 포함하는 C 의 모든 단체를 포함한다.
단체의 복합체
Figure 112009068410945-PAT00126
는, 도 27-28 에 예시되어 있는 공통-면 개념을 사용하여 동등하게 정의될 수 있다.
Figure 112009068410945-PAT00127
의 공통-면을 취하는 것은 단체들의 세트를 제공한다. 그 후, 모든 이러한 단체의 모든 면을 취하는 것은
Figure 112009068410945-PAT00128
의 스타를 산출한다. 명시적으로,
Figure 112009068410945-PAT00129
이다.
Figure 112009068410945-PAT00130
의 공통-면은 단체들의 세트이지만,
Figure 112009068410945-PAT00131
의 스타는 구성된 오브젝트인 단체의 복합체이다.
단체의 복합체 C 에서의 단체
Figure 112009068410945-PAT00132
의 링크 (link) 는, 생략하여
Figure 112009068410945-PAT00133
또는
Figure 112009068410945-PAT00134
로 표기된 단체의 복합체이고, 이것은
Figure 112009068410945-PAT00135
와 비어있는 교점을 갖는
Figure 112009068410945-PAT00136
에서의 모든 단체의 세트로서 정의된다. 도 43 및 46 에서, 정점
Figure 112009068410945-PAT00137
의 링크는 볼드체의 선으로 표현된 폐윤곽선이다. 또한, 경계 정점의 링크가 도 46 에 도시된 바와 같이 개방 윤곽선일 수도 있다는 것을 알 수 있다.
도 47 내지 49 는, 단체
Figure 112009068410945-PAT00138
가 에지 (또는 선분) 인 경우를 예시한다. 이러한 경우에서, 단체
Figure 112009068410945-PAT00139
의 스타
Figure 112009068410945-PAT00140
는 2개의 2-단체 (도 48 에서의 음영 삼각형) 에 의해 정의되며, 단체
Figure 112009068410945-PAT00141
의 링크
Figure 112009068410945-PAT00142
는 2개의 정점 (도 49 에서의 큰 점) 에 의해 정의된다.
조합 k- 매니폴드
도 50 내지 61 은 조합 k-매니폴드의 정의를 예시한다. 단체의 복합체 C 는,
Figure 112009068410945-PAT00143
에 대해, C 에서의 임의의 j-단체
Figure 112009068410945-PAT00144
Figure 112009068410945-PAT00145
차원 디스크 또는
Figure 112009068410945-PAT00146
차원 구에 대해 위상동형 (homeomorphic) 인 링크
Figure 112009068410945-PAT00147
를 갖는 경우에 k-매니폴드이다. 다시 말해서, 단체의 복합체 C 는,
Figure 112009068410945-PAT00148
차원 디스크 또는
Figure 112009068410945-PAT00149
차원 구를 각각 삼각화하던지 k-매니폴드이다. 제 1 경우에서,
Figure 112009068410945-PAT00150
를 경계 단체라 말하고, 후자의 경우에서, 내부 단체라 말한다.
이전의 도면 47 내지 49 에서의 단체의 복합체는 이 정의에 따라 2-매니폴드이다. 도 50-52 에 예시되어 있는 바와 같이, 모든 내부 에지는 2-점 링크를 가지고, 모든 경계 에지는 1-점 링크를 갖는다.
도 53-55 는 2-매니폴드가 아닌 단체의 복합체를 예시한다.
Figure 112009068410945-PAT00151
는 3개의 삼각형에 의해 공유된다. 그 스타는 전체 복합체를 포함하고, 그 링크는 k-1-1=2-1-1=0 구 또는 디스크가 아닌 3개의 정점으로 이루어진다.
도 56-58 은, 전체 복합체인 정점
Figure 112009068410945-PAT00152
의 스타를 도시하고, 그 링크는 반대 정점을 공유하는 3개의 선으로 이루어진다. 명백하게, 이것은 k-0-1=2-0-1=1 구 또는 디스크가 아니다.
도 56-58 은, k-매니폴드에서, 내부 k-1 단체가 정확하게 2개의 k-단체의 면이다는 것을 예시한다. 일반적 차원 공간에서 평행이동되면, 이것은, 사면체 볼륨의 내부 면이 2개의 사면체에 의해 공유되고, 삼각화된 표면의 내부 에지가 2개의 삼각형에 의해 공유되며, 단순한 다각형 선의 내부 정점이 2개의 에지에 의해 공유된다는 것을 나타내는 일반적인 방식이다.
볼, 구, 및 디스크 개념은, 도 59-61 에 예시된 아래의 로직에 의해 관리된다. 유한 차원 공간이 제공되면, 단위 볼은
Figure 112009068410945-PAT00153
이도록 점들의 세트
Figure 112009068410945-PAT00154
이다. 단위 구는,
Figure 112009068410945-PAT00155
이도록, 점들의 세트
Figure 112009068410945-PAT00156
인 단위 볼의 경계이다. 디스크는,
Figure 112009068410945-PAT00157
Figure 112009068410945-PAT00158
이도록, 점들의 세트
Figure 112009068410945-PAT00159
인 단위 구의 절반 부분이다.
도 59-61 은 일반적인 차원을 예시한다. 오브젝트 사이의 위상기하학적 등가는, 티어링 (tearing) 없이 단위 볼 (각각 단위 구, 디스크) 로 연속적으로 변 형될 수 있는 오브젝트는 단위 볼 (각각 단위 구, 디스크) 와 등가이며, 볼 (각각 구, 디스크) 로 또한 지칭되는 것으로 정의된다. 따라서, 위상기하학적 관점으로부터, 2D 디스크는 2D 볼과 등가이며, 1D 디스크는 1D 볼과 등가이다.
더욱 일반적으로, k-차원 디스크는 k-차원 볼과 등가이다. 0-차원 구가 2개의 분리 점 (도 60) 으로 이루어지고, 0-차원 디스크가 일 분리 점 (도 61) 으로 이루어지지만, 컨벤션에 의해, 네거티브 차원의 구와 디스크는 비어 있는 것으로 고려된다.
배향가능 조합 k- 매니폴드
k-매니폴드 C 의 k-단체를
Figure 112009068410945-PAT00160
로 한다. 단체
Figure 112009068410945-PAT00161
는 그것의 정점의 순서화에 의해 배향된다.
Figure 112009068410945-PAT00162
의 배향은 아래와 같이 (k-1)-단체 면의 배향을 유도한다. 모든
Figure 112009068410945-PAT00163
에 대해, (j번째 정점을 생략한) 순서화
Figure 112009068410945-PAT00164
는,
Figure 112009068410945-PAT00165
가 짝수이면 이러한 (k-1)-단체에 대해 유도된 배향, 및
Figure 112009068410945-PAT00166
가 홀수이면 그 배향의 인버스를 정의한다. 단체의 배향을 역으로 하는 것은, 예를 들어, 2개의 첫번째 정점을 스왑 (swap) 해야 한다는 것을 의미한다.
예를 들어,
Figure 112009068410945-PAT00167
에 의해 도 62 에서 사면체를 배향하는 것은, 아래의 삼각형 배향 :
Figure 112009068410945-PAT00168
Figure 112009068410945-PAT00169
를 유도한다. 반대로, 사면체 배향이 리버스, 즉,
Figure 112009068410945-PAT00170
되면, 이것은 삼각형의 리버스 배향을 유도한다.
조합 k-매니폴드 C 는,
Figure 112009068410945-PAT00171
의 정점의 순서화를 특정함으로써 C 에서의 각 k-단체
Figure 112009068410945-PAT00172
에 "일관된" 배향을 할당하는 것이 가능하면 배향가능하다고 한다. 배향의 일관성은 다음을 의미한다. 조합 k-매니폴드의 정의는, C 의 임의의 내부 k-1 단체
Figure 112009068410945-PAT00173
Figure 112009068410945-PAT00174
Figure 112009068410945-PAT00175
로 표기된 정확하게 2개의 k-단체의 면이다는 것을 필요로 한다.
Figure 112009068410945-PAT00176
Figure 112009068410945-PAT00177
에 의해
Figure 112009068410945-PAT00178
에 대해 유도된 배향이 반대이면, 소정의 배향을 "일관된다" 고 한다. 다시 말해서, 2개의 유도된 순서화가 (즉, 네거티브 서명의) 홀수 치환을 통해 관련되면 일관된다.
도 63 에서, 3-매니폴드 C 는 삼각형
Figure 112009068410945-PAT00179
를 공유하는 2개의 사면체
Figure 112009068410945-PAT00180
Figure 112009068410945-PAT00181
로 이루어진다.
Figure 112009068410945-PAT00182
를 배향하는 것은,
Figure 112009068410945-PAT00183
배향으로서
Figure 112009068410945-PAT00184
을 유도한다.
Figure 112009068410945-PAT00185
를 배향하는 것은,
Figure 112009068410945-PAT00186
배향으로서
Figure 112009068410945-PAT00187
를 유도한다. 명백하게, 복합체 C 는 배향되지 않는다. 그럼에도 불구하고,
Figure 112009068410945-PAT00188
배향 또는
Figure 112009068410945-PAT00189
배향을 리버싱함으로써 배향가능하다.
모든 k-매니폴드가 배향가능한 것은 아니다. 도 64 의 2-매니폴드는 뫼 비우스 띠의 삼각화이고, 이것은 배향가능하지 않다.
3D 셀, 3D 외부 셀
먼저, 모든 삼각형의 결합이도록 "다면체 사이클"
Figure 112009068410945-PAT00190
의 "서포트 (support)" 가 정의된다. 3-공간에서
Figure 112009068410945-PAT00191
의 서포트의 여각 (complement) 의 연결된 컴포넌트를 3D 셀이라 칭한다. 오직 하나의 3D 셀만이 바운드되지 않고 "외부 셀" 이라 칭한다.
감음 수 ( Winding number )
다면체 사이클
Figure 112009068410945-PAT00192
이 제공되면,
Figure 112009068410945-PAT00193
의 각 삼각형이 그것의 3개의 정점의 순서화에 의해 배향되고 이러한 순서화가 법선 벡터를 정의한다는 것을 상기한다. 또한,
Figure 112009068410945-PAT00194
의 각 삼각형은 정수 다중도를 갖는다.
Figure 112009068410945-PAT00195
로부터의 임의의 삼각형에 속하지 않는 3-D 공간에서 점
Figure 112009068410945-PAT00196
가 제공되면,
Figure 112009068410945-PAT00197
에 대한
Figure 112009068410945-PAT00198
의 감음 수는 아래와 같이 정의된 정수
Figure 112009068410945-PAT00199
이다.
Figure 112009068410945-PAT00200
에서 시작하며
Figure 112009068410945-PAT00201
로부터의 어떠한 에지와 교차하지 않는 배향된 하프 선
Figure 112009068410945-PAT00202
을 고려한다. 이러한
Figure 112009068410945-PAT00203
은 항상 존재한다.
Figure 112009068410945-PAT00204
를 콜하면, 단위 벡터는
Figure 112009068410945-PAT00205
로부터 무한으로 포인팅하는
Figure 112009068410945-PAT00206
의 방향을 정의한다.
Figure 112009068410945-PAT00207
Figure 112009068410945-PAT00208
로부터의 삼각형
Figure 112009068410945-PAT00209
과 교차할 때,
Figure 112009068410945-PAT00210
의 법선
Figure 112009068410945-PAT00211
Figure 112009068410945-PAT00212
의 내적이 포지티브이면
Figure 112009068410945-PAT00213
Figure 112009068410945-PAT00214
포워드를 크로스하고, 네거티브이면 백워드를 크로스한다. 이것은
Figure 112009068410945-PAT00215
Figure 112009068410945-PAT00216
로부터의 적어도 하나의 에지와 교차 한다는 것을 의미하기 때문에 제로일 수 없다.
Figure 112009068410945-PAT00217
를 갖는 정수
Figure 112009068410945-PAT00218
를 초기화한다.
Figure 112009068410945-PAT00219
가 다중도
Figure 112009068410945-PAT00220
를 갖는
Figure 112009068410945-PAT00221
로부터 삼각형
Figure 112009068410945-PAT00222
를 크로스할 때 마다,
Figure 112009068410945-PAT00223
Figure 112009068410945-PAT00224
포워드를 크로스하면
Figure 112009068410945-PAT00225
Figure 112009068410945-PAT00226
를 증분하고,
Figure 112009068410945-PAT00227
Figure 112009068410945-PAT00228
백워드를 크로스하면
Figure 112009068410945-PAT00229
Figure 112009068410945-PAT00230
를 감분한다.
Figure 112009068410945-PAT00231
그렇게 형성된 수
Figure 112009068410945-PAT00232
Figure 112009068410945-PAT00233
에 대한
Figure 112009068410945-PAT00234
의 감음 수라 칭한다. 이것은 하프-선
Figure 112009068410945-PAT00235
에 의존하지 않고, 임의의 3D 셀에서 일정하고, 이것은,
Figure 112009068410945-PAT00236
가 동일한 3D 셀내의 모든 점
Figure 112009068410945-PAT00237
에 대해 동일한 값을 갖는다는 것을 의미한다. 특히, 외부 셀내의 모든 점
Figure 112009068410945-PAT00238
에 대해
Figure 112009068410945-PAT00239
이다.
도 65 는, (자기 교차하는) 평면 윤곽선을 갖는 감음 수 계산을 예시한다. 선분 배향이 법선 벡터를 정의한다. 점선
Figure 112009068410945-PAT00240
이 좌로부터 우로 배향된다. 선
Figure 112009068410945-PAT00241
상에 점
Figure 112009068410945-PAT00242
이 제공되면, 그것의 감음 수
Figure 112009068410945-PAT00243
의 계산은 초기화하고 (
Figure 112009068410945-PAT00244
) 선
Figure 112009068410945-PAT00245
을 따라
Figure 112009068410945-PAT00246
로부터 무한으로 (도면의 우측으로) 이동할 것이다. 이러한 모션 동안, 윤곽선을 크로싱할 때 (도면에 도시된 바와 같이) 증분하거나
Figure 112009068410945-PAT00247
감분한다
Figure 112009068410945-PAT00248
.
절차
2개의 단체의 복합체
Figure 112009068410945-PAT00249
(프로파일) 및
Figure 112009068410945-PAT00250
(궤적) 이 제공되면, 절차는 먼저 도 1 에 나타낸 바와 같이 단체의 곱
Figure 112009068410945-PAT00251
을 구축할 수도 있다. 시작은 단체의 복합체
Figure 112009068410945-PAT00252
를 형성하고,
Figure 112009068410945-PAT00253
의 각 정점
Figure 112009068410945-PAT00254
는 도 2 에 나타낸 바와 같이 3D-공간에서 점
Figure 112009068410945-PAT00255
에 자연적으로 매핑될 수 있다. 예를 들어, 도 11-12 및 도 15-17 의 경우에서, 이러한 점은 합
Figure 112009068410945-PAT00256
이지만, 도 13-14 및 도 18-20 의 경우에서, 이러한 점은
Figure 112009068410945-PAT00257
Figure 112009068410945-PAT00258
의 이미지 바이 변환
Figure 112009068410945-PAT00259
이다.
일 예로서,
Figure 112009068410945-PAT00260
가 단체의 곱
Figure 112009068410945-PAT00261
에서 2-단체 (삼각형) 이면, 3배수의 정도로 배향된 (가능하게는 퇴화) 삼각형
Figure 112009068410945-PAT00262
을 고려한다. 이러한 배향된 삼각형은 법선 벡터를 정의한다.
Figure 112009068410945-PAT00263
Figure 112009068410945-PAT00264
Figure 112009068410945-PAT00265
가 공선이면,
Figure 112009068410945-PAT00266
은 제로일 수 있다. 삼각형
Figure 112009068410945-PAT00267
가 제공되면, 다중도 절차는
Figure 112009068410945-PAT00268
의 다중도라 칭하는 부호를 갖는 정수를 계산한다.
n=3 의 경우에서, 다중도 의사-코드는 아래의 방식으로 판독될 수도 있다.
Figure 112009068410945-PAT00269
Figure 112009068410945-PAT00270
Figure 112009068410945-PAT00271
변수 계산에 수반된
Figure 112009068410945-PAT00272
멱지수는, 3D 앰비언트 공간의 차원과 관련된다. 2D 앰비언트 공간에서, 선분의 다중도는
Figure 112009068410945-PAT00273
멱지수를 사용하여 유사한 절차에 의해 계산된다. 더욱 일반적으로, 차원 n "앰비언트" 공간에 대해, 멱지수는
Figure 112009068410945-PAT00274
이다.
n=3 의 경우에서, 비최적화 메인 절차 의사-코드는 아래와 같이 판독할 수도 있다.
Figure 112009068410945-PAT00275
상기 절차를 더욱 직관적이고 실용적이게 하기 위해, 도 11-12 의 경우에서 이것을 어떻게 특수화할지 이제 검토한다. 이러한 경우에서, 단체의 복합체
Figure 112009068410945-PAT00276
는 프로파일 P1 이고, L 형상 다각형의 삼각화이다. 이것은 2-차원 단체의 복합체이다. 단체의 복합체
Figure 112009068410945-PAT00277
는 궤적 P2 이고, 파선은 연속 위치를 선형적으로 포함한다. 이것은 1-차원 단체의 복합체이다.
Figure 112009068410945-PAT00278
의 에지와
Figure 112009068410945-PAT00279
의 삼각형의 데카르트 곱은 프리즘이고,
Figure 112009068410945-PAT00280
의 에지와
Figure 112009068410945-PAT00281
의 에지의 데카르트 곱은 평행사변형이다. 절차는 이들 곱을 삼각화하고, 각 프리즘은 3개의 사면체를 초래하 고, 각 평행사변형은 2개의 삼각형을 초래하여서, 단체의 곱을 산출한다. 도 66 은 2개의 단체의 복합체를 나타내는 반면에, 도 67 은 이들의 데카르트 곱의 삼각화 (사면체 670, 671, 672, 673, 674, 675) 를 나타낸다.
후술하는 삼각화 절차는 이러한 삼각화를 일관되게 하는데, 이것은, 프리즘의 분해에 의해 생성된 사면체의 경계 삼각형이 평행사변형의 분해에 의해 생성된 경계 삼각형과 일치해야 한다는 것을 의미한다.
단체의 곱
Figure 112009068410945-PAT00282
이 (예를 들어, 데카르트 곱 삼각화를 통해) 계산되면, 상기 S70 의 절차가 적용될 수 있다. 다중도 절차는 입력으로서 단체의 곱
Figure 112009068410945-PAT00283
의 삼각형을 취한다. 도 11-12 의 경우에서, 이러한 곱에는 3개의 종류의 삼각형이 존재하고, 이것은
Figure 112009068410945-PAT00284
의 정점과
Figure 112009068410945-PAT00285
의 삼각형의 곱으로부터 오는 타입 1 의 삼각형 (도 68),
Figure 112009068410945-PAT00286
의 에지와
Figure 112009068410945-PAT00287
의 에지의 곱인, 평행사변형의 2개의 삼각으로의 분해로부터 오는 타입 2 의 삼각형 (도 69), 및
Figure 112009068410945-PAT00288
의 에지와
Figure 112009068410945-PAT00289
의 삼각형의 곱인, 프리즘의 분해로부터 오는 타입 3 의 삼각형 (도 70) 이 존재한다. 제 1 경우에서, 각각의 이러한 삼각형은, 정점이 제 1 또는 최종 궤적이면 정확하게 하나의 사면체의 면이고, 다른 정점에 대해서는 정확하게 2개의 사면체의 면이다. (프로파일의 삼각화
Figure 112009068410945-PAT00290
이 경계가 없는 매니폴드이다는 것을 가정하는) 제 2 및 제 3 경우에서, 각 삼각형은 정확하게 2개의 사면체의 면이다.
곱의 각 삼각형은
Figure 112009068410945-PAT00291
에 의해 정점의 이미지에 의해 제공된 3D 이미지이다. 이러한 특정한 경우에서, 삼각형의 각 정점은 커플
Figure 112009068410945-PAT00292
이고, 여기서
Figure 112009068410945-PAT00293
은 프로파일
Figure 112009068410945-PAT00294
의 정점이고,
Figure 112009068410945-PAT00295
는 궤적
Figure 112009068410945-PAT00296
의 정점이며,
Figure 112009068410945-PAT00297
에 의한 이미지는 단지
Figure 112009068410945-PAT00298
이다.
3D 공간에서의 삼각형의 이미지가 공선이 아니면, 이미지 삼각형을 지원하고 삼각형 배향에 의해 배향된 평면인 배향된 평면을 정의한다. 이러한 소정의 삼각형 (도 71 내지 73 참조) 에 대해, S70 에서의 다중도 절차는, 곱
Figure 112009068410945-PAT00299
에서의 삼각형의 하나 또는 2개의 사면체를 고려하고, 배향된 평면에 대한 각 사면체의 제 4 정점의 상황을 결정한다.
도 73 에 대해, 각 사면체의 제 4 정점 (730, 731) 이 네거티브 특상에 있을 때, 다중도 절차는, 팩터
Figure 112009068410945-PAT00300
이기 때문에 -2 를 리턴한다. 도 72 에 대해, 각 사면체의 제 4 정점 (720, 721) 이 네거티브 특상에 있을 때, 다중도 절차는 +2 를 리턴한다. 도 71 에 대해, 하나의 사면체의 제 4 정점 (710) 이 포지티브 특상에 있고 다른 사면체의 제 4 정점 (711) 이 네거티브 측상에 있을 때, 다중도 절차는 0 을 리턴한다.
메인 절차는 곱
Figure 112009068410945-PAT00301
의 모든 삼각형을 스캔하고, 대응하는 다중도를 갖는 대응하는 삼각형을 결과적인 체인
Figure 112009068410945-PAT00302
에 삽입한다.
사실, 대부분의 삼각형은 제로 다중도를 갖는다. 메인 절차를 가속하기 위해, 외부 법선 정보를 사용하여 단체의 곱 (또는 더욱 일반적으로는 단체의 복합체) 에서 대부분의 삼각형을 필터링하는 것이 가능하다. 도 11-12 의 경우에서 절차를 최적화하는 하나의 가능한 방식을 설명한다.
궤적의 선분 (740) 이 제공되면, 이러한 선분 (740) 에 대한 수직 단위 벡터 (741) 의 세트는 단위 구 (743) 상에서 큰 원 (742) 이다 (도 74 참조). 2개의 연속 선분 (746, 747) 의 원 (744, 745) 은 단위 구 상에서 섹터를 정의한다 (도 75 참조).
도 76 에서, 궤적의 정점
Figure 112009068410945-PAT00303
에 의한 프로파일의 삼각형
Figure 112009068410945-PAT00304
의 삼각형 곱은,
Figure 112009068410945-PAT00305
에 대한 법선이
Figure 112009068410945-PAT00306
에 인접한 2개의 궤적 선분에 수직인 큰 원에 의해 경계가 결정된 섹터를 향하지 않으면 다중도 절차에 의해 제로 인덱스에 속하게 된다. 도 76 에 대해, 레퍼런스 760 은 제로-다중도를 표시하고, 레퍼런스 761 은 섹터 외부에 있는 법선 벡터를 표시한다.
도 76 및 도 77 에서, 삼각형
Figure 112009068410945-PAT00307
의 평면은 도형의 평면에 수직이고, 이것이, 삼각형
Figure 112009068410945-PAT00308
가 선분으로서 그려지고, 그 단위 법선 벡터가 도형의 평면에 포함되는지의 이유이다. 또한, 궤적 (점선) 은 도형의 평면에 포함된다.
유사하게는, 도 78-80 에 도시된 바와 같이, 궤적의 에지
Figure 112009068410945-PAT00309
에 의한 프로파일의 에지
Figure 112009068410945-PAT00310
의 평행사변형 곱의 삼각형 부분은, 에지
Figure 112009068410945-PAT00311
에 인접한 프로파일의 삼각형에 대한 법선을 조인하는 큰 원의 호 (arc) 가 에지
Figure 112009068410945-PAT00312
에 수직인 큰 원 을 컷트하지 않으면, 다중도 절차에 의해 제로 인덱스에 속하게 된다.
단위 구 상의 국소화 (localization) 구조 (예를 들어, 쿼드-트리 (quad-tree)) 를 사용하여, 외부 단위 법선이 이러한 셀의 내부를 포인팅하는 삼각형의 세트를 단위 구의 각 셀에 부착할 수 있다. 그 후, 궤적의 각 선분 및 각 정점에 대해, 상기 리마크는 궤적 선분의 세트와 프로파일 삼각형의 세트 각각을 리커버링 (recovering) 하는 것을 허용하고, 그 곱은 넌 제로 다중도 삼각형을 생성한다. 이러한 리커버링은 국소화 데이터 구조를 스캔함으로써 수행된다.
출력 다면체 사이클이 스윕된 볼륨을 어떻게 표현하는가
다수의 상황에서, 출력 다면체 사이클은 스윕된 볼륨의 표현을 제공한다. 이것을 더욱 정밀하게 하기 위해, 출력 사이클을 실제로 사용할 수 있는 3개의 일반적인 상황 (상황 1, 2, 3) 을 설명한다. 일반적인 절차는 2개의 오퍼랜드 (프로파일 및 궤적) 에서 대칭이고, 따라서, 아래의 상황에서, 오퍼랜드
Figure 112009068410945-PAT00313
Figure 112009068410945-PAT00314
를 스윕할 수 있다.
상황 1 은, 2개의 아래의 특성이 홀드할 때 발생한다.
- 오퍼랜드
Figure 112009068410945-PAT00315
은 사이클이 없는 1-차원 단체의 복합체이다. 그래프 이론에서, 이러한 구조를 포레스트 (forest) (또는 접속될 때 트리) 라 칭한다.
- 맵
Figure 112009068410945-PAT00316
이, 제 2 독립변수 (argument) 에 대하여 단사 (injective) 이고, 다시 말해,
Figure 112009068410945-PAT00317
에서의 임의의
Figure 112009068410945-PAT00318
에 대하여,
Figure 112009068410945-PAT00319
이다.
이러한 경우에서, 출력 사이클
Figure 112009068410945-PAT00320
은, 스윕된 볼륨의 경계 (또는 더욱 일반적으로는, 모델링된 오브젝트의 경계) 을 포함하고, 그 스윕된 볼륨의 내부에서의 어떤 여분의 표면일 수도 있다. 사이클의 그래픽 렌더링은, 스윕된 볼륨 외부에 있는 뷰 포인트로부터 계산될 때 스윕된 볼륨의 시각적으로 정확한 표현을 항상 제공한다. 또한, 사이클의 감음 수는, 스윕된 볼륨에 대한 멤버쉽 술어 (membership predicate) 를 제공하고,
Figure 112009068410945-PAT00321
로부터의 임의의 삼각형에 속하지 않는 포인트 공간은,
Figure 112009068410945-PAT00322
에 대한 감음 수가 포지티브이면 그리고 그 경우에만 스윕된 볼륨의 내부에 있다. 본 방법은, 여분의 표면의 존재하는 경우에도 양호한 그래픽 렌더링을 제공한다. 본 방법에서는, 경계의 내부에서 여분의 표면을 삭제하기 위해 경계를 재계산할 필요가 없다. 이것은 계산량을 감소시키고 자원을 보존한다.
상황 2 는, 2개의 아래의 특성이 홀드할 때 발생한다.
- 오퍼랜드
Figure 112009068410945-PAT00323
은 배향된 조합 3-매니폴드이다.
- 오퍼랜드
Figure 112009068410945-PAT00324
에서의 임의의 포인트
Figure 112009068410945-PAT00325
에 대해, 맵
Figure 112009068410945-PAT00326
Figure 112009068410945-PAT00327
의 사면체에 대한 포지티브 배향을 제공한다. 즉,
Figure 112009068410945-PAT00328
에서의 임의의 배향된 3-단체
Figure 112009068410945-PAT00329
에 대해, 3개의 벡터
Figure 112009068410945-PAT00330
,
Figure 112009068410945-PAT00331
, 및
Figure 112009068410945-PAT00332
의 디터미넌트 (determinant) 는 정확하게 포지티브,
Figure 112009068410945-PAT00333
이다.
상황 3 은,
Figure 112009068410945-PAT00334
이 조합
Figure 112009068410945-PAT00335
-매니폴드이고,
Figure 112009068410945-PAT00336
가 조합
Figure 112009068410945-PAT00337
-매니폴드일 때 발생하고, 여기서
Figure 112009068410945-PAT00338
은 홀수이고
Figure 112009068410945-PAT00339
는 짝수이다. 상황 2 또는 3 에서, 상황 1 에서와 같이, 출력 사이클은 스윕된 볼륨의 경계 (또는 더욱 일반적으로는, 모델링된 오브젝트의 경계) 를 포함하고, 그 스윕된 볼륨의 내부에서의 어떤 여분의 표면일 수도 있다. 사이클의 그래픽 렌더링은, 스윕된 볼륨 외부에 있는 뷰 포인트로부터 계산될 때 스윕된 볼륨의 시각적으로 정확한 표현을 항상 제공한다. 또한, 사이클은 불명확성 없이, 스윕된 볼륨의 외부 스킨을 결정한다. 더욱 정확하게는, 외부 사이클에 의해 유도된 외부 3D 셀의 경계는 스윕된 볼륨의 외부 스킨이다. 상황 1 에 대해 공식화된 바와 같은 동일한 리마크를 여기에 적용한다.
상황 1 의 예는, 궤적이 가역 아핀 변환의 세트 (예를 들어, 그 정점이 균등함) 에서 1-차원 불연속 선형 곡선일 때 이고, 시간에 의해 파라미터화되며, 이러한 경우에서, 이것은 실제로 사이클이 없다 (cycle free).
더욱 정교한 예는 다음과 같다. 2개의 다면체의 스킨의 민코브스키 합을 계산하기 위해, 제 2 다면체의 (에지들의 세트인) 1-스켈레톤 (skeleton) 과 제 1 다면체의 스킨의 민코브스키 합 및 제 1 다면체의 1-스켈레톤과 제 2 다면체의 스킨의 합의 합집합을 고려하는 것으로 충분하다. 경우 1 에 맞추기 위해, 단일 경로 또는 트리 또는 포레스트에 의해 1-스켈레톤을 스팬하는 것으로 충분하다.
상황 2 의 예는 다음과 같다. 오퍼랜드
Figure 112009068410945-PAT00340
가 《다각형 수프》 이다는 것을 가정한다. 다각형 수프는, 가능하면 넌-매니폴드 에지 및 정점을 갖는, 삼각화의 삼각형 및 피스 (piece) 의 비구조 세트이다. 이것은 솔리드의 경계를 근사적으로 스팬하고, 이것은 삼각형 사이의 일부 작은 갭에 대한 것이 아닐 수도 있으면, 이러한 경계를 커버한다. 가장 큰 갭이
Figure 112009068410945-PAT00341
을 초과하지 않도록
Figure 112009068410945-PAT00342
으로 나타낸다. 이러한 다각형 수프를 "힐 (heal)" 하는 것이 가능하고, 이것은 완벽한 표현으로 변환하려는 것이다. 먼저, 반경 의 볼을 포함하는데 충분히 큰 사면체 또는 팔면체
Figure 112009068410945-PAT00344
를 생성한다. 그 후,
Figure 112009068410945-PAT00345
Figure 112009068410945-PAT00346
의 민코브스키 합을 계산한다. 이러한 연산은,
Figure 112009068410945-PAT00347
이 실제로 3-매니폴드이고
Figure 112009068410945-PAT00348
와의 민코브스키 합이
Figure 112009068410945-PAT00349
의 사면체의 배향을 보존하기 때문에 상황 2 에 맞다.
상황 3 의 예는 다음과 같다. 변환의 2개의 파라미터 패밀리에 의해 정의된 솔리드의 모든 이미지의 결합을 계산하기를 원한다는 것을 가정한다. 2-차원 파라미터 공간을 조합 2-매니폴드
Figure 112009068410945-PAT00350
로 삼각화함으로써 변환의 패밀리를 근 사화하는 것이 가능하다. 또한, 솔리드를 조합 3-매니폴드
Figure 112009068410945-PAT00351
로 삼각화하는 것이 가능하다. 파라미터에 대한 변환 및 이들의 종속성 (dependence) 이 충분히 스무스 (smooth) 하다면, 단체는 정확한 맵의 소정의 근사에 도달하기 위해 충분히 작게 구성될 수도 있다. 이러한 근사는,
Figure 112009068410945-PAT00352
의 정점의 이미지에 의해
Figure 112009068410945-PAT00353
에 유도된 불연속 선형 맵에 의해 정의된다. 상황 2 와 다르게, 이것은 변환이 배향 보존이도록 요구하지 않으며, 특히, 변환은 이미지의 경계상의 내부 단체를 전송할 수도 있다.
상황 3 의 다른 예가 다음과 같다. 솔리드
Figure 112009068410945-PAT00354
를 홀딩하는
Figure 112009068410945-PAT00355
자유도를 갖는 로보트 팔을 가정한다.
Figure 112009068410945-PAT00356
에 의해 스윕된 볼륨은 아래와 같이 계산될 수 있다. 먼저, 팔의 구성 공간을 조합
Figure 112009068410945-PAT00357
-매니폴드로서 (가능하게는 팔의 각 조인의 구성 공간의 삼각화의 곱으로서) 삼각화한다.
Figure 112009068410945-PAT00358
이 짝수이면,
Figure 112009068410945-PAT00359
를 조합 3-매니폴드로서 삼각화한다.
Figure 112009068410945-PAT00360
가 그것의 스킨 삼각화에 의해 제공되면, 이것은
Figure 112009068410945-PAT00361
가 볼록이 아닌 경우에 전체적으로 사소하지 않은 솔리드의 삼각화를 요구한다. 다른 옵션은, 거리
Figure 112009068410945-PAT00362
에서 각 스킨 정점
Figure 112009068410945-PAT00363
에 대해 내부 정점
Figure 112009068410945-PAT00364
을 생성하고, 가능하면 벡터
Figure 112009068410945-PAT00365
가 솔리드의 내부를 향해 포인팅하면서, 얇은 삼각형 프리즘으로 각 스킨 삼각형을 대체 함으로써, 스킨의 두껍게 된 부분을 삼각화하는 것이다.
Figure 112009068410945-PAT00366
이 홀수이면, 솔리드의 스킨 삼각화가 사용된다. 이 경우들 모두 상황 3 에 맞다. 도 81 은 삼각화를 이용한 굵은 다각형을 도시한다.
삼각화 , 사면체 분할
단체의 복합체를 획득하는 예로서, 단계 S30 에서 도 1 에 나타낸 바와 같이, 2개의 단체의 복합체
Figure 112009068410945-PAT00367
Figure 112009068410945-PAT00368
의 데카르트 곱
Figure 112009068410945-PAT00369
의 삼각화에 대한 일반 절차를 여기에 설명한다. 아래의 절차는, 일관된 방식으로 곱의 임의의 서브세트의 삼각화를 허용한다. 더욱 명백하게는,
Figure 112009068410945-PAT00370
에서의 단체
Figure 112009068410945-PAT00371
Figure 112009068410945-PAT00372
에서의 단체
Figure 112009068410945-PAT00373
가 제공되면,
Figure 112009068410945-PAT00374
에서의
Figure 112009068410945-PAT00375
Figure 112009068410945-PAT00376
에서의
Figure 112009068410945-PAT00377
Figure 112009068410945-PAT00378
Figure 112009068410945-PAT00379
의 각각의 면인 경우에 (가능하면,
Figure 112009068410945-PAT00380
또는
Figure 112009068410945-PAT00381
),
Figure 112009068410945-PAT00382
Figure 112009068410945-PAT00383
로부터 계산된 삼각화가
Figure 112009068410945-PAT00384
Figure 112009068410945-PAT00385
로부터 계산된 삼각화와 호환가능한 방식으로 삼각화 절차는 데카르트 곱
Figure 112009068410945-PAT00386
을 삼각화한다. 다시 말해서, 이것은
Figure 112009068410945-PAT00387
Figure 112009068410945-PAT00388
로부터 계산된 삼각화의 서브-복합체이다. 그 후, 이러한 절차는 데카르트 곱의 삼각화의 임의의 서브세트를 "온 더 플라이 (on the fly)" 로 출력하는 것을 허용하여서, 전체 데카르트 곱의 고가의 삼각화를 회피한다.
일관성 조건은 2개의 임의의 소정의 전체 순서화,
Figure 112009068410945-PAT00389
의 정점의 세트에 대한 것과
Figure 112009068410945-PAT00390
의 정점의 세트에 대한 것에 의존한다.
Figure 112009068410945-PAT00391
에서의
Figure 112009068410945-PAT00392
-단체
Figure 112009068410945-PAT00393
Figure 112009068410945-PAT00394
에서의
Figure 112009068410945-PAT00395
-단체
Figure 112009068410945-PAT00396
가 제공되면, 이들 전체 순서화는
Figure 112009068410945-PAT00397
Figure 112009068410945-PAT00398
의 단체의 정점의 순서화를 유도한다. 이러한 순서화를 이용하여,
Figure 112009068410945-PAT00399
Figure 112009068410945-PAT00400
Figure 112009068410945-PAT00401
Figure 112009068410945-PAT00402
로서 표현되며, 여기서,
Figure 112009068410945-PAT00403
Figure 112009068410945-PAT00404
Figure 112009068410945-PAT00405
Figure 112009068410945-PAT00406
의 정점의 각각의 증가하는 시퀀스이다.
아래의 삼각화 절차는 2개의 입력 단체
Figure 112009068410945-PAT00407
Figure 112009068410945-PAT00408
및 비어있는 단체의 복합체
Figure 112009068410945-PAT00409
를 이용하여 콜된다. 이 절차는
Figure 112009068410945-PAT00410
-단체를
Figure 112009068410945-PAT00411
에 성공적으로 가산한다. 이들 단체의 면은
Figure 112009068410945-PAT00412
에 명시적으로 가산되지 않는다. 컨벤션에 의해, 이들은 결과적인 복합체의 일부로서 암시적으로 고려된다.
귀납적인 삼각화 절차 의사-코드는 다음과 같을 수도 있다.
Figure 112009068410945-PAT00413
입력 :
Figure 112009068410945-PAT00414
,
Figure 112009068410945-PAT00415
및 비어 있는 단체의 복합체
Figure 112009068410945-PAT00416
출력 : 데카르트 곱
Figure 112009068410945-PAT00417
을 삼각화하는 단체의 복합체
Figure 112009068410945-PAT00418
Figure 112009068410945-PAT00419
Figure 112009068410945-PAT00420
Figure 112009068410945-PAT00421
Figure 112009068410945-PAT00422
삼각형
Figure 112009068410945-PAT00423
및 선분
Figure 112009068410945-PAT00424
을 이용하여 삼각화 절차가 어떻게 작용하는지를 아래에 예시한다. 단순화를 위해, 정점 명칭은 절대 순서화를 나타내는 정수를 사용한다. 먼저, 2개의 입력 단체중 하나가 0-단체일 때 까지, 귀납은 가장 깊은 콜링 레벨 (calling level) 까지 아래로 네비게이트한다. 도 82 는 이러한 단계를 도시한다.
다음 단계 (도 83 참조) 는 콜링 트리의 각 리프 (leaf) 노드에서 0-단체에 의해 단체의 용이한 곱을 수행하는 것이다. 결과적인 단체가
Figure 112009068410945-PAT00425
Figure 112009068410945-PAT00426
에 저장된다.
그 후,
Figure 112009068410945-PAT00427
Figure 112009068410945-PAT00428
에 저장된 부분 단체가 상위 레벨에서 조합된다 (도 84 참조).
이것은 도 85-87 에 도시된 지오메트리를 산출한다. 도 85 의 좌로부터 도 87 의 우로, 입력 단체
Figure 112009068410945-PAT00429
Figure 112009068410945-PAT00430
, (프리즘인) 데카르트 곱
Figure 112009068410945-PAT00431
, 3개의 사면체에 의한 데카르트 곱의 출력 삼각화
Figure 112009068410945-PAT00432
이다.
결과적인 단체의 복합체
Figure 112009068410945-PAT00433
는 3개의 인접한 사면체에 의해 정의된다. 삼각화 절차의 최종 단계는, 삼각형, 에지 및 정점을 가산함으로써
Figure 112009068410945-PAT00434
의 조합 디스크립션 (description) 을 완성하는 것이다. 이러한 단계는 더 이상 설명하지 않는다.
바람직하게는, 본 발명은, 데이터 저장 시스템으로부터 데이터 및 명령들을 수신하고, 데이터 저장 시스템에 데이터 및 명령들을 송신하도록 커플링된 적어도 하나의 프로그램가능한 프로세서, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함하는 프로그램가능한 시스템상에서 실행가능한 하나 이상의 컴퓨터 프로그램에서 구현될 수도 있다. 애플리케이션 프로그램은 하이-레벨 절차 또는 오브젝트 배향 프로그래밍 언어 또는 소망하면 어셈블리 또는 기계 언어에서 구현될 수도 있으며, 임의의 경우에서, 언어는 컴파일되거나 해석된 언어일 수도 있다.
일반적으로, 프로세서가 판독전용 메모리 및/또는 랜덤 액세스 메모리로부터 명령들 및 데이터를 수신한다. 컴퓨터 프로그램 명령들을 명백히 포함하는데 적합한 저장 디바이스는, 예로서 EPROM, EEPROM, 및 플래시 메모리 디바이스; 내부 하드 디스크 및 착탈식 디스크와 같은 자기 디스크; 광자기 디스크; 및 CD-ROM 디스크와 같은 반도체 메모리 디바이스를 포함하는 모든 형태의 비휘발성 메모리를 포함한다. 상술한 것 중 임의의 것은 특수하게 설계된 ASIC (응용 주문형 집적 회로) 에 의해 보완될 수도 있거나 거기에 포함될 수도 있다.
본 발명의 바람직한 실시형태들을 설명하였다. 본 발명의 사상 및 범주를 벗어나지 않고 다양한 변형이 이루어질 수도 있다는 것을 이해할 것이다. 따라서, 다른 구현은 아래의 청구범위의 범주내에 있다.
여기에 상술한 방법 및 루틴이 교육을 위해 단순한 방식으로 기재되어 있지만, 알고리즘 효율 고려사항에 대해 개선점이 의도될 수도 있다는 것이 명백하다.
도 1 은 단체의 곱을 획득하는 예시적인 단계를 도시하는 도면.
도 2 는 단체의 복합체로부터 제로-경계 표면으로 리딩하는 단계를 도시하는 도면.
도 3 은 다각형 선 (11) 에 의해 표현된 궤적과 함께, 폐윤곽선을 갖는 프로파일 (10) 을 도시하는 도면.
도 4 는 도 3 의 컴포넌트의 데카르트 곱을 예시하는 도면.
도 5 는 단체의 곱을 도시하는 도면.
도 6 은 에지 다중도의 개념을 예시하는 도면.
도 7 은 넌 제로-다중도 단체를 예시하는 도면.
도 8, 9, 및 10 은 도 2 의 단계들을 도시하는 도면.
도 11 내지 20 은 모델링된 오브젝트를 단체의 m-복합체로서 정의하는 스위프의 4개의 경우를 예시하는 도면.
도 21 은 0-단체를 예시하는 도면.
도 22 는 1-단체를 도시하는 도면.
도 23 은 2-단체를 도시하는 도면.
도 24 는 3-단체를 도시하는 도면.
도 25 는 3-단체를 도시하는 도면.
도 26 은 3-단체의 모든 면을 도시하는 도면.
도 27 은 단체의 복합체를 도시하는 도면.
도 28 은 에지의 모든 공통면을 도시하는 도면.
도 29 는 2개의 정점의 데카르트 곱을 도시하는 도면.
도 30 은 정점과 에지의 데카르트 곱을 도시하는 도면.
도 31 은 2개의 선분의 데카르트 곱을 도시하는 도면.
도 32 는 평행사변형을 2개의 삼각형으로 스플릿하는 2개의 방식을 도시하는 도면.
도 33 및 34 는 선분과 삼각형의 데카르트 곱을 도시하는 도면.
도 35 는 자기 교차가 없는 2개의 다면체 1-사이클을 예시하는 도면.
도 36 은 다면체 1-사이클 자기-교차를 예시하는 도면.
도 37 내지 39 는 다면체 2-사이클의 예를 도시하는 도면.
도 40 은 에지 다중도의 개념을 예시하는 도면.
도 41 내지 49 는 복합체의 스타 및 링크의 정의를 예시하는 도면.
도 50 내지 61 은 조합 k-매니폴드의 정의를 예시하는 도면.
도 62 는 사면체를 도시하는 도면.
도 63 은 3-매니폴드 C 를 도시하는 도면.
도 64 는 2-매니폴드 C 를 도시하는 도면.
도 65 는 (자기 교차하는) 평면 윤곽선을 갖는 감음 수 계산을 예시하는 도면.
도 66 은 2개의 단체의 복합체를 도시하고, 도 67 은 이들의 데카르트 곱의 삼각화를 도시하는 도면.
도 68 내지 70 은 3개 종류의 삼각형을 도시하는 도면.
도 71 내지 73 은 삼각형의 다중도를 어떻게 정의하는지의 예를 도시하는 도면.
도 74 는 선분에 수직 단위 벡터의 세트가 단위 구상의 큰 원이다는 것을 예시하는 도면.
도 75 는 2개의 연속 선분의 원이 단위 구상의 섹터를 정의한다는 것을 예시하는 도면.
도 76 은 궤적의 정점에 의한 프로파일의 삼각형의 삼각형 곱이 다중도 절차에 의해 제로 인덱스에 속하게 된다는 것을 예시하는 도면.
도 77 은 삼각형의 평면이 도형의 평면에 수직이다는 것을 예시하는 도면.
도 78 - 80 은 궤적의 에지에 의한 프로파일의 에지의 평행사변형 곱의 삼각형 부분이 다중도 절차에 의해 제로 인덱스에 속하게 된다는 것을 예시하는 도면.
도 81 은 삼각화를 이용한 굵은 다각형을 도시하는 도면.
도 82 내지 84 는 삼각화 절차가 어떻게 작용하는지를 예시하는 도면.
도 85 내지 87 은 도 82 내지 84 의 단계들로부터 산출된 지오메트리를 도시하는 도면.
*도면의 주요 부분에 대한 부호의 설명*
10 : 프로파일 11 : 다각형 선
670, 671, 672, 673, 674, 675 : 사면체
710, 711, 720, 721, 730, 731 : 제 4 정점
740 : 선분 741 : 수직 단위 벡터
742 : 큰 원 743 : 단위 구
744, 745 : 원 746, 747 : 선분
760 : 제로-다중도 761 : 섹터 외부에 있는 법선 벡터

Claims (14)

  1. 컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법으로서,
    - 상기 모델링된 오브젝트를 단체의 m-복합체 (simplicial m-complex) 로서 정의하는 데이터에 액세스하는 단계 (S50);
    - 상기 단체의 m-복합체를
    Figure 112009068410945-PAT00435
    (m≥n) 에서 투영하는 단계 (S55); 및
    - 상기 모델링된 오브젝트의 다면체 경계를, 상기 단체의 복합체의 투영에서의 다면체 n-1-사이클로서 계산하는 단계 (S60-S70) 를 포함하며,
    상기 다면체 n-1-사이클은 상기 단체의 복합체의 투영에 실질적으로 접하는, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  2. 제 1 항에 있어서,
    상기 계산하는 단계 (S60-S70) 에서, 상기 다면체 n-1-사이클은, 상기 단체의 복합체의 투영의 단체들을 포함하는, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  3. 제 2 항에 있어서,
    n =3 이고, 상기 다면체 경계를 계산하는 단계 (S60-S70) 는,
    - 상기 단체의 복합체의 투영의 삼각형들을 테스트하는 단계를 포함하며,
    상기 삼각형들을 테스트하는 단계는, 상기 테스트된 삼각형들 각각에 대해, 상기 테스트된 삼각형의 단체 공통면 (simplex coface) 들이 상기 테스트된 삼각형들 각각의 동일한 측상에 있는지를 테스트하는 단계를 포함하는, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  4. 제 1 항, 제 2 항 또는 제 3 항에 있어서,
    상기 데이터에 액세스하는 단계에서, 상기 단체의 복합체는 단체의 곱 (simplicial product) (S40) 인, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  5. 제 4 항에 있어서,
    상기 데이터에 액세스하는 단계에서, 상기 단체의 복합체는 평행이동 (translation) 들 및/또는 변환 (transformation) 들의 시퀀스에 의한 소정의 오브젝트의 다면체 프로파일의 단체의 곱 (S40) 인, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  6. 제 4 항에 있어서,
    상기 데이터에 액세스하는 단계에서, 상기 단체의 복합체는 평행이동들 및/또는 변환들의 공간에서 단체의 복합체에 의한 소정의 오브젝트의 다면체 프로파일의 단체의 곱 (S40) 인, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  7. 제 6 항에 있어서,
    상기 단체의 곱은, 상기 평행이동들 및/또는 변환들의 공간에서 상기 단체의 복합체에 따라 상기 다면체 프로파일에 의해 스윕 (sweept) 된 공간을 나타내는, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  8. 제 6 항에 있어서,
    상기 평행이동들 및/또는 변환들의 공간에서의 단체의 복합체는, 평행이동들 및/또는 변환들의 k 시퀀스의 k-차원 복합체 곱 (complex product) 인, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  9. 제 7 항에 있어서,
    상기 평행이동들 및/또는 변환들의 공간에서의 상기 단체의 복합체는, 상기 평행이동들 및/또는 변환들의 공간에서의 3D 다면체인, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  10. 제 5 항에 있어서,
    상기 단체의 곱은, 상기 시퀀스를 따라 상기 프로파일에 의해 스윕된 공간을 나타내는, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  11. 제 4 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 데이터에 액세스하는 단계 이전에,
    - 상기 단체의 곱을 계산하는 단계 (S10-S40) 를 더 포함하는, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  12. 제 11 항에 있어서,
    상기 단체의 곱을 계산하는 단계는,
    - 상기 다면체 프로파일 및 다면체 궤적을 정의하는 데이터에 액세스하는 단계 (S10);
    - 상기 다면체 프로파일 및 상기 다면체 궤적으로부터 데카르트 곱 (Cartesian product) 을 계산하는 단계 (S20); 및
    - 상기 계산된 데카르트 곱의 일반화된 삼각화 (triangulation) 를 수행하는 단계 (S30) 를 포함하는, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법.
  13. 제 1 항 내지 제 12 항 중 어느 한 항에 기재된 방법을 구현하도록 구성된, 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 제품.
  14. 제 1 항 내지 제 12 항 중 어느 한 항에 기재된 방법을 구현하는 수단을 포함하는, 컴퓨터화된 시스템.
KR1020090107067A 2008-11-07 2009-11-06 컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법 KR101580862B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08291047.2 2008-11-07
EP08291047A EP2189918A1 (en) 2008-11-07 2008-11-07 Computer-implemented method of computing, in a computer aided design system, of a boundary of a modeled object.

Publications (2)

Publication Number Publication Date
KR20100051571A true KR20100051571A (ko) 2010-05-17
KR101580862B1 KR101580862B1 (ko) 2015-12-30

Family

ID=40456971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090107067A KR101580862B1 (ko) 2008-11-07 2009-11-06 컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법

Country Status (4)

Country Link
US (1) US8280698B2 (ko)
EP (1) EP2189918A1 (ko)
KR (1) KR101580862B1 (ko)
CN (1) CN101739494B (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2906388B1 (fr) * 2006-09-26 2008-12-19 Commissariat Energie Atomique Procede et dispositif de detection de collision entre deux objets simules numeriquement
US8326583B2 (en) * 2009-05-29 2012-12-04 Siemens Product Lifecycle Management Software Inc. CAD system and method for blend recognition and chain sorting in a Brep model
EP2400410B1 (en) * 2010-05-25 2014-01-08 Dassault Systèmes Computing of a resulting closed triangulated polyhedral surface from a first and a second modeled object
TWM439217U (en) * 2012-05-02 2012-10-11 shun-fu Luo All new ui-e1-stroke operation control device
DE102012010856A1 (de) * 2012-05-31 2013-12-05 Kuka Roboter Gmbh Verfahren und Mittel zur Überwachung einer Roboteranordnung
US9256681B2 (en) * 2012-11-28 2016-02-09 Raytheon Company Method and system for identifying clusters within a collection of data entities
US9292626B2 (en) * 2012-12-10 2016-03-22 Palo Alto Research Center Incorporated Computer numerical control (CNC) machining tool and method for controlling a CNC machining tool
US20140222384A1 (en) * 2013-02-04 2014-08-07 Comsol Ab Apparatus and method for defining coupled systems on spatial dimensions and extra dimensions
US11934752B1 (en) 2013-02-04 2024-03-19 Comsol Ab System and method for adding and defining perfectly matched layers for a model of a physical system
US9958858B2 (en) 2013-05-31 2018-05-01 Ice Edge Business Solutions, Ltd. Associating computer-executable objects with three-dimensional spaces within an architectural design environment
US20140365335A1 (en) * 2013-06-05 2014-12-11 Vinspector, Llc Inspection system and method
US9817924B2 (en) * 2014-04-10 2017-11-14 Autodesk, Inc. Sweeping a profile along small circular arcs of a path
US10922450B2 (en) 2014-06-09 2021-02-16 Dirtt Environmental Solutions, Ltd. Associating computer-executable objects with timber frames within an architectural design environment
EP3264286B1 (en) 2016-06-28 2020-11-18 Dassault Systèmes Querying a database with morphology criterion
EP3321817A1 (en) * 2016-11-14 2018-05-16 Dassault Systèmes Querying a database based on a parametric view function
US11281824B2 (en) 2017-12-13 2022-03-22 Dassault Systemes Simulia Corp. Authoring loading and boundary conditions for simulation scenarios
CN108647433B (zh) * 2018-05-10 2020-04-10 西安交通大学 一种基于图论的主轴系统数字样机快速构建方法
EP4195088A1 (en) * 2021-12-13 2023-06-14 Dassault Systèmes 3d axis machining design
CN115272379B (zh) * 2022-08-03 2023-11-28 上海新迪数字技术有限公司 一种基于投影的三维网格模型外轮廓提取方法及系统
CN117349970B (zh) * 2023-12-05 2024-03-26 招商局金陵船舶(威海)有限公司 一种船舶装配布置自动合理性验证方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05207977A (ja) * 1992-01-31 1993-08-20 Shimadzu Corp 立体モデル作成法
JPH0786885B2 (ja) * 1989-06-16 1995-09-20 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン コンピュータモデルシステム
JP2004502255A (ja) * 2000-06-29 2004-01-22 オブジェクト レザビア, インコーポレイテッド 有限要素モデルにおけるフィーチャモデリング
JP2005352819A (ja) * 2004-06-11 2005-12-22 Yokohama Rubber Co Ltd:The 不均質材料のシミュレーションモデル作成方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4785399A (en) 1987-03-03 1988-11-15 International Business Machines Corporation Shaping geometric objects by cumulative translational sweeps
JP2762000B2 (ja) * 1992-06-25 1998-06-04 株式会社日立製作所 曲面生成方法および曲面生成装置
US5537519A (en) * 1993-06-29 1996-07-16 Electronic Data Systems Corporation System and method for converting boundary representations to constructive solid geometry representations for three-dimensional solid object modeling
EP0681243B1 (en) 1994-04-28 1998-12-02 Hewlett-Packard GmbH Method for performing boolean operations on geometric objects in a computer-aided design system
US5850229A (en) * 1995-12-15 1998-12-15 Raindrop Geomagic, Inc. Apparatus and method for geometric morphing
US6307555B1 (en) 1998-09-30 2001-10-23 Silicon Graphics, Inc. Boolean operations for subdivision surfaces
US6993461B1 (en) 1999-06-10 2006-01-31 Dassault Systemes Swept volume model
US6625634B1 (en) 1999-10-01 2003-09-23 Sun Microsystems, Inc. Efficient implementation of multiprecision arithmetic
US6690385B1 (en) 2000-10-25 2004-02-10 International Business Machines Corporation Robust boolean operations in design rule checking
US20030014133A1 (en) 2001-02-02 2003-01-16 Laforge Laurence Edward Algorithm and software computing minkowski quotients, products, and sums of polygons, and for generating feasible regions for robust compensators
US6989830B2 (en) 2002-07-01 2006-01-24 Alias Systems Corp. Accurate boolean operations for subdivision surfaces and relaxed fitting
US7031790B2 (en) 2002-09-23 2006-04-18 Autodesk, Inc. Operator for sculpting solids with sheet bodies
KR100501907B1 (ko) 2002-12-23 2005-07-25 한국전자통신연구원 방향지도를 이용한 기하도형의 모핑 방법
GB0305315D0 (en) * 2003-03-07 2003-04-09 Weber Martin Image processing system
KR100519980B1 (ko) 2003-12-24 2005-10-13 한국전자통신연구원 2차원 동작 경로 생성방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0786885B2 (ja) * 1989-06-16 1995-09-20 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン コンピュータモデルシステム
JPH05207977A (ja) * 1992-01-31 1993-08-20 Shimadzu Corp 立体モデル作成法
JP2004502255A (ja) * 2000-06-29 2004-01-22 オブジェクト レザビア, インコーポレイテッド 有限要素モデルにおけるフィーチャモデリング
JP2005352819A (ja) * 2004-06-11 2005-12-22 Yokohama Rubber Co Ltd:The 不均質材料のシミュレーションモデル作成方法

Also Published As

Publication number Publication date
KR101580862B1 (ko) 2015-12-30
CN101739494A (zh) 2010-06-16
US8280698B2 (en) 2012-10-02
EP2189918A1 (en) 2010-05-26
CN101739494B (zh) 2015-08-12
US20100121626A1 (en) 2010-05-13

Similar Documents

Publication Publication Date Title
KR101580862B1 (ko) 컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법
Lin et al. Collision and proximity queries
US8854367B2 (en) Computing of a resulting closed triangulated polyhedral surface from a first and a second modeled objects
Varadhan et al. Topology preserving surface extraction using adaptive subdivision
Wassermann et al. From geometric design to numerical analysis: a direct approach using the finite cell method on constructive solid geometry
Panozzo et al. Weighted averages on surfaces
Keyser et al. Esolid---a system for exact boundary evaluation
Wang et al. Surface reconstruction from unoriented point clouds by a new triangle selection strategy
Alliez et al. CGAL: the computational geometry algorithms library
Krishnamurthy et al. GPU-accelerated minimum distance and clearance queries
Krishnamurthy et al. Performing efficient NURBS modeling operations on the GPU
Keyser et al. Efficient and accurate B-rep generation of low degree sculptured solids using exact arithmetic: I—representations
Bhunre et al. On efficient computation of inter-simplex Chebyshev distance for voxelization of 2-manifold surface
Jiang et al. Efficient Booleans algorithms for triangulated meshes of geometric modeling
CN109983509B (zh) 一种使用几何面的即时布尔运算方法
Song et al. Continuous collision detection with medial axis transform for rigid body simulation
Qi et al. Robust slicing procedure based on surfel-grid
Milenkovic et al. Geometric rounding and feature separation in meshes
Lee et al. Primitive geometric operations on planar algebraic curves with Gaussian approximation
Zhu et al. Generation of hierarchical multi-resolution medial axis for CAD models
Michelucci The robustness issue
Kim et al. Gaussian approximations of objects bounded by algebraic curves
Chatterjee et al. End-to-End GPU-Accelerated Low-Poly Remeshing using Curvature Map and Voronoi Tessellation✱
Nourian et al. Voxel Graph Operators: Topological Voxelization, Graph Generation, and Derivation of Discrete Differential Operators from Voxel Complexes
Kercher Generic implementation of CAD models for nuclear simulation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant