KR101754581B1 - 제 1 및 제 2 모델링된 물체들로부터의 결과적 삼각형화 다면체 폐곡면 계산 - Google Patents

제 1 및 제 2 모델링된 물체들로부터의 결과적 삼각형화 다면체 폐곡면 계산 Download PDF

Info

Publication number
KR101754581B1
KR101754581B1 KR1020110049612A KR20110049612A KR101754581B1 KR 101754581 B1 KR101754581 B1 KR 101754581B1 KR 1020110049612 A KR1020110049612 A KR 1020110049612A KR 20110049612 A KR20110049612 A KR 20110049612A KR 101754581 B1 KR101754581 B1 KR 101754581B1
Authority
KR
South Korea
Prior art keywords
triangles
modeled
facets
polygonal
polyhedron
Prior art date
Application number
KR1020110049612A
Other languages
English (en)
Other versions
KR20110129359A (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 KR20110129359A publication Critical patent/KR20110129359A/ko
Application granted granted Critical
Publication of KR101754581B1 publication Critical patent/KR101754581B1/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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Architecture (AREA)

Abstract

본 발명은 제 1 및 제 2 모델링된 물체들로부터 결과적 삼각형화 다면체 폐곡면을 계산하기 위한, 컴퓨터 지원 기하 설계 시스템 내의 컴퓨터 구현 프로세스에 관한 것이다. 제 1 모델링된 물체 는 제 1 삼각형화 다면체 폐곡면에 의해 모델링되고, 제 2 모델링된 물체는 제 2 삼각형화 다면체 폐곡면에 의해 모델링된다. 본 발명에 따른 프로세스는:
- 제 1 모델링된 물체의 삼각형들 및 제 2 모델링된 물체의 삼각형들 사이의 교차들을 계산하는 단계 (S30);
- 제 1 및 제 2 모델링된 물체들의 삼각형들을 상기 교차들에 인접하는 다각형 패싯들 (polygonal facets) 로 분할하는 단계 (S40);
- 각 삼각형 및 각 다각형 패싯에 대하여 두 쌍의 주회수들 (winding numbers) (p 및 q) 을 계산하는 단계 (S60) 로서, 각 주회수 쌍의 제 1 주회수는 제 1 삼각형화 다면체 폐곡면으로부터 계산되고, 각 주회수 쌍의 제 2 주회수는 제 2 삼각형화 다면체 폐곡면으로부터 계산되는 단계;
- 각 삼각형 및 각 다각형 패싯에 대하여 계수 (k) 를 계산하는 단계 (S70) 로서, 계수는 각 삼각형 및 각 다각형 패싯의 두 쌍의 주회수들 (p 및 q) 을 입력들로 가지는 함수 (φ) 로 계산되는 단계;
- 계산된 계수들에 따라 삼각형들 및 다각형 패싯들을 선택하는 단계 (S80);
- 상기 선택된 다각형 패싯들을 삼각형화하는 단계 (S90); 및
- 선택된 삼각형들 및 삼각형화된 선택된 다각형 패싯들로 결과적 삼각형화 다면체 폐곡면을 획득하는 단계 (S100) 를 포함한다.

Description

제 1 및 제 2 모델링된 물체들로부터의 결과적 삼각형화 다면체 폐곡면 계산 {COMPUTING OF A RESULTING CLOSED TRIANGULATED POLYHEDRAL SURFACE FROM A FIRST AND A SECOND MODELED OBJECTS}
본 발명은 컴퓨터 프로그램 및 시스템의 분야에 관한 것으로서, 보다 상세하게는 컴퓨터 지원 기하 설계 (CAGD) 및 3 차원 다각형 입체들의 시뮬레이션의 분야에 관한 것이다.
컴퓨터 지원 기법들에는 컴퓨터 지원 기하 설계 혹은 CAGD 가 포함되는 것으로 알려져 있는데, 이는 CAD 및 CAM 시스템들에서 물체들을 컴퓨터 계산들에 적합한 형태로 표현하는 것과 관련된다. 컴퓨터 지원 설계 (혹은 CAD) 는 제품 설계를 창작하기 위한 소프트웨어 솔루션들과 관련된다. 이와 유사하게, CAE 는 컴퓨터 지원 엔지니어링 (Computer-Aided Engineering) 의 약자인데, 예를 들어 이는 미래의 제품의 물리적 행태를 시뮬레이션하기 위한 소프트웨어 솔루션들과 관련된다. CAM 은 컴퓨터 지원 제조 (Computer-Aided Manufacturing) 를 의미하며 통상적으로 제조 공정들 및 작업들을 정의하기 위한 소프트웨어 솔루션들을 포함한다.
시중에는 부품들, 부품들의 조립물들, 및 그 제품들의 설계를 위한 다수의 시스템들 및 프로그램들이 제공되고 있는데, 예를 들어 다솔 시스템므 (Dassault Syst
Figure 112011039202923-pat00001
mes) 에서 제공하는 CATIA (컴퓨터 지원 3차원 인터랙티브 어플리케이션 - Computer Aided Three Dimensional Interactive Application) 라는 상표의 제품이 있다. CATIA 는 멀티플랫폼 CAGD/CAD/CAM/CAE 소프트웨어 스위트 (suite) 로서, 3D 제품 수명 관리 (PLM) 소프트웨어 스위트로 통칭된다. 이는 물체 형상들의 개념화 (CAGD) 에서부터, 설계 (CAD) 및 제조 (CAM) 를 거쳐, 분석 (CAE) 까지 제품 개발의 여러 단계 (CAx) 를 지원한다. 이 소프트웨어 스위트는 어플리케이션 프로그래밍 인터페이스 (API) 들을 통해 커스터마이징하는 것이 가능하다. 일부 버전들은 전용 API 들 하에서 다양한 프로그래밍 언어로 적응될 수 있다.
이러한 소위 CAGD/CAD 시스템들은 특히 사용자가 물체들 또는 물체들의 조립물들의 복잡한 3차원 (3D) 모델들을 구축 및 조작할 수 있게 한다. CAD 시스템들은 모서리들 혹은 직선들을, 일부 경우에는 면들과 함께 사용하여 이와 같이 모델링된 물체들의 표현을 제공한다. 이러한 CAD 시스템들은 부품들 또는 부품들의 조립물들을 모델링된 물체들로 관리하는데, 이들은 주로 기하형상 (geometry) 에 대한 사양들 (specifications) 이다. 특히, CAD 파일들은 사양들을 포함하는데, 이로부터 기하형상이 생성된다. 기하형상으로부터는 표현 (representation) 이 생성된다. 사양들, 기하형상 및 표현은 하나 또는 복수의 CAD 파일에 저장될 수 있다. CAD 시스템들은 설계자들에게 모델링된 물체들을 표현하기 위한 그래픽 도구들을 포함하고, 이러한 도구들은 복잡한 물체들의 표시를 전담하는데, CAD 시스템에서 물체를 표현하는 파일의 통상적인 크기는 부품당 일 메가바이트까지 이를 수 있으며, 하나의 조립물은 수천 개의 부품들을 포함할 수 있다. CAD 시스템은 전자 파일들에 저장된 물체들의 모델들을 관리한다.
공지된 CAGD/CAD 시스템으로 기계 부품을 설계하는 것은 기능적 및 제조상의 요구사항에 맞도록 상기 부품의 기하학적 형상 및 치수들을 정의하는 것으로 볼 수 있다. 주로, 결과적 형상은 설계자에 의해 만들어진 패드, 포켓, 그루브, 샤프트, 등의 기본 피쳐들 (features) 의 조합이다. 복잡한 기하학적 및 위상적 (topological) 계산들을 통하여, CAGD/CAD 시스템은 입체 (기계 부품) 의 경계 표현을, 예를 들어 배향된 (oriented) 폐곡면으로서 산출한다.
자취 부피들 (swept volumes) 의 개념은, 예를 들어 기하 설계 (CAGD), 머시닝 시뮬레이션, 로봇공학, 또는 디지털 모크업 (mockup) 의 분야에서 알려져 있다. 이하에서 "프로파일 (profile)" 로 지칭되는 입체와 그 궤도가 주어진 경우, 상기 궤도를 따른 프로파일의 모든 위치들의 합집합을 자취 부피라 지칭한다. 자취 부피들의 표현은 형상들의 설계, 재료의 제거 또는 부가 공정의 시뮬레이션, 충돌들의 검출, 및 이동하는 부품들 및 메커니즘들을 위한 간격의 계산에 사용될 수 있다. 예를 들어, 자취 부피의 계산은 기능하는 중에 진동하는 차량 모터의 요구되는 공간을 결정하는 데 유용하다. 또한, 자취 부피의 계산은 차량의 바퀴가 좌우로 턴하고 완충기에 의해 상하로 이동하는 중 상기 바퀴의 요구되는 공간을 결정하는 데 유용하다. 또한, 자취 부피의 계산은 제조 도구의 요구되는 공간을 결정하는 데 유용하다.
소위 자취 부피들의 계산은 2008년 11월 7일자 유럽특허출원 제 08291047.2 호에 제시된 바 있다.
CAGD 의 배경에서 다면체 (polyhedral) 모델링 및 프로세싱은 유비쿼터스 (ubiquitous) 하다. 사실, 다면체 입체들에 로버스트하고 정확한 부울 연산들 (예를 들어, 합 (union), 교차 (intersection), 차 (subtraction)) 을 수행하는 것은 이 배경에서 필수적인 요구사항이다. 이러한 연산자들의 산업적 구현은 소위 엡실론-프로그래밍 추단법 (epsilon-programming heuristics) 과 함께 좌표들의 부동소수점 (floating point) 표현들 또는 정수 표현들을 이용한다.
대략적으로 말하자면, 엡실론-프로그래밍은 x = y 의 등식 시험들을 |x - y|≤ε 의 "엡실론까지" 등식 시험들로 대체하는 것으로서, 여기서 ε 은 종래의 한계 수치 표기이다. 이에 대한 세부점들은 D. 미켈루치 외 저, "로버스트성 및 우연성" ("Robustness and Randomness", D. Michelucci, J.M. Moreau, S. Foufou - Lecture Notes In Computer Science, 2008, Springer) 에서 발견할 수 있다.
이론적인 관점에서는, 부동소수점 패러다임에 기초한 보통의 기하학적 모델링 및 프로세싱은 엄격하고 (rigorous) 과학적인 기초가 취약하다. 실무의 경우, 부동소수점 프레임워크에 기초하여 로버스트한 부울 연산자를 개발하는 것은 어렵고 비용이 많이 들며, 과학보다는 기술에 가깝다. 사실, 부동소수점 라운딩 (rounding) 오차들은 조합적 불일치들 (combinatorial inconsistencies), 예를 들면 위상적 불일치들을 초래할 수 있다.
엡실론-프로그래밍 패러다임은 이러한 불일치들에 대한 극복을 가능하게 하지만, 엡실론-프로그래밍에 기초한 기법들은 온전한 (sound) 이론적 프레임워크에 의해 지원되지 않는데, 사실 이들은 사건별 전문성 (case by case expertises) 을 요구하여, 완벽한 로버스트성의 달성이 끝이 없는 과제가 되게 한다.
대안적으로, 근래의 구현들은 정밀 프레디케이트 (exact predicates) 기술에 기초한 정밀 계산 패러다임을 사용하는데, 호프만 (C. M. Hoffmann) 저, "기하 연산 내의 로버스트성" ("Robustness in geometric computations", C.M. Hoffmann, Journal of Computing and Information Science in Engineering, 1 :143, 2001), C. K. 얍 저, "로버스트한 기하 연산" ("Robust geometric computation", C. K. Yap, Handbook of discrete and computational geometry, pages 653-668, 1997), 및 M. 카라식 외 저, "유리수 산술을 사용한 효율적인 들로네 삼각형화법" ("Efficient Delaunay triangulation using rational arithmetic", M. Karasick, D. Lieber, and L.R. Nackman, ACM Transactions on Graphics (TOG), 10(1) :71-91, 1991) 에 상술된 바와 같다.
정밀 계산 패러다임에서는, 어떠한 기하형상이 구축되어야 할 때 결과 내에 유리수 또는 대수적 수들의 표현들을 사용하여야 하는데, 이는 시간 및 공간을 소모하는 알고리즘들로 이어진다. 실제 CAGD 어플리케이션들에서는 기하학적 프로세싱 알고리즘의 입력이 일반적으로 이전 알고리즘의 출력이므로, 순수한 정밀 계산 접근법은 가능하지 않은데, 이는 수치 표현들의 기하급수적인 증가를 일으킬 것이기 때문이다.
그러므로 출력의 좌표들을 유리수들에서 부동소수점 수치들로 "라운딩" 하는 것이 필요하다. 유감스럽게도, 그러한 라운딩 절차는 일반적으로 안전하지 못하다. 사실, 이 라운딩은 도 1 에 도시된 바와 같이 국부적인 자기교차들 (self-intersections) 을 발생시킬 수 있다. 다각형 (4) 은 자기교차가 없으므로 유효한 것이다. 백그라운드 그리드는 라운딩된 수치 값들을 표현한다. 라운딩이란 초기 다각형의 각 꼭지점을 그리드 상의 가장 근접한 지점으로 대체하는 것이다. 점선의 다각형 (2) 은 흑색 다각형의 라운딩 결과이나, 이 다각형 (2) 은 자기교차 (3) 때문에 무효이다.
자기교차는 허용되지 않기 때문에, 이러한 자기교차는 결과를 무효화시킨다. 더 나아가, 자기교차는 이후의 알고리즘들이 실패하게 할 가능성이 크다.
다면체 사슬들 (polyhedral chains) 을 가진 입체들에 대한 기존의 다면체 표현들 사이의 자연적 관계는 이하의 두 논문, 즉 O. 군터 및 E. 웡 저, "볼록한 다면체 사슬: 기하 데이터를 위한 표현" ("Convex polyhedral chains: a representation for geometric data", O. Gunther and E. Wong, Computer Aided design, volume 21 number 3 April 1989) 및 F. R. 페이토 및 M. 리베로 저, "단체성 사슬에 기초한 기하 모델링" "Geometric modelling Based on simplicial chains", F. R. Feito and M. Rivero, Comput. & Graphics, Vol. 22, No. 5, pp. 611-619, 1998) 에서 강조된 바 있다.
첫 번째 논문에서 저자들은 입체를 일종의 CSG (constructive solid geometry) 로 표현하는 것을 제안한다. 사슬들은 폴리토프들 (polytopes) 의 선형 조합들로서 표현되고, 각 폴리토프는 연관되는 반공간들 (half-spaces) 의 유한족 (finite family) 에 의해 표현된다. 이 표현 상에서 부울 연산과 같은 모델링 연산자들을 구현하는 것은 어떠한 명시적 꼭지점의 구축을 요구하지 않는데, 이 접근법의 로버스트성은 바로 꼭지점 기반의 표현들을 회피하는 것을 포함하기 때문이다.
두 번째 논문은 해당 사슬들, 특히 "정규 사슬 (normal chain)" 으로 지칭되는 표현에 대한 부울 연산자들 및 대수적 연산들 사이의 단순한 관계들을 나타내는데, 사슬은 원점을 꼭지점 중 하나로 모두 공유하는 배향된 단체 (單體) 들 (simplices) 의 선형 조합들로서 표현된다. 예를 들어, 각각 n 및 m 사면체들의 사슬 형식 합 (formal sum) 으로 표현되는 두 입체의 교차는 상응하는 n * m 쌍의 사면체들의 교차의 n * m 삼각형화의 형식 합을 포함한다.
두 논문 모두 다면체 사슬들을 가진 입체에 대한 기존의 사면체 표현들 사이의 자연적 관계를 강조한다. 그러나 이 논문들은 일반화된 부울 연산자들이 아닌 부울 연산자들에 의존한다.
사실, 모든 CAGD 시스템들은 동일한 구조를 통하여 부울 연산들을 구현한다. 알고리즘의 세부점들은 CAGD 시스템마다 다를 수 있지만, 주요 단계들은 동일하다. 부울 연산의 입력들은 유효한 경계 표현으로 정의되는 두 개의 입체 (A 및 B) 이다. 유효한 경계 표현이라 함은 입체의 경계가 폐곡면이고 자기교차가 없음을 의미한다. 표준 부울 연산들은 합, 교차, 및 차로서, 이들은 일반적으로 ∪, ∩, 및 - 로 표기된다.
종래의 알고리즘들은 입력 입체들이 유효하다는 가설에 강하게 의존하며 유효한 입체를 제공한다. 달리 말하자면, 경계 입체들 (A 및 B) 에는 자기교차가 없다. 종래의 알고리즘의 단계들은 이하와 같으며, 도 2 내지 도 7 을 참조하여 설명된다:
1. 유효한 경계 표현으로 정의되는 두 개의 입체들 (A 및 B) 를 입력한다 (도 2).
2. 입체 (A) 의 경계를 입체 (B) 의 경계로 트림 (trim) 하고, 그 역으로도 트림한다 (도 3).
3. 입체 (A) 의 경계의 각 부분을 입체 (B) 에 대하여 배치한다. 입체 (A) 의 경계의 부분들은 입체 (B) 의 내부 또는 외부에 있다 (도 4).
4. 입체 (B) 의 경계의 각 부분을 입체 (A) 에 대하여 배치한다. 입체 (B) 의 경계의 부분들은 입체 (A) 의 내부 또는 외부에 있다 (도 5).
5. 부울 연산의 종류에 따라, 경계에서 불필요한 부분을 제거한다:
(i) 합 A + B: 입체 (A) 의 경계의 부분들 중 입체 (B) 내부에 있는 부분들과 입체 (B) 의 경계의 부분들 중 입체 (A) 내부에 있는 부분들을 제거.
(ii) 교차 A·B: 입체 (A) 의 경계의 부분들 중 입체 (B) 외부에 있는 부분들과 입체 (B) 의 경계의 부분들 중 입체 (A) 외부에 있는 부분들을 제거.
(iii) 차 A - B: 입체 (A) 의 경계의 부분들 중 입체 (B) 내부에 있는 부분들과 입체 (B) 의 경계의 부분들 중 입체 (A) 외부에 있는 부분들을 제거 (도 6).
6. 전 단계에서 제공된 경계의 부분들을 합침으로써 결과적 입체를 합성한다 (도 7).
전술한 분석을 요약하자면, 종래 기술에서는 보통의 다면체 표현들이 수치 값들에 의존하기 때문에 라운딩 오차들에 대해 지나치게 높은 민감도를 나타낸다. 사실, 종래 기술의 다면체에서는 자기교차가 발생하여 결과가 종래 기술의 유효성 기준에 따라 불일치하게 될 수 있다. 결국, 종래 기술의 솔루션들은 그 유효성이 영향을 받을 수 있으므로 로버스트성이 취약하다.
이에 따라, 로버스트하고 일반화된 부울 연산자들 및 이러한 로버스트하고 일반화된 부울 연산자들에 의해 모델링된 물체의 경계를 계산하는 정확한 방법에 대한 필요가 남아 있다.
제 1 양태에 따르면, 본 발명은 컴퓨터 지원 기하 설계 시스템에서 제 1 삼각형화 다면체 폐곡면에 의해 모델링된 제 1 모델링된 물체 및 제 2 삼각형화 다면체 폐곡면에 의해 모델링된 제 2 모델링된 물체로부터 결과적 삼각형화 다면체 폐곡면을 계산하기 위한 컴퓨터 구현 프로세스로서,
- 제 1 모델링된 물체의 삼각형들 및 제 2 모델링된 물체의 삼각형들 사이의 교차들을 계산하는 단계;
- 제 1 및 제 2 모델링된 물체들의 삼각형들을 상기 교차들에 인접하는 다각형 패싯들 (facets) 로 분할하는 단계;
- 각 삼각형 및 각 다각형 패싯에 대하여 두 쌍의 주회수들 (winding numbers) (p 및 q) 을 계산하는 단계로서, 각 주회수 쌍의 제 1 주회수는 제 1 삼각형화 다면체 폐곡면으로부터 계산되고, 각 주회수 쌍의 제 2 주회수는 제 2 삼각형화 다면체 폐곡면으로부터 계산되는 단계;
- 각 삼각형 및 각 다각형 패싯에 대하여 계수 (k) 를 계산하는 단계로서, 계수는 각 삼각형 및 각 다각형 패싯의 두 쌍의 주회수들 (p 및 q) 을 입력들로 가지는 함수 (φ) 로 계산되는 단계;
- 계산된 계수들에 따라 삼각형들 및 다각형 패싯들을 선택하는 단계;
- 상기 선택된 다각형 패싯들을 삼각형화하는 단계; 및
- 선택된 삼각형들 및 삼각형화된 선택된 다각형 패싯들로 결과적 삼각형화 다면체 폐곡면을 획득하는 단계를 포함하는, 컴퓨터 구현 프로세스로 구체화되어 있다.
실시예들에서, 이 프로세스는 다음의 특징들 중 하나 이상을 포함할 수 있다:
- 삼각형화 다면체 폐곡면에 의해 모델링된 제 1 또는 제 2 모델링된 물체들 중 적어도 하나는 자기교차를 포함하며; 삼각형들 사이의 교차들을 계산하는 단계는 삼각형화 다면체 폐곡면에 의해 모델링된 제 1 또는 제 2 모델링된 물체들 중 상기 적어도 하나의 삼각형들 사이의 교차들을 계산하는 단계를 더 포함할 수 있다.
- 적어도 하나의 영역을 계산하는 단계를 더 포함하며, 영역은 서로에 인접하고 계산된 교차들 중 하나에 의해 범위가 정해지는 삼각형들 및/또는 다각형 패싯들의 집합을 포함할 수 있다.
- 상기 영역의 모든 삼각형들 및/또는 다각형 패싯들을 결정하는 단계로서, 삼각형들 및/또는 다각형 패싯들은 공통의 계산된 교차에 인접하고, 각 삼각형 및/또는 다각형 패싯은 상기 각 삼각형 및/또는 다각형 패싯 각자의 기하형상 및 배향에 따라 정의된 법선 벡터를 포함하는 단계; 주어진 삼각형 또는 주어진 다각형 패싯에 대하여 두 쌍의 주회수들 (p 및 q) 을 계산하는 단계; 주어진 삼각형 또는 주어진 다각형 패싯에서 시작하여, 방사상의 순서에 따라 상기 계산된 교차 주위를 회전하는 단계; 상기 계산된 교차에 인접하는 다른 삼각형들 및/또는 다각형 패싯들의 크로싱 (crossing) 을 검출하는 단계; 각 크로싱 후, 상기 크로싱되는 삼각형 및/또는 다각형 패싯의 법선 벡터의 배향에 따라 상기 두 쌍의 주회수들 (p 및 q) 을 업데이트하는 단계를 더 포함할 수 있다.
- 제 1 주회수 쌍 (Cbelow) 은 상기 삼각형 및 다각형 패싯의 법선 벡터에 따라 상기 삼각형 및 다각형 패싯의 하부에 있고; 제 2 주회수 쌍 (Cabove) 은 상기 삼각형 및 다각형 패싯의 법선 벡터에 따라 상기 삼각형 및 다각형 패싯의 상부에 있을 수 있다.
- 각 삼각형 및 각 다각형 패싯의 두 쌍의 주회수들 (p 및 q) 을 입력들로 가지는 함수 (φ) 는 아래의 연산들 중 하나를 수행할 수 있다:
- φ(p, q) = min(1, p+q)
- φ(p, q) = p*q
- φ(p, q) = max(0, p-q).
- 삼각형들 및 다각형 패싯들은 계산된 계수 (k) 가 0 이 아닐 때 선택될 수 있다.
- 교차들을 계산하는 단계에서, 제 1 모델링된 물체의 삼각형들 및 제 2 모델링된 물체의 삼각형들 사이의 공통 모서리들 또는 공통 꼭지점들은 제외될 수 있다.
- 교차들을 계산하는 단계는 정밀 산술 (exact arithmetic) 을 사용하여 수행될 수 있다.
- 삼각형들을 분할하는 단계 후에, 계산된 교차들을 표현하는 오버레이 (overlay) 를 계산하는 단계를 더 포함할 수 있다.
- 계산된 오버레이는 유리수 좌표들을 가질 수 있다.
다른 양태에 따르면, 본 발명은 제 1 삼각형화 다면체 폐곡면에 의해 모델링된 제 1 모델링된 물체 및 제 2 삼각형화 다면체 폐곡면에 의해 모델링된 제 2 모델링된 물체로부터 결과적 삼각형화 다면체 폐곡면을 계산하기 위한, 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램으로서, 컴퓨터로 하여금 전술한 프로세스의 단계들을 취하도록 하기 위한 코드 수단을 포함하는 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램으로 구체화되어 있다.
또 다른 양태에 따르면, 본 발명은 제 1 삼각형화 다면체 폐곡면에 의해 모델링된 제 1 모델링된 물체 및 제 2 삼각형화 다면체 폐곡면에 의해 모델링된 제 2 모델링된 물체로부터 결과적 삼각형화 다면체 폐곡면을 계산하기 위한 장치로서, 전술한 프로세스의 단계들을 구현하기 위한 수단을 포함하는 장치로 구체화되어 있다.
본 발명에 따르면, 로버스트하고 일반화된 부울 연산자들 및 이러한 로버스트하고 일반화된 부울 연산자들에 의해 모델링된 물체의 경계를 정확히 계산할 수 있는 효과가 있다.
이하 본 발명을 구체화하는 시스템 및 본 발명에 따른 프로세스가 제한하지 않는 방식으로 첨부된 도면을 참조하여 설명될 것이다.
도 1 은 유리수에서 부동소수점 수치로 좌표들을 라운딩하는 경우 발생하는 국부적 자기교차의 예를 나타낸다.
도 2 내지 도 7 은 입체들의 두 경계들에 대해 부울 연산들을 수행하기 위한 종래 알고리듬의 단계들을 예시한다.
도 8 및 도 9 는 단체성 2-사이클의 지지집합 및 여집합의 예들을 나타낸다.
도 10 은 도 8 및 도 9 의 자기교차하는 단체성 2-사이클의 주회수들을 나타낸다.
도 11 은 도 10 에서 양수인 주회수에 의해 정의되는 입체를 예시한다.
도 12 내지 도 17 은 일반화된 부울 연산의 정의를 도시하는 예들을 나타낸다.
도 18 은 본 발명을 수행하는, 결과적 삼각형화 다면체 폐곡면을 계산하기 위한 프로세스의 순서도를 나타낸다.
도 19 내지 도 23 은 도 18 에 묘사된 프로세스를 도시하는 예들을 나타낸다.
도 24 및 도 25 는 다양체 (manifold) 및 비다양체 모서리들의 예들을 나타낸다.
도 26 및 도 27 은 주회수 전파 알고리즘의 예들을 나타낸다.
도 28 내지 도 30 은 도 12 내지 도 15 및 도 19 내지 도 22 에 도시된 물체들의 3차원 표현들을 나타낸다.
본 발명은 컴퓨터 지원 기하 설계 시스템에서 제 1 모델링된 물체와 제 2 모델링된 물체로부터 결과적 삼각형화 다면체 폐곡면을 계산하기 위한 컴퓨터 구현 프로세스에 관한 것이다. 제 1 모델링된 물체는 제 1 삼각형화 다면체 폐곡면에 의해 모델링되고, 제 2 모델링된 물체는 제 2 삼각형화 다면체 폐곡면에 의해 모델링된다. 프로세스는 제 1 모델링된 물체의 삼각형들 및 제 2 모델링된 물체의 삼각형들 사이의 교차들을 계산하는 단계를 포함한다. 다음으로, 제 1 및 제 2 모델링된 물체들의 삼각형들은 상기 교차들에 인접하는 다각형 패싯들로 분할된다. 그 다음, 각 삼각형 및 각 다각형 패싯에 대하여 두 쌍의 주회수들 (p 및 q 로 표기함) 이 계산된다. 각 주회수 쌍의 제 1 주회수는 제 1 삼각형화 다면체 폐곡면으로부터 계산되고, 각 주회수 쌍의 제 2 주회수는 제 2 삼각형화 다면체 폐곡면으로부터 계산된다. 그 다음, 각 삼각형 및 각 다각형 패싯에 대하여 계수 (k 로 표기함) 가 계산된다. 이 계수는 각 삼각형 및 각 다각형 패싯의 두 쌍의 주회수들 (p 및 q 로 표기함) 을 입력들로 가지는 함수 (φ) 로 계산된다. 다음으로, 계산된 계수들에 따라 삼각형들 및 다각형 패싯들이 선택된다. 다각형 패싯들은 삼각형화되며, 선택된 삼각형들 및 삼각형화된 선택된 다각형 패싯들로 결과적 삼각형화 다면체 폐곡면을 획득하게 된다.
바람직하게, 본 발명은 삼각형화 다면체 폐곡면에 의해 모델링되고 다면체 사이클, 예를 들면 단체성 (simplicial) 2-사이클로 표현되는 제 1 및 제 2 모델링된 물체들 사이에 부울 연산을 신속하고 정확하게 계산하기에 적합한 일반적이고, 효율적이며, 로버스트한 방법을 제공한다. 제 1 및/또는 제 2 모델링된 물체들에 자기교차들이 있는지 여부를 검토할 필요가 더 이상 없으므로, 피연산자 (operands) 유효성 확인이 더욱 빨라진다. 이에 따라, 확인할 유일한 기준은 제 1 및 제 2 모델링된 물체들의 수밀성 (watertightness) 이다. 더 나아가, 이러한 수밀성 기준이 만족된다면, 본 발명은 따라서 결과의 품질을 보장할 수 있다. 달리 표현하자면, 제 1 및/또는 제 2 모델링된 물체들에 대한 연속적 연산이 실패의 도입 없이 수행될 수 있다. 따라서 복수의 연산들이 연속적으로 수행될 수 있으므로 로버스트성이 증가된다. 더불어, 주회수들의 쌍들의 계산을 통해, 예를 들어 양수인 주회수들만을 유지함으로써, 획득되는 내측 및 외측 공간의 개념에 의하여 연산들이 보다 일반화된다.
단체성 복합체 (simplicial complex) 는 점들, 선분들, 삼각형들, 그리고 더 일반적으로는, 이들의 p차원 동치들을 "서로 접착 (gluing together)" 시킴으로서 구축되는 위상공간이다. 단체성 복합체들을 사용함의 장점들 중 하나는, 이들의 특성들이 어떠한 차원 m 에 대하여도 일반화될 수 있다는 점이다. 단체성 복합체들은, 2008년 11월 7일자로 출원된 유럽특허출원 제 08291047.2 호 2~5 페이지에 설명된 다른 방법들에 비해 더 적은 자원들을 요구하는 단순한 수학 연산들에 의하여, 모델링된 물체의 경계를 계산하는 것을 가능하게 한다. 특히, 단체성 복합체는 폐쇄되고 위상적으로 일관성 있는 다면체 표현을 제공한다. 이러한 표현이 자신과 교차할 수 있지만, 조합적으로 수밀 (combinatorial watertight) 하다. 특히, 작은 섭동 또는 부동소수점 라운딩이 출력에 가해지는 경우, 유효성 (위상적으로 올바르고 수밀함) 이 유지되어 로버스트성이 제공된다.
단체성 2-사슬은 단체성 복합체의 특정 경우이다. 3차원 유클리드 공간 내의 단체성 2-사슬은 3D 공간 내의 좌표들로 주어지는 꼭지점들의 유한집합과 삼각형들의 집합으로 정의된다. 각 삼각형은 꼭지점들의 지표들의 순서화된 트리플 (ordered triple) 과 그 중복도를 정의하는 정수에 의해 정의된다. 삼각형의 중복도의 부호와 삼각형을 정의하는 트리플의 순서를 동시에 변경하는 연산은 사슬을 변경시키지 않는다. 단체성 2-사이클 (simplicial 2-cycle) 은 이하 정의되는 제로 경계 조건을 만족하는 단체성 2-사슬이다.
바람직하게, 본 발명은 입체를 표현하는 단체성 2-사이클의 유효성 기준이 순수히 조합적이기 때문에 종래 기술에 비해 로버스트성을 제공한다: 보통의 다면체 표현과는 달리 수치들에 의존하지 않는다.
특히, 제안된 일반화된 부울 연산자는 수치 라운딩에 저항성이 있으며, 좌표들의 라운딩은 피연산자의 유효성에 영향을 미치지 않는다. 예를 들어, 피연산자의 꼭지점들에 회전을 가하거나 부동소수점 산술을 사용해도 조합적 구조는 유지되며 따라서 그 유효성에 영향을 미치지 않는다. 반대로, (매우 흔한 연산으로서) 최신식 사면체에 동일한 회전을 가하는 것은 자기교차를 발생시킬 수 있고, 따라서 결과가 (도 1 을 참조하여 전술한 바와 같은) 최신식 유효성 기준에 대하여 불일치하게 만들 수 있다.
달리 말하자면, 본 발명은 일반화된 부울 연산자로서, 꼭지점들의 좌표들이 정수 또는 부동소수점과 같은 고정 길이의 수치 표현들을 사용하는 단체성 2-사이클들에 의한 입체들의 표현들에 적용되는 것이다. 대략적으로 말하자면, 단체성 2-사이클은 자기교차들을 가질 수 있는 삼각형화 다면체 폐곡면이다.
도 8 을 참조하면, C 로 표기되는 단체성 2-사이클이 주어졌을 때, C 의 지지집합 (support) |C| 는 단체성 2-사이클 C 의 모든 삼각형들의 합 (union) 으로 정의된다. 지지집합 |C| 는 따라서 3D 공간 R3 의 부분집합이다. 도 8 에서, |C| 는 C 의 지지집합으로서 두 개의 자기교차들 (81 및 82) 을 가진다.
"다면체 사이클" (예를 들어, C 로 표기되는 단체성 2-사이클) 의 "지지집합" 은 다면체 사이클의 모든 삼각형들의 합으로 정의된다. 3D 공간 내 다면체 사이클의 지지집합의 여집합의 연결된 성분들은 3D 셀들 (cells) 로 지칭된다. 하나의 3D 셀만이 유계 (bounded) 가 아니며 이는 "외각 셀 (outer cell)" 로 지칭된다.
도 9 를 참조하면, R3 - |C| 로 표기되는 |C| 의 3D 여집합은 적어도 두 개의 연결된 성분들을 포함한다. 회색 면적은 |C| 의 여집합의 연결된 성분들을 표현한다. 연결된 성분들 (91, 92, 93, 및 94) 이 네 개 있다. 이 네 개의 성분들 너머, "외부" (91) 는 경계가 없다.
도 10 에 도시된 바와 같이, |C| 의 여집합의 각 점에는 주회수로 지칭되는 잘 정의된 정수가 연관되어 있다. 주회수는 |C| 의 여집합의 각 연결된 성분 (92, 93, 및 94) 상의 상수이며, |C| 에는 어떠한 주회수가 정의되어 있지 않다.
C 로 표기되는 단체성 2-사이클과 같은 다면체 사이클이 주어진 경우, C 의 각 삼각형은 그 세 개의 꼭지점의 순서에 의해 배향되며, 이 순서는 법선 벡터를 정의함을 기억할 것이다. 더불어, C 의 각 삼각형은 정수의 중복도를 가진다. 3-공간 내에서 C 로부터의 어떠한 삼각형에도 포함되지 않은 점 X 가 주어진 경우, C 에 대한 X 의 주회수는 이하와 같이 정의된 정수 W 이다.
설명을 위해, 다면체 -사이클 (예를 들면, 단체성 2-cycle) 은 제로 경계 조건으로 지칭되는 조건을 따른다는 사실을 기억할 것이다. 다면체 -사이클이 제로 경계 조건을 만족하면, 다면체 -사이클에 수밀성 특성이 부여된다. 사실, 다면체 -사이클은, 각 단체마다 중복도로 지칭되는 부호 있는 정수가 배정된 배향된 단체들의 집합이다. 예를 들어, 모서리의 중복도는 동일한 말단 꼭지점들을 공유하는 복수의 모서리들의 수이다.
도 10 에 표현된 것과 같이 X 에서 시작하며
Figure 112011039202923-pat00002
로부터의 어떠한 모서리도 교차하지 않는 배향된 반직선 Δ 를 고려하자. 이러한 반직선 Δ 은 언제나 존재한다. δ 를 X 로부터 무한대를 향하는 Δ 의 방향을 정의하는 단위 벡터로 지칭한다. Δ 가 C 로부터의 삼각형 T 를 교차할 때, δ 와 T 의 법선 nT 의 스칼라곱 (dot product) 이 양수이면 Δ 가 T 를 전방향으로 크로싱한다고 말하고 음수이면 후방향으로 크로싱한다고 말한다. 0 일 수는 없는데, 이는 Δ 가 C 로부터의 모서리 중 적어도 하나를 교차함을 암시할 것이기 때문이다.
정수 W 는 값 W=0 으로 초기화한다. Δ 가 중복도 μT 를 가지는 C 로부터의 삼각형 T 를 크로싱할 때마다, Δ 가 전방향으로 T 를 크로싱하면 W 를 μT 씩 증분시키고 Δ 가 후방향으로 T 를 크로싱하면 W 를 μT 씩 감분시킨다. 이는 W:= W + sign(nT·δ)μT 로 표기될 수 있다.
결과적 수치 W(X, C) 는 3-공간 내에 C 에 대한 주어진 점 X 의 주회수 (때때로 3D 주회수로 지칭되기도 함) 로 지칭된다. 이는 반직선 Δ 에 의존하지 않으며, 어떠한 3D 셀에서도 일정한데, 이것은 동일한 3D 셀 내의 모든 점 X 에 대해 W(X, C) 가 동일한 값을 가짐을 의미한다. 특히, 외각 셀 내의 모든 점 X 에 대해서는 W(X, C) = 0 이다.
본 발명은 주회수 개념을 이용한다. 주회수 개념의 2차원형 버전은 종래 기술에 잘 기재되어 있다. 3차원 주회수 또한 종래 기술에서 수학적 "위상 정도" 의 응용으로서 기재되어 있는데, 예를 들어 존 윌러드 밀너의 저서 "다른 관점에서 본 위상학" ("Topology from the differentiable point of view", Princeton University Press; Revised edition (November 24, 1997), ISBN-13: 978-0691048338) 의 4 장 및 5 장을 참조할 수 있다. 본 설명의 나머지 부분에서는, 주회수 및 3차원 주회수라는 용어들이 상이하지 않게 사용될 것이다.
도 10 은 두 번 자기교차하는 평면형 경로 (planar contour) 에 대한 주회수 계산을 도시한다. 선분들의 배향들은 법선 벡터들을 정의한다. 평면형 경로는 우측에서 좌측으로 배향되어 있다. 반직선 Δ 상의 점 X 가 주어진 경우, 그 주회수 W 의 계산은 W:= 0 으로 초기화하고 반직선 Δ 을 따라 X 로부터 무한대까지 (도면 상의 우측을 향해) 이동하는 것이다. 이러한 이동 중, 경로를 크로싱할 때 (도면에 도시된 바와 같이) W:=W+1 로 증가 또는 W:= W - 1 로 감소시킨다.
주회수 계산의 결과, 단체성 2-사이클 C 는 이하의 방식으로 입체를 정의한다: 도 11에 도시된 바와 같이, 입체는 양수의 주회수를 가지는 점들의 집합의 닫힘체 (closure) 이다. 이러한 단체성 2-사이클들의 집합은 부동소수점 좌표들을 가지는 꼭지점들을 가진 보통의 사면체들의 배향된 경계의 집합을 포함한다. 그러나 전통적인 다면체 경계들과는 달리, 단체성 2-사이클들은 일반적으로 자기교차가 허용된다.
더 나아가기에 앞서서, "내부", "외부", 및 부울 연산들의 친숙한 개념들을 일반화하기 위해 일부 정의들을 내릴 필요가 있다.
도 12 에는 단체성 2-사이클 A 가 표현되어 있고, 도 13 에는 2-단체성 (two simplicial) 2-사이클 B 가 표현되어 있다. 도 12 내지 도 17 및 도 19 내지 도 23 에서는 3차원 물체들이 논의되나, 편의를 위해 2차원 물체들만이 도시되었다. 참고로, 도 28 내지 도 30 은 도 12, 도 13, 및 도 14 및 도 19 에 표현된 물체들의 3차원 표현들을 나타낸다. A 는 직사각형이고 B 는 이중삼각형이다. A 와 B 는 각각의 배향 및 주회수들과 함께 독립적으로 표현되어 있다. A 는 정칙 (regular) 이며 정칙 입체 (regular solid) 의 경계를 표현한다. B 는 자기교차를 가지며 따라서 전술한 바와 같이 종래 기술의 입체들의 유효성 기준에 따라서는 정칙이다.
각각의 주회수 함수 wA: R3 - |A| → Z 및 wB: R3 - |B| → Z 에 유의한다. φ: Z × Z → Z 를 두 개의 정수들이 주어진 경우 하나의 정수를 계산해 내는 함수라 하자. 함수 φ 및 주회수들을 구성함으로써 함수 Ψ: D → Z 를 정의하면, Ψ(x) = φ(wA(x), wB(x)) 이며, 여기서 D = R3 - (|A|∪|B|) 는 wA 및 wB 가 잘 정의되어 있는 3D 도메인이다. 명백히, 함수 Ψ 는 D = R3 - (|A|∪|B|) 의 각 연결된 성분에 걸쳐 일정하다. 모든 0 < ε ≤ ε0 에 대하여, O(x, ε) 로 표기되는, x 를 중심으로 하는 ε 반지름의 개방된 구로 Ψ 를 제한하면 일가함수 (single valued function) 가 되도록 하는 실수 (real number) ε0 > 0 가 존재하면, 함수 Ψ 는 점 x ∈ |A|∪|B| 의 근방에서 국부적으로 일정하다고 한다. 달리 말하자면, 함수 Ψ 는 x ∈ |A|∪|B| 의 "양측 (each side)" 에서 동일한 상수 값을 가진다.
그렇다면, 정의에 의하여, 함수 Ψ 의 경계 ∂Ψ 는 Ψ 가 국부적으로 일가이지 않은 점들 x ∈ |A|∪|B| 의 집합이다. 이는 결과적 단체성 2-사이클의 기하학적 궤적을 정의한다. x ∈ ∂Ψ 를 Ψ 가 국부적으로 이가 (two valued) 점이라 하자. Ψ+ 및 Ψ- 를 다음의 두 값이라 하는데, Ψ+ (또는 Ψ-) 는 초기 피연산자들로부터 얻어지는 배향에 따른 ∂Ψ 의 양수 측의 값 (또는 ∂Ψ 의 반대 측의 값) 이라 하자. 그러면, 차이 Ψ- - Ψ+ 는 점 x 에서의 부호 있는 중복도를 정의한다. 결국, ∂Ψ 의 모든 삼각형들을 위한 중복도가 설정된다.
결국, 일반화된 부울 연산 두 개의 2-사이클들 A 및 B 사이의 일반화된 부울 연산을 정의하는 것은 함수 φ 를 정의하는 것이다. 그러면 결과적 단체성 2-사이클은 ∂Ψ 로서, 삼각형 중복도들과 연관된다.
도 14 를 참조하면, 두 단체성 2-사이클들 A 및 B 는 연산을 위해, 예를 들면 A 와 B 의 합의 계산을 위해 배치되어 D=R3 - (|A|∪|B|) 의 각 연결된 성분들마다 (wA, wB) 의 값들의 수치 쌍과 함께 표현되어 있다. 수치 쌍의 값들 중 첫 번째 수는 단체성 2-사이클 A 로부터 계산되고, 각 쌍의 주회수들 중 두 번째 주회수는 단체성 2-사이클 B 로부터 계산된다. 도 15 에서, 수치 쌍의 값들 (wA, wB) 은 함수 φ 를 통한 결과들로 대체되는데, 이 예에서는 곱 φ(wA, wB) = wAwB 으로 정의된다.
도 16 에서, 점선들은 |A|∪|B| 의 부분들 중 함수 Ψ(x) = wA(x), wB(x) 가 국부적으로 일가인 부분들을 표현하는데, 이것은 |A|∪|B| 는 Ψ 가 동일한 값을 가지는 두 영역들을 국부적으로 구분시킴을 의미한다.
도 17 에서, 도면은 두 단체성 2-사이클들 A 및 B 에 수행되는 연산의 결과를 표현한다: |A|∪|B| 의 부분들 중 함수 Ψ 가 국부적으로 일가가 아닌 부분들을 보유함으로써 새로운 사이클이 획득된다. 초기의 배향들 및 함수 Ψ 의 값들에 따라, 상측 삼각형 모서리들의 중복도는, 피연산자 B 로부터 상속된 모서리들에서는 0 - (-1) = 1 이고, 피연산자 A 로부터 상속된 모서리들에서는 -1 - 0 = -1 이다. 하측 삼각형 모서리들의 중복도는 1-0=1 이다.
그러므로 두 단체성 2-사이클들 A 및 B 와 함수 φ 가 주어진 경우, 본 발명에 따른 프로세스는 ∂Ψ 에 의해 정의되는 결과적 단체성 2-사이클을 계산한다. 다음의 함수들 φ 는 정칙 입체들에 대한 보통의 부울 연산들을 재정의함을 이해할 것이다: 두 입체들 사이의 합은 함수 φ(p, q)=min(1, p+q) 에 의해 정의되고, 교차는 함수 φ(p, q)=pq 에 의해 정의되며, 차는 함수 φ(p, q)=max(0, p-q) 에 의해 정의된다.
더 나아가, 부울 연산자는 어떠한 현 오류 (chordal error) 기준에 의해 작동되는 모서리 축약 절차를 적용함으로써 획득된 결과를 단순화시킬 수 있다. 예를 들어, 좌표들의 라운딩에 의해 유도되는 섭동과 동일한 정도의 규모의 길이를 가지는 모서리들은 기하학적 정보의 현저한 손실 없이 축약될 수 있다. 바람직하게, 두 단체성 2-사이클들 A 와 B 에 대한 연산이 경계의 자기교차를 유도할 가능성이 높은 경우에도 결과는 무효화되지 않는데, 본 발명의 프로세스의 결과로 얻어지는 단체성 2-사이클은 자기교차를 포함할 수 있는 삼각형화 다면체 폐곡면이기 때문이다.
이하 도 18 을 참조하여 본 발명에 따른 프로세스의 실시예가 설명된다.
단계 S10 및 S12 에서, 제 1 삼각형화 다면체 폐곡면에 의해 모델링되는 제 1 모델링된 물체와 제 2 삼각형화 다면체 폐곡면에 의해 모델링되는 제 2 모델링된 물체가 입력된다. 통상적으로, 제 1 및 제 2 모델링된 물체들은 단체성 2-사이클들이다. 필요한 경우, 배향 반전 (orientation inversion) 및/또는 중복도를 나타내기 위해 제 1 및 제 2 삼각형화 다면체 폐곡면들의 삼각형들에 부호 있는 정수들이 연관될 수 있다.
단계 S20 에서, 함수 φ:Z×Z → Z 가 선택된다. 함수 φ 의 선택은 제 1 및 제 2 모델링된 물체들 사이에 수행할 연산을 선택할 수 있게 한다. 일반적으로, 함수 φ 는 두 입체들의 합, 교차, 및 차와 같은 보통의 부울 연산들을 재정의한다. 본 발명을 사용하는 응용의 목적에 따라 어떠한 함수 φ 든 정의될 수 있다. 예를 들어, (공간 스위핑의 결과로서 얻어지는) 자기교차하는 물체들을 상대하는 경우, 함수 φ 의 정의는 주회수가 양수인 곳을 대상이 되는 공간 영역으로 판단할 수 있으며, 함수 φ 의 또 다른 정의는 주회수가 0 이 아닌 곳을 대상이 되는 공간 영역으로 판단할 수 있다. 보통의 부울 연산들을 재정의하는 것 외에도, 함수 φ 의 무제한 정의가 본 발명이 제공하는 설계 유연성이다.
실시의 경우, 함수 φ 는 설계 세션 중에 사용자에 의해 선택된다. 함수 φ 는 또한 CAGD 시스템에 의해 기본설정으로 선택될 수도 있다.
그 다음, 단계 S30 에서, 제 1 모델링된 물체의 삼각형들과 제 2 모델링된 물체의 삼각형들 사이의 교차들이 계산된다. 교차는 두 개의 삼각형들이 만나는 점, 모서리, 또는 다각형이다. 따라서 단계 S30 은 제 1 또는 제 2 모델링된 물체의 삼각형들의 공통 모서리 또는 꼭지점을 포함하지 않는 삼각형들의 교차들 모두를 찾는 단계를 포함한다.
교차들을 계산하는 데 여러 가지 방법들이 사용될 수 있는데, 예를 들어 엡실론-프로그램과 함께 표준 부동소수점 산술이 사용될 수 있다. 실시의 경우, 교차들의 계산은 정밀 산술을 사용하여 수행된다. 정밀 산술은 수치 계산들을 수행할 때 라운딩 및 절단 (truncating) 을 이용하지 않는다. 정밀 산술 접근법은 수치적으로 로버스트한 기하 알고리즘들을 만드는 데 사용된다. 바람직하게, 정밀 산술은 물체들의 올바른 위상 구조들로서 불일치가 없는 위상 구조들을 획득할 수 있게 한다.
더 나아가, 앞서 검토한 바와 같이, 단체성 2-사이클은 자기교차를 가질 수 있는 삼각형화 다면체 폐곡면이다. 실시의 경우, 제 1 및/또는 제 2 모델링된 물체들은 자기 교차를 포함할 수 있으며, 따라서 삼각형들 사이의 교차들의 계산은 제 1 모델링된 물체의 삼각형들 사이 및/또는 제 1 모델링된 물체의 삼각형들 사이의 교차들을 계산하는 단계를 더 포함한다.
도 19 를 참조하면, 두 단체성 2-사이클 A 와 B 가 입력되었다. 제 1 물체 A 는 도 12 에 도시된 직사각형이며, 제 2 물체 B 는 도 13 에 도시된 자기교차를 포함하는 이중삼각형이다. 도 28 내지 도 30 에 도시된 바와 같이, 물체들 A 와 B 는 3차원 물체들이지만, 편의를 위해 도 19 내지 도 23 에서는 2차원 물체들이 사용됨을 기억할 것이다. 실시의 경우, 사용자는 종래 기술에서와 같이 두 물체들을 입력한다. 더 나아가, 물체 A 와 B 는 물체 B 가 물체 A 위에 있도록 배치되었다. 통상적으로, 이것 역시 사용자에 의해 수행된다.
도 20 에는 물체 A 와 B 사이의 교차 점들 (200, 202, 204, 및 206) 이 표현되어 있다. 더 나아가, 물체 B 의 자기교차 점 (208) 또한 표현되어 있다. 도 19 내지 도 23 에서는 편의를 위해 물체 A 및 B 의 표현들이 2차원 표현들이며, 3차원 물체 A 및 B 사이에 계산된 교차들은 모서리들 또는 꼭지점들임을 기억할 것이다. 교차들의 계산은 종래기술에서와 같이, 예를 들어 정밀 산술을 사용함으로써, 수행된다.
다시 도 18 을 참조하면, 단계 S40 에서, 제 1 및 제 2 모델링된 물체들의 삼각형들은 상기 계산된 교차들에 인접하는 다각형 패싯들로 분할된다. 이것은 제 1 및 제 2 모델링된 물체들 A 및 B 가 단계 S30 에서 계산된 교차들에 따라 세분화된다고 말하는 것에 상응한다.
예를 들어, 도 21 에서는, 물체 A 와 B 사이의 계산된 교차 점들은 물체 A 를 네 개의 인접 부분들 (2, 10, 4, 5) 로 세분화하며, 물체 B 는 여섯 개의 인접 부분들 (1, 7, 9, 3, 8, 6) 로 나누어진다.
다음으로, 단계 S50 에서, 적어도 하나의 영역이 계산된다. 영역은 서로에 인접하고 계산된 교차들 중 하나에 의해 제한되는 삼각형들 및/또는 다각형 패싯들의 집합을 포함한다. 달리 말하자면, 영역은 계산된 교차들을 따르는 제 1 및 제 2 모델링된 물체들 A 와 B 의 경계의 일부이다. 이것은 제 1 및 제 2 모델링된 물체들 A 와 B 가 만나거나 자기교차하는 꼭지점들 또는 모서리들에 인접한 삼각형들 및/또는 다각형 패싯들의 집합이 영역을 형성한다고 말하는 것에 상응한다.
실시의 경우, 각 삼각형을 다각형 패싯들로 분할시키는 계산된 교차들의 배열의 오버레이가 구축된다. 오버레이의 구축은 종래기술에서 알려진 바와 같이 계산된 교차들을 조합하는 것에 상응한다. 이 단계에서, 물체 A 와 B 의 동일한 다면체 사이클들을 수학적으로 정의하는 새로운 표현이 얻어지도록 초기 물체들 A 와 B 의 각 삼각형은 다각형 패싯들로 세분화된다. 바람직하게, 다면체 사이클의 지지 복합체 (supporting complex) 는 주위의 3차원 공간 내에 임베드 (embedded) 된다. 달리 말하자면, 새로운 사이클들에서 어떠한 교차하는 한 쌍의 다각형 패싯 또는 모서리들은 공통 모서리 또는 꼭지점을 따라 교차한다. 이러한 구축은 "정밀하게" 이루어지는데, 이는 바람직하게 모서리와 삼각형의 또는 세 개의 삼각형들의 교차의 결과로 얻어지는 꼭지점들은 유리수 좌표들을 가짐을 암시한다. 새로운 표현의 구축은 기호적으로 (symbolically) 관리되는데, 이는 대부분의 경우 이러한 유리수 좌표들이 명시적으로 계산되지 않음을 암시한다. 이러한 유리수 좌표들이 계산될 필요가 없으므로, CAGD 시스템의 자원들은 바람직하게 절약된다 (예를 들어, CPU, 메모리, …).
일반적이지 않은 상황들이 발생할 수 있고, 이들은 해당 기술분야에서 알려진 바에 따라 해결된다. 예를 들어, 삼각형들이 중첩되거나, 다수의 모서리들이 동일한 점에서 삼각형을 교차하거나, 셋 이상의 삼각형들이 하나의 점에서 만나는 경우가 일어날 수 있다. 이러한 일반적이지 않은 상황들 중에서, 중첩되는 삼각형이 새로운 다각형 패싯을 발생시키는 특수한 상황이 있다. 이러한 경우, 새로운 계산된 계수 k (단계 S70 에서 전술함) 는 중첩되는 두 삼각형들 각각의 계수 k 의 총합 (sum) 이다.
다음으로, 단계 S60 에서, 각 삼각형 및 각 다각형 패싯에 대해 두 쌍의 주회수들 (즉, 3D 주회수) p 및 q 가 계산된다. 3차원 물체의 주회수 (혹은 3D 주회수) 는 다각형 -사이클의 내측 및 외측 공간의 개념의 일반화를 제공한다. 주회수들의 각 쌍에 대해, 제 1 주회수는 제 1 삼각형화 다면체 폐곡선으로부터 계산되고, 제 2 주회수는 제 2 삼각형화 다면체 폐곡선으로부터 계산된다. 이 단계에서 삼각형에 적어도 하나의 레이-트레이싱 (ray-tracing) 이 수행될 수 있다. 바람직하게, 완벽한 로버스트성을 위해서는, 이 단계에서 정밀 산술뿐만 아니라 "단순성의 시뮬레이션" 이 요구된다. "단순성의 시뮬레이션" 은 기하 알고리즘들에서 비정상 (degenerate) 경우에 대처하는 기법으로서, 예를 들어 H. 에델스브룬너, EP. 뮈케 저, "단체성의 시뮬레이션" ("simulation of simplicity", H. Edelsbrunner, EP. M
Figure 112011039202923-pat00003
cke - ACM Transactions on Graphics (TOG), Volume 9, Issue 1, January 1990, pages: 66 - 104, ISSN:0730-0301) 에 기재된 것과 같다.
실시의 경우, 삼각형 및 다각형 패싯의 각 측면에 대하여 제 1 및 제 2 쌍의 주회수들이 각각 계산된다. 다각형 패싯의 제 1 측면은 (삼각형에 대해서도 동일하게 적용됨) 하부로 지칭되고, 제 2 측면은 상부로 지칭된다. 다각형 패싯의 하부 및 상부라는 개념은 각 다각형 패싯의 법선 벡터에 기초하는 임의의 규약에 의존한다. 다면체 사이클 (예를 들어, 단체성 2-사이클) 의 각 삼각형은 그 세 꼭지점의 순서에 의해 배향되고, 세 꼭지점의 순서는 임의의 선택사항임을 기억할 것이다. 이 순서는 법선 벡터를 정의한다.
예를 들어, 도 26 에는 공통의 모서리 E 를 가지는 삼각형의 집합이 표시되어 있다. 표현된 바와 같이, 각 삼각형은 자신의 법선 벡터를 가진다. 삼각형 (260) 은 배향되어 있으며, 이 배향에 기초하여 법선 벡터가 정의되고 삼각형의 "상부" 를 나타낸다.
따라서 상기 삼각형 및 다각형 패싯의 법선 벡터에 따르면, Cbelow 로 표기되는 주회수들의 제 1 쌍은 상기 삼각형 및 다각형 패싯의 하부에 있다. 역으로, 상기 삼각형 및 다각형 패싯의 법선 벡터에 따르면, Cabove 로 표기되는 주회수들의 제 2 쌍은 상기 삼각형 및 다각형 패싯의 상부에 있다.
도 22 를 참조하면, 제 1 및 제 2 모델링된 물체들 A 와 B 의 주회수들의 수치 쌍들 (wA, wB) 이 표현되어 있다. 물체 B 의 부분 (1) 은 두 쌍의 주회수들을 가진다. 부분 (1) 의 제 1 쌍은 Cbelow = (0, 0) 로 표기되고, 제 2 쌍은 Cabove = (0, -1) 로 표기된다. 이 예에서, 부분 (1) 의 법선 벡터 (도 21 에 표현됨) 는 수치 쌍 (0, -1) 이 부분 (1) 상부에 있는 것으로 임의로 간주되는 것을 포함한다. 물체들 A 및 B 의 다른 부분들은 이하의 표에서 논의된다.
실시의 경우, 단계 (S50) 에서 계산된 각 영역에 두 쌍의 (3D) 주회수 들을 연관시킨다. 주회수들의 제 1 쌍은 계산된 영역의 (법선 벡터의) 바로 하부에 있는 Cbelow = (wA, wB) 이고, 주회수들의 제 2 쌍은 계산된 영역의 (법선 벡터의) 바로 상부에 있는 Cabove = (wA, wB) 이다. 각 계산된 영역에 연관된 두 쌍 Cbelow = (wA, wB) 및 Cabove = (wA, wB) 는 그 영역에 속하는 다각형 패싯 (또는 삼각형) 에 대해 계산된 두 쌍의 주회수들이다. 그 다음, (3D) 주회수 쌍들 Cbelow 및 Cabove 은 인접하는 영역들 및 삼각형들로 전파된다. 전파라는 용어는 제 1 쌍 Cbelow 및 제 2 쌍 Cabove 가 새로운 계산된 다각형 패싯들 또는 삼각형들로 퍼진다는 의미이다. 달리 표현하자면, 영역의 다른 다각형 패싯들의 (3D) 주회수 쌍들을 계산하는 데 전용 알고리즘이 사용된다. 이 알고리즘은 그 영역에 속하는 다각형 패싯들의 주회수 쌍들의 계산을 수행하기 위해 이처럼 계산된 영역들에 의존한다. 이제 이 알고리즘이 상세히 설명된다.
알고리즘은 제 1 계산된 영역에 속하는 다각형 패싯 (또는 삼각형) 의 Cbelow 및 Cabove 의 계산으로 시작한다. 다각형 패싯의 선택은 임의적이며 이 알고리즘의 출력에 영향을 미치지 않는다. 그 다음, 이 두 쌍의 주회수들 Cbelow 및 Cabove 의 값들은 인접한 다각형 패싯으로 계산된다 (또한 전파된다고도 말할 수 있을 것이다). 이 단계에서, 인접한 다각형 패싯은 또 다른 계산된 영역 또는 삼각형일 수 있다. 정의에 의하여, 두 다각형이 적어도 하나의 모서리를 공유하면 이들은 인접함을 기억할 것이다. 이에 더해, 그리고 여전히 정의에 의하여, 정확히 두 개의 다각형에 의해 공유되는 모서리는, 도 24에 표현된 것과 같이, 다양체 (manifold) 모서리이다. 또한 정의에 의하여, 셋 이상의 다각형에 의해 공유되는 모서리는 비다양체 (non-manifold) 모서리이다. 도 25 에는 네 개의 다각형이 접하는 비다양체 모서리가 도시되어 있다.
이제 도 26 및 도 27 을 참조하여 인접한 패싯들의 주회수 쌍들 Cbelow 및 Cabove 의 계산 (혹은 전파) 이 상세히 설명된다.
도 26 에서, E 를 네 개의 다각형이 공유하는 비다양체 모서리라 하자. 이 모서리는 제 1 및 제 2 모델링된 물체 A 와 B 사이의 계산된 교차이다: 두 개의 수평 다각형들 (260 및 262) 은 제 1 모델링된 물체 A 에 속하고, 두 개의 수직 다각형들 (264 및 266) 은 제 2 모델링된 물체 B 에 속한다. 참고로, 전술한 바와 같이 각 다각형은 그 기하형상 및 배향에 따른 법선 벡터를 구비함을 유의할 수 있다.
이제 도 27 을 참조하며, 하나의 인접한 다각형에 대하여 두 쌍의 주회수들 Cbelow 및 Cabove, 즉 다각형 (260) 의 주회수 쌍들 Cbelow = (wA, wB) 및 Cabove = (wA, wB) 이 알려져 있다고 가정하자. 다각형들은 모서리 E 주위로 방사상의 순서로 분류되어 있다. 방사상의 순서는 모서리 E 주위의 회전에 따라 선택될 수 있다. 예를 들어, 다각형 (260) 에서 시작하여 반시계방향 회전 (268) 으로, 모서리 E 에 인접한 다각형들의 방사상 순서는 260, 266, 262, 및 264 이다.
그 다음, 주어진 삼각형 또는 주어진 다각형 패싯에서 시작하여, 계산된 교차 주위로 방사상의 순서에 따라 회전이 수행된다. 이것은 다각형 (260) 에서 시작하여 다각형들 (266, 262, 및 264) 이 연이어 크로싱된다고 말하는 것에 상응한다.
다음으로, 계산된 교차에 인접한 다른 삼각형들 및/또는 다각형 패싯들의 크로싱들이 검출된다. 각 크로싱 검출 이후에, 두 쌍의 주회수들은 업데이트된다. 업데이트는 크로싱된 삼각형 및/또는 다각형 패싯의 법선 벡터의 배향에 따라 수행된다.
업데이트는 이하의 세 규칙들에 기초하여 수행될 수 있다:
(i) 제 1 모델링된 물체 A 의 다각형을 크로싱하는 것은, 다각형의 법선 벡터가 방사상의 순서로 (또는 방사상 순서의 역방향으로) 배향된 경우, 주회수 wA 를 wA + 1 로 (또는 wA - 1 로) 변경시키고;
(ii) 제 2 모델링된 물체 B 의 다각형을 크로싱하는 것은, 다각형의 법선 벡터가 방사상의 순서로 (또는 방사상 순서의 역방향으로) 배향된 경우, 주회수 wB 를 wB + 1 로 (또는 wB - 1 로) 변경시키고;
(iii) 제 1 모델링된 물체 A 의 (또는 B 의) 다각형을 크로싱하는 것은 주회수 wB 를 (또는 wA 를) 변경시키지 않는다.
도 27 은 전술한 규칙들의 응용을 도시한다. 편의를 위해, 이 예를 주회수 쌍 Cabove = (wA, wB) 의 계산 (혹은 전파) 으로 제한한다. 주회수 쌍 Cabove = (wA, wB) 를 가지는 다각형 (260) 에서 시작하여, 첫 번째로 크로싱되는 다각형은 다각형 (266) 이다. 다각형 (266) 의 크로싱이 검출되면, 주회수 쌍이 업데이트되어, 업데이트가 주회수 wB 를 wB - 1 로 변경시킨다. 다각형 (266) 의 계산된 주회수 쌍은 따라서 Cabove = (wA, wB - 1) 이다. 이와 유사하게, 다각형 (262) 이 크로싱되고, 다각형 (262) 의 계산된 주회수 쌍은 따라서 Cabove = (wA + 1, wB - 1) 이다. 다음으로, 다각형 (264) 를 크로싱한 후, 다각형 (264) 의 계산된 주회수 쌍은 Cabove = (wA + 1, wB) 이다.
결국, 주회수들의 변동들이 알려져 있으므로, 다양체 또는 비다양체의 계산된 교차에 인접하는 모든 계산된 영역들의 주회수 쌍들 Cbelow 및 Cabove 을 업데이트하는 것은 용이한 일이다. 이 알고리즘의 장점으로서 주회수의 계산 횟수가 감소된다는 점을 이해할 것이다. 이것은 시스템의 자원들이 절약되고 계산 시간이 매우 감소되므로 특히 바람직하다.
주회수 쌍들의 계산은 확장 영역들에서도 수행될 수 있다. 확장 영역은 영역에 인접하는 삼각형들 및/또는 다각형 패싯들의 집합들을 포함하지 않는다. 확장 영역은 제 1 모델링된 물체의 인접한 삼각형들 중 제 2 모델링된 물체의 다각형들에 접하지도 않고 자기교차들에 접하지도 않는 삼각형들의 집합으로 구성되어 있다. 따라서 확장 영역 내의 삼각형의 Cbelow 및 Cabove 의 초기 값들은 동일한 확장 영역 내의 모든 삼각형들에 대해 동일함을 이해할 것이다. 이것은 확장 영역은 동일한 Cbelow 및 Cabove 를 가지는 모델링된 물체의 연결된 삼각형들의 최다의 수를 포함한다고 말하는 것에 상응한다. 따라서 확장 영역 내에서는, 초기의 계산된 주회수 쌍들 Cbelow 및 Cabove 은 모델링된 물체의 연결된 삼각형들 전체로 용이하게 계산 (혹은 전파) 될 수 있다. 결국, 확장 영역 내의 계산 절차는 모델링된 물체의 각 연결된 삼각형에 대해 반복된다. 다시 언급하자면, 이는 바람직하게 본 발명에 따른 프로세스의 성능을 증가시키고 또한 CAGD 시스템의 자원들을 절약하는 것을 가능하게 한다.
그 다음, 도 18 의 단계 S70 에서, 제 1 및 제 2 모델링된 물체의 각 삼각형 및 각 다각형 패싯에 대해 계수 k 가 계산된다. 정의에 의하여, 함수 Ψ 의 경계 ∂Ψ 는 Ψ 가 국부적으로 일가가 아닌 점들 x ∈ |A|∪|B| 의 집합으로서, 결과적 단체성 2-사이클 ∂Ψ 의 기하학적 궤적을 정의하며, 또한 Ψ- 및 Ψ+ 는 Ψ+ (또는 Ψ-) 는 초기 피연산자들로부터 얻어지는 배향에 따른 ∂Ψ 의 양수 측의 값 (또는 ∂Ψ 의 반대 측의 값) 임을 기억할 것이다. 그러면, 차이 Ψ- - Ψ+ 는 점 x 에서의 부호 있는 중복도를 정의하며, 결국 ∂Ψ 의 모든 삼각형들을 위한 중복도가 설정된다. 그러면 결과적 단체성 2-사이클은 삼각형들의 중복도들과 연관된 ∂Ψ 이다. 중복도는 정수 값들을 가지는 함수 Ψ 의 경우 단체성 2-사이클을 얻을 수 있게 하고, 그 외의 경우 함수 Ψ 는 그 값들로서 0 또는 1 만을 가질 것임을 이해할 것이다.
제 1 및 제 2 모델링된 물체들의 각 삼각형 및 각 다각형 패싯에 대하여 계산된 주회수들 p 및 q 의 두 쌍들을 입력들로 가지는 함수 φ 로써 계수 k 가 계산된다. 실시의 경우, 계수 k 는 이하와 같이 계산되는데: k = φ(Cbelow) - φ(Cabove), 이는 제 1 및 제 2 모델링된 물체들의 각 삼각형 및 각 다각형 패싯에 대하여 부호 있는 중복도를 계산하는 것에 상응한다.
다음으로, 단계 S80 에서, 제 1 및 제 2 모델링된 물체들의 삼각형들 및 다각형 패싯들은 계산된 계수들에 따라 선택된다. 여기에서의 선택이라 함은 선택된 삼각형들 및 다각형 패싯들이 결과적 단체성 2-사이클을 획득하기 위해 유지됨을 의미한다. 실시의 경우, 삼각형들 및 다각형 패싯들은 계산된 계수 k 가 0 이 아닐 때 선택된다.
다음으로, 단계 S90 에서, 삼각형들이 아닌 다각형 패싯들은 삼각형화된다. 삼각형화는 해달 기술분야에서 알려진 바와 같이 수행된다.
그 다음, 단계 100 에서, 결과적 삼각형화 다면체 폐곡면이 선택된 삼각형들 및 삼각형화된 선택된 다각형 패싯들과 함께 획득된다.
단계 S60 내지 단계 S100 은 도 20 내지 도 23 에 의해 도시되어 있다.
도 20 에는 물체 A 와 B 사이의 교차 점들 (200, 202, 204, 206, 및 210) 및 물체 B 의 자기교차 점 (208) 이 표현되어 있으며, 제 1 및 제 2 모델링된 물체들 A 및 B 는 계산된 교차들에 따라 세분화되어 있다.
그 다음, 도 21 에는 확장 영역들이 나타나 있다. 확장 영역들은 도면 상에서 수치 값들 1 내지 10 으로 식별된다. 이 예에서는, 물체 A 의 네 개의 인접한 부분들 (2, 10, 4, 5) 과 부분 B 의 여섯 개의 인접한 부분들 (1, 7, 9, 3, 8, 6) 이 확장 영역들이다. 이제 각 확장 영역에 결과적 단체성 2-사이클을 선택하는 데 사용되는 모든 계수들을 연관시키는 것이 가능한데, 다음 표에서 얻어지는 Cbelow, Cabove, 및 k = φ(Cbelow) - φ(Cabove) 이다. 다음 표의 예에서는, φ(wA, wB) = wAwB 이라 한다. 결과적 단체성 2-사이클에 속하는 확장 영역들은 최우측 열에서 볼 수 있다.
피연산자 확장 영역 Cbelow Cabove φ(Cbelow)-φ(Cabove) 결과적 2-사이클에 속하는가?
B 1 (0, 0) (0, -1) 0 - 0 = 0 아니오
A 2 (1, 0) (0, 0) 0 - 0 = 0 아니오
B 3 (0, 1) (0, 0) 0 - 0 = 0 아니오
A 4 (1, 0) (0, 0) 0 - 0 = 0 아니오
A 5 (1, -1) (0, -1) -1 - 0 = -1 예, 반대 배향
B 6 (1, 0) (1, -1) 0 - (-1) = 1 예, 초기 배향
B 7 (1, 0) (1, -1) 0 - (-1) = 1 예, 초기 배향
B 8 (1, 1) (1, 0) 1 - 0 = 1 예, 초기 배향
B 9 (1, 1) (1, 0) 1 - 0 = 1 예, 초기 배향
A 10 (1, 1) (0, 1) 1 - 0 = 1 예, 초기 배향
도 23 에는 확장 영역들 (5, 6, 7, 8, 9, 및 10) 에 의해 정의되는 결과적 단체성 2-사이클이 도시되어 있다. 반대 배향에 따라 확장 영역 (5) 가 포함되어야 함을 유의할 것인데, 이 반대 배향은 상기 표에서 φ(Cbelow) - φ(Cabove) 의 부호로 나타난다. 이는 결과적 단체성 2-사이클의 표면의 배향이 전체적으로 일관성 있도록 보장한다.
전술한 방법은 어떠한 CAGD 시스템에도 적용될 수 있음을 이해할 것이다. 본 발명은 시스템, 방법, 또는 컴퓨터 프로그램으로 구체화될 수 있다. 본 발명은 디지털 전자 회로로서 구현되거나, 컴퓨터 하드웨어, 펌웨어, 소장 소프트웨어, 마이크로코드, 소프트웨어, 도는 그 조합으로서 구현될 수 있다. 본 발명의 장치는 프로그래머블 프로세서에 의한 실행을 위해 기계 판독가능한 저장 디바이스 내에 유형적으로 구체화된 컴퓨터 프로그램 제품으로 구현될 수 있으며, 본 발명의 방법 단계들은 입력 데이터를 연산하고 출력을 생성함으로써 본 발명의 기능들을 수행하도록 명령어들의 프로그램을 실행시키는 프로그래머블 프로세서에 의해 수행될 수 있다.
본 발명은 바람직하게 데이터 및 명령어들을 송수신하기 위해 데이터 저장 시스템에 결합된 적어도 하나의 프로그래머블 프로세서, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함하는 프로그래머블 시스템 상에 실행가능한 하나 이상의 컴퓨터 프로그램으로 구현될 수 있다. 어플리케이션 프로그램은 고수준 절차형 또는 객체지향적 프로그래밍 언어 또는 요망되는 경우 어셈블리 혹은 기계 언어로 구현될 수 있고; 어떤 경우에 언어는 컴파일되거나 해석된 언어일 수 있다.
일반적으로, 프로세서는 리드 온리 메모리 및/또는 랜덤 액세스 메모리로부터 명령어들 및 데이터를 수신할 것이다. 명령어들을 저장하는 데에 하나 이상의 컴퓨터 판독가능 매체(들)의 조합이 활용될 수 있다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체일 수 있다. 컴퓨터 판독가능 저장 매체는, 예를 들어 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치, 또는 디바이스, 혹은 이들의 적합한 조합일 수 있으나, 이에 제한되는 것은 아니다. 컴퓨터 프로그램 명령어들 및 데이터를 유형적으로 구체화하기에 적합한 저장 디바이스들은 모든 종류의 비휘발성 메모리를 포함하며, 예를 들어 EPROM, EEPROM, 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스; 내장 하드 디스크들 및 탈착가능 디스크들과 같은 자기형 디스크들; 자기광학 디스크들, 및 CD-ROM 디스크들을 포함한다. 상기는 특수 설계된 ASIC (어플리케이션 전용 집적 회로) 들에 의해 보조되거나 이에 포함될 수 있다.
컴퓨터 판독가능 매체는 컴퓨터 판독가능 신호 매체일 수 있다. 컴퓨터 판독가능 신호 매체는, 예를 들어 베이스밴드 내에 또는 반송파의 일부로서, 컴퓨터 판독가능 프로그램 코드를 함유한 구체화된 전파 데이터 신호를 포함할 수 있다. 이러한 전파 신호는 다양한 형태를 가질 수 있으며, 여기에는 전자기적 형태, 광학 형태, 또는 이들의 적합한 조합이 포함되나, 이에 한정되는 것은 아니다. 컴퓨터 판독가능 신호 매체는 컴퓨터 판독가능 저장 매체가 아닌 것으로서 명령어 실행 시스템, 장치, 또는 디바이스에 의해 또는 이와 연결하여 사용되도록 프로그램을 통신, 전파, 또는 이송할 수 있는 컴퓨터 판독가능 매체 어떠한 것이든 가능하다. 본 발명의 바람직한 실시예가 설명되었다. 본 발명의 기술적 사상 및 범위에서 벗어나지 않고도 다양한 변경들이 가해질 수 있음을 이해할 것이다. 그러므로 다른 구현예들도 이하의 청구범위 내에 속한다. 예를 들어, 최적화들을 통해 본 발명에 따른 프로세스 전체의 성능을 증가시키는 것이 가능하다. 제 1 의 최적화는 필터링된 프레디케이트의 개념의 사용을 포함할 수 있는데, 예를 들어 S. 포춘 저, "다중정밀도 정수 산술을 이용한 다면체 모델링" ("Polyhedral modelling with multiprecision integer arithmetic", S. Fortune, Computer Aided Design, 29 (2), pages 123-133, 1997), S. 포춘 및 C. J. 반위크 저, "계산기하학을 위한 효율적인 정밀 산술" ("Efficient exact arithmetic for computational geometry", S. Fortune and C.J. Van Wyk, Proceedings of the ninth annual symposium on Computational geometry, pages 163-172, ACM New York, NY, USA, 1993), 및 모한드 오우라바 베노아머 외 저, "느긋한 정밀 산술" ("A lazy exact arithmetic", Mohand Ourabah Benouamer, P. Jaillon, Dominique Michelucci, and Jean-Michel Moreau, IEEE Symposium on Computer Arithmetic, pages 242-249, 1993) 의 문서들에 설명된 바와 같다.
더 나아가, 구축된 꼭지점들의 무게중심 좌표들은 구간 산술로 계산된다. 통상적으로 행렬식의 부호를 리턴하는, 프레디케이트의 호출이 있을 때마다, 이러한 구간 좌표들을 사용하여 부호를 결정하려고 시도하며, 이것이 가능하지 않은 경우, 프레디케이트의 유리수 산술 버전을 호출하는데, 이는 우선, 기존에 이미 행해지지 않았다면, 영향받는 구축된 꼭지점들의 요구되는 무게중심 좌표들을 계산한다.
도 18 에 표현된 프로세스의 단계 S30 에서, 제 1 모델링된 물체의 삼각형들 및 제 2 모델링된 물체의 삼각형들 사이의 교차들의 계산은 삼각형들의 집합 내의 피연산자들의 분할을 사용하여 가속화될 수 있는데, 이는 패치들로 지칭되며 이하와 같이 정의된다:
(i) 패치의 배향된 삼각형들의 법선 벡터들 모두와의 스칼라곱이 양수인 벡터 d 가 존재하고;
(ii) d 에 직교하는 평면에 대해 d 의 방향을 따른 패치의 경계의 투영에는 자기교차가 없다.
사실, 이 경우 패치는 자기교차가 없고 개별 패치들의 삼각형들 사이의 가능한 교차들을 시험하는 것으로 충분하다는 점을 볼 수 있다. 이러한 패치들이 복셀들 (voxels) 또는 옥트리들 (octrees) 과 같은 공간 분할 구조 내에 국부적으로 소재한다면, 이는 단계 S30 을 현저히 증속시킬 수 있는데, P. 브루넷 및 I. 나바조 저, "확장 옥트리를 사용한 입체 표현 및 연산" ("Solid Representation and Operation Using-Extended Octrees", P. Brunet and I. Navazo, ACM Transactions on Graphics, 9(2) pages 170-197, 1990), C. M. 호프만 및 G. 바네첵 저, "기하 및 입체 모델링을 위한 근본 기법" ("Fundamental techniques for geometric and solid modeling", C.M. Hoffmann and G. Vanecek, Manufacturing and Automation Systems: Techniques and Technologies, 48 pages 347-356, 1990. Paragraph II.B) 의 문서들에 설명된 바와 같다.
예를 들어, 복셀이 하나의 패치만을 포함한다면, 교차가 있을 수 없다.
더불어, 또 다른 최적화는 현 오류 (chordal error) 에 의해 작동되는 일련의 모서리 축약들에 의한 결과적 삼각형화 다면체 폐곡면의 정리 (simplify) (S100) 를 포함할 수 있다. 사실, 상기 단계 S30 내지 단계 S90 에서 수행된 연산들은 정밀 (exact) 하므로, 매우 작은 삼각형들이 발생할 수 있는데, 이들은 입력 피연산자들의 꼭지점들의 좌표들을 정의하는 부동소수점 수치들의 마지막 자리 숫자의 무게보다 훨씬 작을 수도 있다. 본 발명의 프로세스에서, 이러한 정리 절차는 부동소수점 숫자들에서의 라운딩에 대한 조합적 대응이다.

Claims (13)

  1. 컴퓨터 지원 기하 설계 시스템에서 제 1 삼각형화 다면체 폐곡면에 의해 모델링된 제 1 모델링된 물체 및 제 2 삼각형화 다면체 폐곡면에 의해 모델링된 제 2 모델링된 물체로부터 결과적 삼각형화 다면체 폐곡면을 계산하기 위한 컴퓨터 구현 프로세스로서,
    - 상기 제 1 모델링된 물체의 삼각형들 및 상기 제 2 모델링된 물체의 삼각형들 사이의 교차들을 계산하는 단계 (S30);
    - 상기 제 1 및 제 2 모델링된 물체들의 삼각형들을 상기 교차들에 인접하는 다각형 패싯들 (polygonal facets) 로 분할하는 단계 (S40);
    - 각 삼각형 및 각 다각형 패싯에 대하여 두 쌍의 주회수들 (winding numbers) (p 및 q) 을 계산하는 단계로서, 각 주회수 쌍의 제 1 주회수는 상기 제 1 삼각형화 다면체 폐곡면으로부터 계산되고, 각 주회수 쌍의 제 2 주회수는 상기 제 2 삼각형화 다면체 폐곡면으로부터 계산되는, 상기 두 쌍의 주회수들 (p 및 q) 을 계산하는 단계 (S60);
    - 각 삼각형 및 각 다각형 패싯에 대하여 계수 (k) 를 계산하는 단계로서, 상기 계수는 각 삼각형 및 각 다각형 패싯의 상기 두 쌍의 주회수들 (p 및 q) 을 입력들로 가지는 함수 (φ) 로 계산되는, 상기 계수 (k) 를 계산하는 단계;
    - 상기 계산된 계수들에 따라 삼각형들 및 다각형 패싯들을 선택하는 단계 (S80);
    - 상기 선택된 다각형 패싯들을 삼각형화하는 단계 (S90); 및
    - 상기 선택된 삼각형들 및 상기 삼각형화된 선택된 다각형 패싯들로 상기 결과적 삼각형화 다면체 폐곡면을 획득하는 단계 (S100) 를 포함하는, 컴퓨터 구현 프로세스.
  2. 제 1 항에 있어서,
    - 삼각형화 다면체 폐곡면에 의해 모델링된 상기 제 1 또는 제 2 모델링된 물체들 중 적어도 하나는 자기교차를 포함하며;
    - 상기 삼각형들 사이의 교차들을 계산하는 단계는 삼각형화 다면체 폐곡면에 의해 모델링된 상기 제 1 또는 제 2 모델링된 물체들 중 상기 적어도 하나의 삼각형들 사이의 교차들을 계산하는 단계를 더 포함하는, 컴퓨터 구현 프로세스.
  3. 제 1 항에 있어서,
    상기 삼각형들을 분할하는 단계 후에:
    - 적어도 하나의 영역을 계산하는 단계를 더 포함하며,
    상기 영역은 서로에 인접하고 상기 계산된 교차들 중 하나에 의해 범위가 정해지는 삼각형들 및/또는 다각형 패싯들의 집합을 포함하는, 컴퓨터 구현 프로세스.
  4. 제 3 항에 있어서,
    - 상기 영역의 모든 삼각형들 및/또는 다각형 패싯들을 결정하는 단계로서, 상기 삼각형들 및/또는 다각형 패싯들은 공통의 계산된 교차에 인접하고, 각 삼각형 및/또는 다각형 패싯은 상기 각 삼각형 및/또는 다각형 패싯 각자의 기하형상 및 배향에 따라 정의된 법선 벡터를 포함하는, 상기 삼각형들 및/또는 다각형 패싯들을 결정하는 단계;
    - 주어진 삼각형 또는 주어진 다각형 패싯에 대하여 두 쌍의 주회수들 (p 및 q) 을 계산하는 단계;
    - 상기 주어진 삼각형 또는 상기 주어진 다각형 패싯에서 시작하여, 방사상의 순서에 따라 상기 계산된 교차 주위를 회전하는 단계;
    - 상기 계산된 교차에 인접하는 다른 삼각형들 및/또는 다각형 패싯들의 크로싱 (crossing) 을 검출하는 단계;
    - 각 크로싱 후, 상기 크로싱되는 삼각형 및/또는 다각형 패싯의 상기 법선 벡터의 배향에 따라 상기 두 쌍의 주회수들 (p 및 q) 을 업데이트하는 단계를 더 포함하는, 컴퓨터 구현 프로세스.
  5. 제 1 항에 있어서,
    상기 두 쌍의 주회수들을 계산하는 단계에서,
    - 제 1 주회수 쌍 (Cbelow) 은 상기 삼각형 및 다각형 패싯의 법선 벡터에 따라 상기 삼각형 및 다각형 패싯의 하부에 있고;
    - 제 2 주회수 쌍 (Cabove) 은 상기 삼각형 및 다각형 패싯의 상기 법선 벡터에 따라 상기 삼각형 및 다각형 패싯의 상부에 있는, 컴퓨터 구현 프로세스.
  6. 제 1 항에 있어서,
    각 삼각형 및 각 다각형 패싯의 상기 두 쌍의 주회수들 (p 및 q) 을 입력들로 가지는 상기 함수 (φ) 는 아래의 연산들 중 하나를 수행하는, 컴퓨터 구현 프로세스:
    - φ(p, q) = min(1, p+q)
    - φ(p, q) = p*q
    - φ(p, q) = max(0, p-q).
  7. 제 1 항에 있어서,
    상기 삼각형들 및 다각형 패싯들은 상기 계산된 계수 (k) 가 0 이 아닐 때 선택되는, 컴퓨터 구현 프로세스.
  8. 제 1 항에 있어서,
    상기 교차들을 계산하는 단계에서, 상기 제 1 모델링된 물체의 삼각형들과 상기 제 2 모델링된 물체의 삼각형들 사이의 공통 모서리들 또는 공통 꼭지점들은 제외되는, 컴퓨터 구현 프로세스.
  9. 제 8 항에 있어서,
    상기 교차들을 계산하는 단계는 정밀 산술 (exact arithmetic) 을 사용하여 수행되는, 컴퓨터 구현 프로세스.
  10. 제 1 항에 있어서,
    상기 삼각형들을 분할하는 단계 후에, 상기 계산된 교차들을 표현하는 오버레이 (overlay) 를 계산하는 단계를 더 포함하는, 컴퓨터 구현 프로세스.
  11. 제 10 항에 있어서,
    상기 계산된 오버레이는 유리수 좌표들 (rational coordinates) 을 가지는, 컴퓨터 구현 프로세스.
  12. 제 1 삼각형화 다면체 폐곡면에 의해 모델링된 제 1 모델링된 물체 및 제 2 삼각형화 다면체 폐곡면에 의해 모델링된 제 2 모델링된 물체로부터 결과적 삼각형화 다면체 폐곡면을 계산하기 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 프로그램은 컴퓨터로 하여금 제 1 항 내지 제 11 항 중 어느 한 항에 기재된 컴퓨터 구현 프로세스의 단계들을 취하도록 하기 위한 코드 수단을 포함하는, 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 저장 매체.
  13. 제 1 삼각형화 다면체 폐곡면에 의해 모델링된 제 1 모델링된 물체 및 제 2 삼각형화 다면체 폐곡면에 의해 모델링된 제 2 모델링된 물체로부터 결과적 삼각형화 다면체 폐곡면을 계산하기 위한 장치로서,
    상기 장치는 제 1 항 내지 제 11 항 중 어느 한 항에 기재된 컴퓨터 구현 프로세스의 단계들을 구현하기 위한 수단을 포함하는, 장치.
KR1020110049612A 2010-05-25 2011-05-25 제 1 및 제 2 모델링된 물체들로부터의 결과적 삼각형화 다면체 폐곡면 계산 KR101754581B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP10305555.4 2010-05-25
EP10305555.4A EP2400410B1 (en) 2010-05-25 2010-05-25 Computing of a resulting closed triangulated polyhedral surface from a first and a second modeled object

Publications (2)

Publication Number Publication Date
KR20110129359A KR20110129359A (ko) 2011-12-01
KR101754581B1 true KR101754581B1 (ko) 2017-07-19

Family

ID=42799764

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110049612A KR101754581B1 (ko) 2010-05-25 2011-05-25 제 1 및 제 2 모델링된 물체들로부터의 결과적 삼각형화 다면체 폐곡면 계산

Country Status (6)

Country Link
US (1) US8854367B2 (ko)
EP (1) EP2400410B1 (ko)
JP (1) JP5848030B2 (ko)
KR (1) KR101754581B1 (ko)
CN (1) CN102262694B (ko)
CA (1) CA2740669A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9607111B2 (en) * 2010-11-29 2017-03-28 Autodesk, Inc. Spatial information modeling of buildings using non-manifold topology via a 3D geometric modeling kernel and designscript
EP2811463B1 (en) * 2013-06-04 2018-11-21 Dassault Systèmes Designing a 3d modeled object with 2d views
JP6182473B2 (ja) * 2013-09-25 2017-08-16 日本電信電話株式会社 データ分析装置及び方法及びプログラム
EP2874118B1 (en) 2013-11-18 2017-08-02 Dassault Systèmes Computing camera parameters
US10255383B2 (en) * 2014-10-10 2019-04-09 Autodesk, Inc. Rule based three-dimensional (3D) intersection model
EP3032495B1 (en) 2014-12-10 2019-11-13 Dassault Systèmes Texturing a 3d modeled object
US9607414B2 (en) * 2015-01-27 2017-03-28 Splunk Inc. Three-dimensional point-in-polygon operation to facilitate displaying three-dimensional structures
US9836874B2 (en) 2015-01-27 2017-12-05 Splunk Inc. Efficient polygon-clipping technique to reduce data transfer requirements for a viewport
US9916326B2 (en) 2015-01-27 2018-03-13 Splunk, Inc. Efficient point-in-polygon indexing technique for facilitating geofencing operations
US9767122B2 (en) 2015-01-27 2017-09-19 Splunk Inc. Efficient point-in-polygon indexing technique to facilitate displaying geographic data
US10026204B2 (en) 2015-01-27 2018-07-17 Splunk Inc. Efficient point-in-polygon indexing technique for processing queries over geographic data sets
EP3188033B1 (en) 2015-12-31 2024-02-14 Dassault Systèmes Reconstructing a 3d modeled object
US10109105B2 (en) * 2016-07-12 2018-10-23 Nature Simulation Systems Inc. Method for immediate boolean operations using geometric facets
EP4131172A1 (en) 2016-09-12 2023-02-08 Dassault Systèmes Deep convolutional neural network for 3d reconstruction of a real object
CN106325211B (zh) * 2016-11-16 2019-01-04 清华大学 一种基于stl模型交线环的材料去除算法
US10834413B2 (en) * 2018-08-24 2020-11-10 Disney Enterprises, Inc. Fast and accurate block matching for computer generated content
US11587289B2 (en) 2018-12-11 2023-02-21 Hewlett-Packard Development Company, L.P. Determination of vertices of triangular grids for three-dimensional object representations
CN109782272A (zh) * 2018-12-30 2019-05-21 中国电子科技集团公司第十五研究所 三维雷达体的布尔融合方法
EP3825956B1 (en) * 2019-11-21 2022-06-22 Dassault Systèmes Processing a 3d signal of a shape attribute over a real object
CN111159850B (zh) * 2019-12-09 2021-06-01 北京航空航天大学 一种面向平面散点数据的沿流向沟槽叶栅自动生成方法
CN111474899B (zh) * 2020-04-29 2021-02-19 大连理工大学 一种基于三角化的复杂型腔高速数控铣削螺旋路径生成方法
JP7485435B2 (ja) 2020-11-20 2024-05-16 イマゴワークス インコーポレイテッド 仮想ブリッジ基盤の多重集合演算を介したデジタルデンティストリ用3次元モデル生成方法
CN115272379B (zh) * 2022-08-03 2023-11-28 上海新迪数字技术有限公司 一种基于投影的三维网格模型外轮廓提取方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196684A (ja) 2004-01-09 2005-07-21 National Institute Of Information & Communication Technology 3次元幾何データの無矛盾化方法及びそのシステム
JP2010026636A (ja) 2008-07-16 2010-02-04 Mitsutoyo Corp 領域間の集合演算方法および集合演算処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6445390B1 (en) * 1997-12-29 2002-09-03 The United States Of America As Represented By The Adminstrator Of The National Aeronautics And Space Administration Triangle geometry processing for surface modeling and cartesian grid generation
US6392646B1 (en) * 1999-12-22 2002-05-21 General Electric Co. Iterative determination of the shortest path between two points on a polygonal surface
CA2430068C (en) * 2002-05-30 2013-04-16 Universite Laval Construction members for three-dimensional assemblies
JP4301791B2 (ja) * 2002-10-04 2009-07-22 三菱重工業株式会社 Cadシステム及びcadプログラム
US7408548B2 (en) * 2005-06-30 2008-08-05 Microsoft Corporation Triangulating procedural geometric objects
EP2023292B1 (en) * 2006-05-11 2020-02-26 Panasonic Intellectual Property Management Co., Ltd. Processing device
US20080225037A1 (en) * 2007-03-15 2008-09-18 Basimah Khulusi Apparatus and method for truncating polyhedra
EP2189918A1 (en) * 2008-11-07 2010-05-26 Dassault Systèmes Computer-implemented method of computing, in a computer aided design system, of a boundary of a modeled object.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196684A (ja) 2004-01-09 2005-07-21 National Institute Of Information & Communication Technology 3次元幾何データの無矛盾化方法及びそのシステム
JP2010026636A (ja) 2008-07-16 2010-02-04 Mitsutoyo Corp 領域間の集合演算方法および集合演算処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"A topologically robust algorithm for Boolean operations on polyhedral shapes using approximate arithmetic", COMPUTER-AIDED DESIGN Volume 39 issue 2(pp. 149-163), 2007

Also Published As

Publication number Publication date
JP2011248889A (ja) 2011-12-08
CA2740669A1 (en) 2011-11-25
CN102262694A (zh) 2011-11-30
US20110295564A1 (en) 2011-12-01
CN102262694B (zh) 2016-11-23
EP2400410A1 (en) 2011-12-28
EP2400410B1 (en) 2014-01-08
US8854367B2 (en) 2014-10-07
JP5848030B2 (ja) 2016-01-27
KR20110129359A (ko) 2011-12-01

Similar Documents

Publication Publication Date Title
KR101754581B1 (ko) 제 1 및 제 2 모델링된 물체들로부터의 결과적 삼각형화 다면체 폐곡면 계산
KR101580862B1 (ko) 컴퓨터 지원 설계 시스템에서, 모델링된 오브젝트의 경계를 계산하는 컴퓨터-구현 방법
JP4381743B2 (ja) 境界表現データからボリュームデータを生成する方法及びそのプログラム
Kuo et al. A Delaunay-based region-growing approach to surface reconstruction from unorganized points
Wassermann et al. From geometric design to numerical analysis: a direct approach using the finite cell method on constructive solid geometry
Sheffer et al. Robust spherical parameterization of triangular meshes
Teschemacher et al. Realization of CAD-integrated shell simulation based on isogeometric B-Rep analysis
Lou et al. Merging enriched finite element triangle meshes for fast prototyping of alternate solutions in the context of industrial maintenance
Majhi et al. Minimizing support structures and trapped area in two-dimensional layered manufacturing
Shostko et al. Surface triangulation over intersecting geometries
Wang et al. Efficient boundary extraction of BSP solids based on clipping operations
Ahn et al. Geometric algorithms for 3D interface reconstruction
Gillespie et al. Integer coordinates for intrinsic geometry processing
Laguardia et al. A natural neighbour Galerkin method with quadtree structure
Schifko et al. Industrial application of exact boolean operations for meshes
CN109983509B (zh) 一种使用几何面的即时布尔运算方法
Kase et al. Volume cad
Bawin et al. Automatic feature‐preserving size field for three‐dimensional mesh generation
McMains Geometric algorithms and data representation for solid freeform fabrication
Aubry et al. An entropy satisfying boundary layer surface mesh generation
Lee et al. Continuous penetration depth computation for rigid models using dynamic Minkowski sums
Kase et al. Volume CAD—CW-complexes based approach
Leconte et al. Exact and efficient booleans for polyhedra
Zhang et al. Triangulation of simple arbitrarily shaped polyhedra by cutting off one vertex at a time
Krishnan et al. Boole: A system to compute boolean combinations of sculptured solids

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right