이 목적을 위해, 본 발명은,
복수의 페이스를 갖는 모델링된 대상의 CAD 방법으로서,
페이스들 각각에 대하여, 기하학적 기준에 따라 상기 페이스와 관련된 적어도 다른 페이스들을 식별하는 단계,
상기 페이스들 각각의 모자이크식 표현을 형성하는 복수의 점을 산출하는 단계;
상기 페이스들 각각에 대하여, 상기 페이스의 모자이크식 표현의 각각의 점에 대해, 상기 점을 터치하는 3 차원 기하학적 도형과 상기 페이스와 관련된 페이스로서 식별된 다른 페이스 사이의 교점을 표현하는 데이터를 결정 및 저장하는 단계;
각각 저장된 데이터에 따라 점들 사이의 경계 (frontier) 를 산출하는 단계;
산출된 경계에 따라 영역을 결정하는 단계; 및
결정된 영역에 따라 새로운 페이스를 산출하는 단계를 포함하는, 복수의 페이스를 갖는 모델링된 대상의 CAD 방법을 제안한다.
다른 실시형태에서, 본 발명에 따른 프로세서는 다음의 특징들 중 하나 이상을 포함할 수도 있다.
- 산출된 모자이크식 표현을 형성하는 복수의 점들 중 각각의 점은 모자이크식 다각형 (tessellation polygon) 이고;
- 경계를 산출하는 단계는 교점 및 비 교점 (no intersection) 을 각각 나타내는 저장 데이터를 이용하여 정점을 연결하는 부분 상에 경계점을 결정하는 단계를 포함하고;
- 경계를 산출하는 단계는, 경계점을 산출하기 이전에, 교점 및 비 교점을 각각 나타내는 저장 데이터를 이용하여 정점을 갖는 다각형을 세분하는 단계를 포함하고;
- 상기 데이터는 상기 도형과 상기 다른 페이스 사이의 다량의 교점을 표현하고;
- 상기 방법은, 또한, 프로세스되지 않을 페이스를 사용자가 선택한 후 프로세스될 페이스로부터 이 페이스를 제거하는 단계를 포함하고;
- 그 방법은, 또한, 제거된 페이스에 인접한 페이스를 외삽 (extrpolate) 하는 단계를 포함하고;
- 기하학적 기준은, 적어도, 관련된 페이스로서 식별되는 페이스의 외각이 180.5°내지 360°사이인 것을 포함하고;
- 교점을 표현하는 데이터를 결정 및 저장하는 단계는, 또한, 사용자에 의해 선택된 페이스를 통해 관련된 페이스들의 각 커플에 대해 수행되고;
- 영역을 결정하는 단계는 함수 f1 및 조건 C1 을 이용하여 커플링 루틴을 호출함으로써, 필렛형 또는 라운드형 단면을 갖고 에지를 포함하는 하나 이상의 영역을 결정하는 단계를 포함하며;
- 영역을 결정하는 단계는 함수 f2 및 조건 C2 를 이용하여 커플링 루틴을 호출함으로써, 계단형 단면을 갖고 3 차원 대상과 관련된 치수 (dimension) 미만의 최소 거리를 가진 2 개 에지를 포함하는 하나 이상의 영역을 결정하는 단계를 포함하며;
- 영역을 결정하는 단계는 함수 f3 및 조건 C3 을 이용하여 커플링 루틴을 호출함으로써, 벽형 단면을 갖고 3 차원 대상과 관련된 치수 미만의 최소 거리를 가진 2 개 이상의 에지에 의해 분리된 2 개의 실질적으로 평행한 페이스를 포함하는 하나 이상의 영역을 결정하는 단계를 포함하고;
- 영역을 결정하는 단계는 함수 f1 및 조건 C1 을 이용하여 커플링 루틴을 호출함으로써, 필렛형 또는 라운드형 단면을 갖고 에지를 포함하는 하나 이상의 영역을 결정한 후, 다음으로 각각, 함수 f2 또는 f3 및 각각, 조건 C2 또는 C3 을 이용하여 커플링 루틴을 호출함으로써, 각각, 계단형 혹은 벽형 단면을 갖고 3 차원 대상과 관련된 치수 미만의 최소 거리를 가진 2 개의 에지를 포함하는 하나 이상의 영역을 결정하는 단계를 포함하며;
- 영역을 결정하는 단계는, 또한, 이미 결정된 하나 이상의 영역 및 산출된 경계에 따라 하나 이상의 잔류 영역을 결정하는 단계를 더 포함하고;
- 호출된 커플링 루틴은:
각각의 경계 Fi 의 경우, 상기 경계 Fi 의 각각의 점 Pi,j 에 대하여;
상기 경계 Fi 경우와 상이한 경계 Fk 각각의 경우, 상기 경계 Fk 의 각각의 점 Pk,l 에 대하여;
삭제
결정된 하나 이상의 영역에 따라, yi,j,k,l = fm (Pi,j, Pk,l) (여기서, fm 은 함수 f1, f2 또는 f3) 을 계산하고;
결정된 하나 이상의 영역에 따라, yi,j,k,l-1 및 y i,j,k,l 가 조건 Cm (여기서, Cm 은 조건 C1, C2, C3) 을 충족하는 경우, 특정의 커플 Pk,l-1*, Pk,l* 을 선택하고;
추가 조건 Cs 에 따라, 상기 특정의 커플 Pk,l-1*, Pk,l* 중에서 특정의 점 Pk,l*** 을 선택하고;
커플 Pi,j,Pk,l*** 를 저장하는 것을 포함하고;
- 새로운 페이스를 산출하는 단계는, 각각의 결정된 영역에 대하여, 상기 결정된 영역의 타입에 적응되는 페이스 산출 루틴을 호출하고;
- 이 CAD 방법은, 또한, 산출된 새로운 페이스에 따라 모델링된 대상의 데이터 페이스를 변형하는 단계를 포함하고;
- 3 차원 기하학적 도형은 상기 페이스의 모자이크식 표현의 상기 점에서 상기 페이스를 터치하는 반경 r 의 구 (sphere) 를 포함하며;
- 3 차원 기하학적 도형은 상기 페이스의 모자이크식 표현의 상기 점에서 정접하는, 각각 반경 rx 및 rc 의 2 개 구를 포함하며; 그리고
- 3 차원 기하학적 도형은 뿔을 포함하고, 3 차원 기하학적 도형의 교점을 표현하는 데이터를 결정 및 저장하는 단계에서, 상기 도형이 상기 점을 터치하고 특정 위도 및 경도를 부여받는 단계를 포함한다.
본 발명은 본 발명의 방법을 수행하는 컴퓨터 프로그램에 더 관계된다.
본 발명의 다양한 실시형태가 도면을 참조하여 논의된다.
본 발명은 복수의 페이스를 갖는 모델링된 대상의 CAD 방법에 관한 것이다. 이 방법은 대상의 페이스들 각각에 대하여, 기하학적 기준에 따라 상기 페이스와 관련된 적어도 다른 페이스들을 식별하는 단계를 포함한다. 이로써 페이스들은 연결된 것으로 표시된다. 이는 방법의 후속 단계를 수행하기 위해 필요한 "토폴로지 전처리 (topology preprocessing)" 의 일부이다. 예를 들면, 상기 기준은 식별되는 페이스의 외각에 관한 것일 수도 있다. 또한, 이 방법은 상기 페이스들 각각의 모자이크식 표현을 형성하는 복수의 점을 산출하는 단계를 포함한다. 이 모자이크화에 기초하여, 상기 방법은 전술한 식별 단계에 따라, 상기 페이스와 관련된 페이스 및 (소정의 페이스를 터치하는) 3 차원 (3D) 기하학적 도형 사이의 교점을 표현하는 데이터를 결정 및 저장함으로써 임계 범위를 특징화한다. 교점이 발생하는지의 여부를 결정하는 단계는 페이스의 모자이크식 표현의 각 점, 및 대상의 각각의 페이스에 대해서 수행된다. 바람직하게는, 사용자 입력에 따라 모든 페이스가 프로세스되어야 하는 것은 아니다. 그 후, "경계 추출" 의 일반적인 단계의 일부로서, 그 방법은 각각에 저장된 데이터에 따라 점들 사이의 경계를 산출하고 (표면 재산출이 발생할 수 있는 영역의 범위를 정함), 결정된 경계에 따라 영역을 결정한다. 따라서, 본 접근법은 포괄적인 접근이며: 필렛/라운드가 부분 프로세스에 의한 일부분으로서 국부적으로 산출되는 이전의 접근법과는 달리, 먼저, 전체 바디에 대해 경계가 결정되고, 다음으로, 그 경계로부터 영역이 결정된다. 점진적인 (progressive) 영역 결정 방법이 수행되는 것이 바람직하며: 특히, 적절한 커플링 루틴을 호출함으로써, 필렛/라운드형, 계단/벽형 단면을 갖거나 또는 좀 더 복잡한 패턴을 나타내고 하나 이상의 에지를 포함하는 영역의 검출을 포함하는 것이 바람직하다. 마지막으로 새로운 페이스가 결정된 영역에 따라 산출될 수 있다.
따라서, 본 발명은 상기 영역에서 라운드 및/또는 필렛을 빠르고 자동적으로 산출할 수 있게 한다. 모든 임계 범위는 검출될 것이며 이 방법에 의해 프로세스되는 결정된 영역이다. 자동화된 프로세스로서, "수동적으로" 와 관련되는 단계의 순서에 의해 이전의 어려움을 회피한다. 3D 도형 및 인접한 페이스의 교점에 기초하는 방법을 이용하는 것은 규칙적인 경계를 제공하게 한다. 그러므로 후속 영역 결정은 쉽게 이루어진다. 이 방법의 포괄적인 접근법 및 점진적인 형상은, 모델 바디를, 이전의 실패의 주요인이었던 각각의 동작 사이의 유효한 폐쇄적인 기하학적 형상으로 이루어지지 않도록 한다. 그 결과, 라운딩 및/또는 필렛팅의 실패는 대폭 (drastically) 감소되고, 그렇지 않으면 완벽하게 회피된다. 따라서, 본 발명에 의해 제공된 해결책은 제품 표면 우수 디자인의 효율성을 개선하고, 특히, 코너 라운딩 및/ 또는 필렛팅 프로세스를 개선한다. 예로써, 본 발명에 따른 방법을 수행하는 것은 다수의 신규 가능성 및 사용자 옵션을 제공하는 동시에 전통적인 필렛팅 업무를 최종 10% 까지 산출하게 한다. 요구되는 CPU 시간이 프로세스되기 위한 많은 요소에 따라 거의 선형으로 증가하는 것은 지적할만하다.
상기 단계들은 다음과 같이 캐스팅될 수 있는 보다 일반적인 단계에 속한다.
- "토폴로지 전처리" 단계로서, 크랙 및 슬리버 처리 옵션이 선택될 때, 직면하게 될 및/또는 필렛 페이스가 아닌 것으로서 선택될 페이스에 따라 작업 바디가 준비될 수도 있다. 문제의 특정 페이스는 후에 상세하게 논의될 "평탄한 (smooth) 스킨" 인 것으로 간주될 수도 있다. 또한, 평탄한 스킨 사이의 필렛 볼록면이 산출된다.
- "모자이크화 (tessellation)" 단계. 여기서, 목표는 당업계에서 공지된 것처럼 바디를 다면체형 (polyhedron) 으로 전환하는 것이다. 그러나, 결과로 생긴 다면체형 적합도, 방법의 정확도 및 이용 가능한 하드웨어 자원의 균형을 맞추도록, 입력 파라미터를 조절하기 위해 각별한 주의가 요구된다.
- "경계 추출" 단계. 이제, 다면체형은 다음에 상세하게 설명될 "비 이동성" 정점의 세트 및 이동성 정점의 세트로 분할된다. 서브세트 (subset) 사이의 경계는 반환 (return) 되고 다음 단계를 위한 정보가 수집된다.
또한, 본 발명의 방법은 다음의 일반적인 단계를 가능한 한 포함할 수도 있다.
- "정확한 필렛 인식" 단계로서, 규칙적인 필렛/라운드 영역이 결정되고 3 개의 페이스가 수렴하는 영역이 재산출된다.
- "라운드 근사 (approximation)" 단계. 라운딩된 표면은 필렛 오퍼레이터가 실패한 가능한 한 혼합 (blend) 오퍼레이터 또는 호출된 페이스-페이스 필렛 오퍼레이터에 기초하여, ("정확한 필렛 인식" 단계에 따라, 필렛형 필렛 또는 라운드형 필렛에 대해) 생성된다.
- "단단한 (hard) 영역 처리" 단계. 코너 표면이 생성되고 충진 (filling) 오퍼레이터가 호출된다. 또한, 혼합 오퍼레이터는 단단한 영역이 충진 루틴 동안 너무 복잡한 곳에 호출될 수도 있다.
- "봉합 (sewing)" 단계로서, 생성된 표면이 최종 바디 상에 봉합되고 필렛되지 않은 에지가 변환되지 않은 채로 남겨진다.
이하, 이러한 일반적인 단계는 본 발명을 수행하기 위해 이롭게 실행될 수도 있는 옵션의 서브 단계로 분해된다.
다음으로, "필렛" 및 "라운드" 의 개념은 당업계에서 빈번하게 인정된 것으로서 구체적으로 설명하지 않는 한, "필렛" 이라는 용어로 일반적으로 처리된다.
도 3 내지 도 7 에서는 모델링된 대상의 CAD 의 단계를 표현하는 순서도를 나타낸 것으로, 이는 다음으로 설명될 것이다. 도 9 내지 도 14b 는 상기 순서도의 다양한 단계에서 획득된 전형적인 모델 바디 페이스를 나타내는 것으로서, 이들 도면의 참조는 도 3 내지 도 7 의 순서도의 설명에 더해진다.
도 3 은 "토폴로지 전처리" 의 일반적인 단계에 관한 것으로, 그 자체는 각각 슬리버/크랙 및 "기능적인" 페이스 (예를 들어, 프로세스되지 않을 페이스) 의 처리에 관한 2 개의 주요 부분을 포함한다. 이 도면을 참조하면, 단계 100 에서, 프로세스는 소정의 입력 바디 (예를 들어, 도 9 의 입력 바디 (10) 참조) 에 관하여 개시된다. 단계 110 에서, 프로세스는, 사용자가 프로세스되지 않을 것으로 소정의 페이스를 미리 선택하였는지 또는 사용자로 하여금 그러한 페이스를 선택하게 하는지 여부를 테스트할 수도 있다. 만약 어떤 페이스도 선택되지 않으면, 프로세스되는 바디 (작업 바디) 는 여전히 이전 (단계 120) 과 동일하다. 만약 페이스가 선택된다면, 임의의 선택된 페이스는 입력 바디에서 처리될 페이스의 세트로부터 제거된다.
이것은, 모델링된 대상 (10) 의 페이스 (16) 가 페이스의 초기 세트로부터 제거되는 것이 도 9a 에 도시된다. 결과로서 (도 9b), 이 페이스와 다른 페이스 사이의 에지는, 도시되는 바와 같이, 다른 페이스 커플의 산출에 의해 에칭될 수도 있지만 재산출되지 않는다. 특정 페이스의 제거는 사용자가 표면 재산출을 커스터마이즈하기를 원할 때 이롭다는 것이 증명된다.
다음으로, 도 3 을 다시 참조하면, 프리 보더 (free border) 의 외삽, 예를 들어, 프로세스되지 않을 페이스로서 선택된 페이스에 인접하는 페이스들 각각은 가능한 수행될 수 있다. 이것은, 약간의 불규칙한 경계 패턴이 이러한 페이스의 주변에서 산출될 수 있다는 것이 관찰되어 왔기 때문에, 실제로 유익하다. 따라서, 단계 114 에서, 프리 보더의 외삽 단계가 성공적이었는지의 여부를 체크한다. 만약 성공적이면, 고려될 작업 바디는 외삽된 페이스의 바디일 것이다 (단계 118). 외삽의 실패가 발생할 경우 (예를 들어, 외삽된 페이스가 다른 페이스와 충돌하는 경우) 에는, 사용자에 의해 프로세스되지 않을 것으로 선택된 페이스가 추가 고려사항 없이 폐기된다 (단계 120) 는 것을 제외하고는, 외삽된 바디는 작업 바디가 여전히 이전의 입력 바디와 동일하게 되도록 폐기된다 (단계 116).
다음의 단계 130 내지 134 에서, 프로세스는 바디의 페이스들 사이에 접속부를 생성한다 (단계 132 내지 134). 특히, 이 방법은, 작업 바디의 페이스들 각각에 대하여 (단계 130), 기하학적 기준에 따라 상기 페이스와 관련된 적어도 다른 바디 페이스, 예를 들어, 외각이 180.5° 내지 360°사이에 있는 페이스를 식별한다. "외각" 은 2 개의 인접한 페이스를 횡단하는 부분에서 외부로 형성된 더 큰 각이다. 페이스의 각이 기준과 일치할 때, 그들은 날카로운 에지에 의해 분리되는 것으로 고려되고 페이스들은 연결된 것으로 표시된다. 반대로 이러한 기준에 일치하지 않는 페이스들은 단일의 연속적인 페이스, 예를 들어, 종래 기술에서 공지된 바와 같이 "평탄한 (smooth) 스킨" 인 것으로 고려된다. 그 결과, 동일한 평탄한 스킨에 속하는 2 개의 페이스는 평탄한 스킨이 직면될 나머지 프로세스에서 직면될 것이다.
옵션으로, 사용자는 슬리버 및 크랙 처리에 관한 옵션을 선택할 수도 있다 (단계 140 내지 144). 슬리버 및 크랙은 볼록 에지 및 오목 에지 모두를 공유하는 인접 평탄한 스킨에 관련된다. 이는 도 10a 에 예시되어 있고, 여기서 작업 바디 (10) 의 슬리버는 참조 A 로 표시되고 크랙은 참조 C 로 표시된다. 여기서 나타난 바와 같이, 슬리버는 전형적으로 오목/볼록/볼록/오목의 순서의 단면을 갖지만, 그 반대는 크랙을 의미한다. 여기서, 비록 B 및 D 는 각각 슬리버형 단면 및 크랙형 단면을 갖지만, 그들의 임계 에지가 라운딩되기 때문에 그들은 평탄한 스킨인 것으로 고려된다. B 및 D 의 처리는 다음 단락에서 설명된다. 만약 슬리버 또는 크랙 옵션 모두가 선택되지 않으면, 이 방법의 디폴트 이행은 도 10b 에 도시된 바와 같은 형상에 이르게 되며, 즉, 슬리버 A 또는 크랙 C 말단은 약간 라운딩되지만, 원하는 라운드/필렛 반경에 이르지 못할 것이다. 반대로, 슬리버 또는 크랙 옵션 모두가 선택되면, 이러한 옵션은 원격 페이스들 사이의 연결을 생성되게 한다. 예를 들어, 페이스 SA2 가 선택될 수도 있으며, SA1 및 SA3 사이의 연결 생성을 가능하게 한다. 이 결과 (도 10C), 슬리버 A 는 거의 붕괴된다. 반대로, 크랙 처리 위자드 (wizard) 내의 SC2 를 선택하는 것은 크랙 C 를 거의 충진되게 한다. 따라서, A 또는 C 에 관해서는, 획득된 패턴은 라운드/필렛 반경과 일치한다.
또한, 도 10a 내지 도 10c 에서 도시된 것과 같이, 라운드는 슬리버 B 의 상부 상에 선재 (preexist) 하고 필렛은 D 의 저부에 선재한다. 이러한 선재하는 필렛/라운드가 각 크랙/슬리버의 횡단 부분 내에서 단일성을 억제하기 때문에, 대응 페이스가 단일의 연속적인 평탄한 스킨으로써 나타난다. 그 결과, 도 10a 에서 도 10c 로 진행할 때 나타나는 바와 같이, (예를 들어, 도 10a 내지 도 10c 의 입력 필렛/라운드 반경보다 작은 반경을 가진) 선재하는 필렛/라운드가 보존되도록 하는 이러한 페이스는 직면되지 않는다. 부차적으로, 프로세스의 수행에 따라, 단지 입력 바디와 함께 허용된 필렛만이 설계 필렛일 수도 있다. 본 단계에서, 접속부가 프로세스될 바디의 인접한 페이스들 사이에서 생성되었고, 단지 분리된 인접한 (그리고 가능하다면 원격인) 평탄한 스킨만이 다음에서 직면될 것이다.
다시 순서도에서, 도 4 는 도 3 의 연속이며, 일반적으로 "모자이크화" 및 "경계 추출" 의 일반적인 단계에 제공된다.
이 도면을 참조하여, 바디 페이스들 각각의 모자이크식 표현을 형성하는 복수의 점은 단계 150 에서 산출되어 모자이크식 작업 바디를 산출한다. 통상, 모자이크식 표면은 다각형 (polygon) 의 어셈블리로 구성된다. 이들은 통상 삼각형이며, 이로써 "삼각형" 은 이 후에 일반성의 손실 없이 사용된다. 따라서, 모자이크식 표현의 복수의 점들의 각 점은 삼각형의 정점이다. 정점 대신에 각각의 삼각형의 중심을 사용하는 것을 생각할 수도 있음은 자명하다.
단계 160 에서, 이후에 저장될 데이터를 고려하여, 모자이크식 작업 바디의 각 정점에는 관련된 초기 디폴트 값이 부여될 수도 있다. 예를 들어, 그들은 이후에 좀 더 명백하게, "비 이동성" 이라고 표시될 수도 있다.
다음으로, 작업 바디의 각 페이스 (예를 들어, 단계 170 의 "페이스 1" ) 에 대해, 및 상기 페이스의 모자이크식 표현의 각 정점에 대해 (단계 172), 방법은 상기 페이스에 연결된 것으로서 상기 식별된 페이스와 상기 정점에 터치하는 3D 기하학적 도형 사이의 교점을 나타내는 데이터를 결정 및 저장한다 (단계 170 내지 182). 따라서, 이후에 산출될 필렛의 반경이 3D 기하학적 형태의 고려로 인하여, 앞서 사용된 충돌하는 3D 도형의 차원 특징에 연관될 수 있기 때문에, 이는 특히 이롭다. 특히, 3D 도형은 표면에 정접하는, 상기 페이스의 모자이크식 표현의 상기 정점에서 상기 페이스 ("페이스 1") 를 터치하는 단일 구 또는 이중 구 중 어느 하나 일 수도 있다. 이는 도 11 을 참조하여 강조된다. 따라서, 이후에 3D 도형은 "구" 로써 표시된다. 단계 172 에서, 방법은 페이스 1 의 특정의 정점을 테스트한다. 이것은, 먼저, 구가 이미 이 정점에 놓여졌는지의 여부를 체크할 수도 있다 (단계 174). 만약 놓여 있지 않으면, 페이스 1 에 연결된 각각의 페이스 ("페이스 2") 에 대해, 방법은, 상기 정점에 편리한 반경을 가진 구를 놓는다 (단계 176 내지 단계 178). 다음으로 구가 페이스 2 를 교차하는지의 여부를 테스트한다 (단계 180).
당업자에게는 명백하다면, 다른 구성이 충돌 검출을 위해 생각될 수도 있음은 자명하다. 그 후, 충돌을 표현하는 데이터 표현은 테스트된 정점에 귀착된다. 예를 들어, 상기 데이터는 단일 이진 값, 예를 들어 충돌이 검출되면 1, 그렇지 않으면 0 으로 제한할 수도 있다. 다른 방법으로는, 예를 들어, 페이스 2 에 충돌하는 구의 일부에 기초하여, 데이터는 충돌의 정도를 표현할 수도 있다. 여전히, 상기 데이터는 구가 다른 페이스에 정접하는 또는 외견상 정접하는 곳에 대응하는 삼각형 또는 정점의 수로 구성될 수도 있다.
인접한 또는 원격의 페이스의 3D 도형의 교점은, 모자이크식 페이스 (21, 23, 25, 27, 29, 31, 33 및 35) 의 다양한 정점 (20, 22, 24, 26) 하에 있는 구 (30, 32) 및 소정의 작업 바디 (10) 의 단면을 나타내는 도 11 을 참조하여 보다 이해할 수 있다. 여기서 문제의 페이스는 외각이 소정의 값 (예를 들어, 180.5 ~ 360°) 보다 더 큰 에지에 의해 분리된 페이스들인 "평탄한 스킨" 일 수도 있다.
이 예에서, (페이스 21 에 인접하고 수직한) 페이스 23 은 수직 벽 단면 및 (페이스 25 에 인접하고 수직한) 인접한 수평의 벽 단면 모두를 포함하는 평탄한 스킨이다. 또한, 오직 페이스의 커플 (21 - 23), (23 - 25), (25 - 27), (27 - 29), (29 - 31), (31 - 33), (33 - 35) 및 (35 - 21) 만이 도 11 의 예 (앞 단계 172 및 176) 에서 테스트된다. 명확성을 위해, 구는 도 11 상의 페이스의 모든 커플을 나타내지 않는다.
구는 테스트 된 정점 (예를 들어 정점 20 에 대해 구 30, 32 참조) 에서, 바디 페이스에 정접하는 (볼록 타입 충돌의 검출하기 위한) 내부구 (32) 또는 (오목 에지에 대해 오목 타입 충돌의 검출을 위한) 대상에 대한 외부구 (30) 일 수도 있다.
따라서, 오직 하나의 소정의 타입의 구는 한번에, 전술한 (외부구 또는 내부구) 2 가지 타입을 테스트하기 위하여 필요한 2 개의 루프에서 테스트될 수도 있고 또는, 다른 방법으로 2 개의 구가 단일 루프에서 한번에 테스트될 수도 있다.
또한 도 11 에 포함된 다른 실시형태에서, 3D 도형은 상기 정점에서의 페이스에 정접하는 각 반경이 rx 및 rc 인 2 개의 구 (30, 32) 를 포함할 수도 있다.
사실상, 당업자는 단지 하나의 구만이 사용될 수 있고, 이러한 타입은 관련 페이스를 식별하는 단계 이후에 공지될 수도 있고, 인접한 페이스 사이에서 필렛 볼록성이 산출된다는 것을 이해할 수도 있다. 그러므로, 충돌에 대해 테스트 된 연결된 페이스 (페이스 1 및 2) 의 산출된 볼록부에 따라, 이 방법은 주어진 점에서 편리한 구 (내부구 또는 외부구) 를 선택하도록 구성될 수도 있고, 그것을 이후에 테스트할 수도 있다. 예를 들어, 볼록부 에지로 나타날 수도 있는 페이스 (21) 및 페이스 (23) 사이의 에지를 고려한다. 이 에지의 볼록부가 알려졌을 때, 후자 (latter) 가 에지에 대해 페이스 (21, 23) 의 하나 또는 다른 하나와 구 사이의 어떤 충돌도 증가시키지 않기 때문에, 외부구의 사용은 염두에 두지 않는 것이 명백하다. 대신에, 내부구의 사용은 도시된 바와 같이, 구-페이스 충돌 (40) 을 허용한다. 충돌 (40) 은 볼록 에지에 관한 것이기 때문에, 이를 편리하게 "볼록 충돌" (40) 이라 한다. 그러므로, 충돌을 나타내는 정점 (22) 과 연관된 데이터가 저장될 수도 있다. 3D 도형의 형상 (여기서, 구의 반지름) 이 이 후에 산출될 필렛/라운드의 반지름을 결정한다. 그러므로, 3D 기하학적 도형은 표면 재산출이 이루어져야 하는 것에 관한 규칙적인 경계를 결정하는 대상의 툴 (tool) 을 제공한다.
다음으로, 오목 에지를 고려하면, 대칭적 논증은 화살표 (42) 및 (44) 에 의해 표시된 교점이 외부구 (30) 에 의해 유발된 "오목한" 충돌이라 결론 지어진다. 그러나, 앞서 논의된 실시형태들로 인해, 2 개의 페이스가 동일한 평탄한 스킨 (23) 에 속해 있는 곳에서 발생하기 때문에, 이 예에서 교점 (42) 은 충돌하는 것으로 표시되지 않는다. 유사하게, 페이스 (23) 및 페이스 (31) 가 인접한 페이스가 아니기 때문에 여기서 교점 (46) 은 볼록 충돌로서 스케쥴링되지 않는다. 마지막으로, 오직 충돌 (40) 및 충돌 (44) 이 평탄한 스킨 (23) 의 예에서 효과적인 충돌로서 고려된다. 따라서, 각각의 정점 (22) 및 정점 (26) 에 결합된, 대응하는 교점을 나타내는 데이터가 저장된다. 예를 들어, 이러한 데이터는 이동성 (단계 182 참조) 으로서 표시된 정점을 나타내는 값을 구성할 수도 있는데, 이 경우에는 정점이 다음 단계에서 제거되기 쉽다. 다른 방법으로, 예를 들어 구의 충돌 세그먼트의 높이에 비례하는, 충돌의 범위 (extent) 에 따라 상기 값이 연속적으로 변화할 수도 있다.
이러한 점을 염두하여, 도 10 으로 간략하게 되돌아가서, 슬리버 및 크랙 처리를 고려한다. 설명된 바와 같이, 결함 방법은 단지 인접한 평탄한 스킨만이 직면하도록 한다. 반대로, 슬리버/크랙 처리의 유용한 옵션을 선택하여 인접하지 않은 평탄한 스킨이 직면하도록 한다. 그러므로, 전술한 단계 170 내지 180 의 설명의 관점에서, 사용자가 슬리버/크랙을 선택할 때, 선택된 슬리버/크랙에 대해 페이스에 놓여진 3D 도형이 인접한 것을 지나서, 원격 페이스를 교차하는지의 여부를 테스트한다. 예를 들어, 슬리버/크랙을 선택하는 것은 두 번째 이웃 페이스를 국부적으로 테스트하도록 하고, 가능하면 세 번째 이웃 페이스도 테스트하도록 한다. 예를 들어, 평탄한 스킨 (SA2) 이 도 10a 에서 선택되는 경우, 이 때, 예를 들어 디폴트 직면하는 (SA1, SA2) 및 (SA2, SA3) 이외에도, 페이스 (SA1, SA3) 가 직면한다. 만약 평탄한 스킨 SA2 가 선택되지 않으면 (즉, 만약 A 가 슬리버로 유지될 것으로 고려하지 않으면), (SA1, SA2) 및 (SA2, SA3) 만이 테스트되어, 도 10b 의 패턴에 이르게 된다.
이제, 순서도 도 4 를 다시 참조하여, 다음 단계 190 내지 230 의 세트는 각각의 저장된 데이터에 따른 정점 사이에서 영역의 산출에 제공된다. 예를 들어, 정점에 저장된 데이터가 충돌 발생 혹은 충돌이 발생되지 않는다는 것을 각각 나타내는 (이는 라운드/필렛 반경이 테스트 구의 차원에 관련된 것으로서 유용하다) 정점 사이에, 경계가 산출될 수도 있다. 그러므로, 경계점은 교점이 있거나 또는 교점이 없는 것을 각각 나타내는 저장된 데이터에 의해 정점을 연결하는 세그먼트 상에 결정된다.
따라서, 단계 190 에서, 루프는 각각의 모자이크식 삼각형에 대해 시작되고; 다음으로 상기 삼각형이 단계 182 에서 이동성으로서 표시된 하나 또는 2 개의 정점을 갖는지의 여부가 테스트된다 (단계 192). 만약 정점을 갖는다면, 예를 들어, 상기 삼각형의 영역이 임계 영역보다 큰 경우 테스트하여 (단계 194), "세분 가능한" 으로 표시되는 삼각형이 되도록 한다. 옵션이지만, 이러한 가능성은 반대 충돌 상태를 갖는 정점 사이의 좀 더 우수한 경계 산출을 위해 허용된 것과 같이 유용하다. 만약 세분 가능한 삼각형에서 발견되면 (단계 198), 적절하게 세분되고 (200), 새로운 루프를 시작함으로써 충돌에 관련하여 다시 테스트되는 새로운 정점을 산출한다 (단계 170). 단계 170 의 루프는 더 이상 세분가능한 삼각형이 발견되지 않을 때까지 발생한다 (단계 198).
다음으로, 새로운 루프는 단계 210 에서 시작하고, 그로 인해 점 위치는 근사법에 따라 산출될 수 있다 (단계 220). 특히, 예를 들어 충돌 구의 충돌부에 기초하여, 충돌의 양을 나타내는 데이터를 저장하는 것은 점의 이론적인 위치를 산출하도록 한다. 그러므로 "폴리라인 (polyline)" 경계는 상기 산출된 점들에 따라 결정될 수 있다.
전술한 경계 산출은 도 12a 및 도 12b 에서 예시되었고, 전술한 실시형태에 따라, 경계 산출의 연속적인 단계를 도식화한다.
선택된 예는 도 12a 내지 도 12c 의 좌측 부분에 실린더 (60) 바로 위에 도시되는 데카르트 좌표 (Cartesian coordicate) 시스템 표시 (52) 에 따라 방위를 나타낸 실린더 (60) 이다. 도형의 주요 부분은 표시 (50) 로써 표시된 것으로서, 평면 (x, z) 에 따라 방위를 나타낸 실린더의 개략적으로 확대된 4 분면 부분 (62) 을 나타낸다. 그렇지 않으면, 이는 앞서 고찰된다. 상기 실린더 부분 (62) 은 앞서 설명된 실시형태에 따라, "이동성" 또는 "비 이동성" 으로 표시된 정점의 다수를 포함한다. "이동성" 으로 표시된 정점은 단일 점을 나타내고 십자형은 이동성이 아닌 정점을 표시한다. 점선 (64) 는 (아직) 이론적인 경계를 나타낸다.
도 12a 는 단계 182 이후에 획득될 것에 관한 상기 4 분면 부분 (62) 를 나 타내고: 삼각형은 0,1,2 또는 3 이동성 정점을 포함한다.
도 12b 는 앞서 설명된 단계 190 내지 200 에 의해 발생된 상태를 나타내고, 즉, 정확히 하나 또는 2 개의 이동성 정점을 가진 삼각형이 세분화됨으로써, 새로운 정점이 이론적인 경계 (64) 에 대하여 나타낸다.
다음으로, 도 12c 는 단계 210 내지 단계 230 의 수행의 결과를 도시하여, "폴리라인" 경계가 상세하게 산출된 점, 여기서는 원 형태의 점에 따라 제공된다 (단계 220). 따라서, 이전 단계들의 수행은 보다 세밀한 경계 추출을 허용한다.
다시 방법을 참조하여, 도 5 및 도 6 은 "정확한 필렛 인식", " 라운드 근사치" 및 "단단한 영역 처리" 의 일반적인 단계를 제공한다.
순서도로 다시 돌아가, 도 5 를 참조하여, 커플링 루틴은 필렛형 또는 라운드형 경계 (단계 240), 계단형 경계 (단계 250) 또는 벽형 경계 (단계 260) 을 갖는 영역을 결정하는 것이 매회 요청된다. 비록 상이한 루틴이 요청될 수 있지만, 도 8 을 참조하여 상세화되는 한 세트 이상의 공통 특징을 가진다.
정확한 필렛은 루틴이 먼저 요청된 후에 반환된다. 전술한 루틴 (또는 연속적으로 유사한 루틴) 을 이용하는 것은 전술한 부분 패턴이 프로세스될 상시 작업 바디를 공통적으로 관찰함으로써, 유용한 것으로 증명한다. 임의의 순서대로, 먼저, 커플링 루틴은 라운드/필렛 영역을 결정하기 위해 요청되고, 다음으로 벽/계단 영역의 결정을 위해 요청되는 것이 바람직하다. 그러므로, 정확한 필렛은 가능한 어디든지 조사되고 다음으로 벽/계단 영역이 조사된다. 도 8 의 순서도를 참조하여 전술한 루틴이 상세화된다.
단단한 영역은, 필렛/벽/계단 영역이 발견되지 않는 영역에 있기 때문에, 그들은 다음에 처리되는 것이 바람직하다. 다음으로 상세한 코너 영역이 단계 280 에 생성된 것에 대해 산출된 경계에 따라, 하나 이상의 잔류 영역이 결정될 수도 있다 (단계 270).
다음으로, 도 6 을 참조하여, 새로운 루프가 단계 290 에서 시작한다. 검출된 각각의 필렛에 대해 (단계 240 참조), 예를 들어, 프로세스될 영역을 "확대" 하도록, 뉴턴 팹슨 (Newton-Faphson) 방법 등에 기초하여, 정확한 재수렴 방법이 사용된다 (단계 292). 다음으로, 페이스-페이스 필렛 오퍼레이터를 요청함으로써, 가능한 단계 (단계 294 내지 298) 마다 정확한 필렛 표면이 생성된다. 또한, 혼합 오퍼레이터가 요청된다 (단계 296).
대조적으로, 커플링 방법 (상기 단계 250 및 260) 을 통해 검출된 계단/벽 영역과 관련하여, 혼합 오퍼레이터가 직접 요청되고 (단계 300 및 310), 그로 인해 혼합 표면이 생성된다 (단계 304 및 314 에서).
이제 단계 280 에서 생성된 코너 영역에 관해서, 방법은: 먼저, 코너가 구 (sphere) 인지를 테스트하고, 구인 경우에, 구가 생성되거나 (단계 320 내지 324), 그렇지 않으면, 일반적인 충진 표면이 당업계에 알려진 바와 같이 생성된다 (단계 326).
순서대로 설명한다. 단계 296, 304 및 314 에 사용된 혼합 오퍼레이터와 관련하여: 경계 폴리라인은 3D 커브 (curve) 에 의해 근사되고, 다음으로, 3D 커브는 2D 커브를 산출하는 입력 바디 상에 투영된다. 다음으로, 혼합 오퍼레이터가 요청되어, 생성된 2D 커브 및 관련 지지 (involved support) 페이스를 입력으로 사용한다.
단계 326 에서 사용된 충진 오퍼레이터에 관하여, 3D 프로젝션 (projection) 에 유사한 2D 가 발생한다. 이 때, 혼합 표면 (단계 296, 304 또는 314) 또는 이전에 생성된 필렛 표면 (단계 298 참조) 의 경계부 (border) 이외에도, 생성된 2D 커브를 이용하여, 충진 오퍼레이터 (당업계에서는 오퍼레이터라 함) 가 호출되어, 평탄 표면이 생성되도록 한다.
만약 단단한 영역에 충진 방법을 사용하는 것이 너무 복잡하면, 국부적인 기하학적 형태의 특징에 따라 혼합 또는 충진 오퍼레이터를 요청하기 전에 단단한 영역이 세분될 수도 있다.
또한, 적절한 오퍼레이터가 표면 곡률 조절을 제공하도록 요청될 수 있다.
마지막으로, 도 7 을 참조하여, 최종 봉합의 일반 단계가 제공되는데, 단계 330 에서 루프가 시작하여, 각각의 이전에 생성된 표면에 봉합 루틴 (332) 을 트리거한다. 봉합 방법에 기초하여, 하나의 표면 이상이 압력 바디 상에서 동시에 봉합될 수 있다.
방법은 단계 340 에서 정지한다.
이제, 도 8 을 참조하여, 도 5의 단계 240, 250 및 260 에 요청된 커플링 루틴이 상세하게 설명된다.
각각 산출된 경계 Fi (단계 410) 에 대해 및 상기 경계 Fi 의 각 점 Pi,j (단계 412) 에 대해, 먼저 점 Pi,j 가 이미 이전에 결정된 임의의 커플에 포함되었는지를 테스트할 수도 있고, 이 경우에는 다른 커플링이 이 점에 대해 시도되지 않는다. 또한, 상기 경계 Fi (단계 416) 와 상이한 경계 Fk 각각에 대해, 및 경계 Fk 의 각 점 Pk,l (단계 418) 에 대해, fm 이 사용된 함수가 현재 시도중인 커플링의 타입에 의존하는 값 yi,j,k,l = fm (Pi,j , Pk,l) 이 단계 420 내지 422 에서 산출된다. 예를 들어, 제 1 함수 f1 은 루틴이 단계 240 (필렛 영역 검출) 에서 호출될 때, 제 2 함수 f2 는 단계 250 (계단 영역 검출) 에서 호출될 때, 또는 제 3 함수 f3 은 단계 260 (벽 영역 검출) 에서 호출될 때, 사용될 수도 있다.
다음으로, 산출된 yi,j,k,l = fm (Pi,j , Pk,l) 가 임의의 "능력 (admissibility)" 조건을 충족시키는지 (단계 422) 를 테스트하는 것이 바람직하다. 먼저, 각각의 Pi,j , Pk,l 에 기초하여, 현재 고려되고 있는 커플이 필렛, 라운드, 계단 또는 벽 영역에 속해 있는지를 결정하고, 그렇게 하여 이것을 후보로서 유지할 수도 있으며, 그렇지 않은 경우 거부할 것이다. 또한, 계단형 단면에 대한 추가적인 능력 조건의 예로서, 평균적인 라운드/필렛 반경의 두 배 이상의 크기를 가진 계단에 대한 점은 명백한 기하학적 이유에 의해, 커플링에 대한 가능한 후보로서 폐기된다. 유사한 능력 조건은 두 가지 타입 영역 모두에 사용된다. 또한, 상기 능력 조건은 yi,j,k,l = fm (Pi,j , Pk,l) 가 계산되기 전에 산출될 수 있다.
다음으로, 각각의 산출된 yi ,j,k,l-1 및 yi ,j,k,l (단계 420 내지 426) 는 조건 Cm (예를 들어, 후술되는 바와 같은 단계 424 에서 사인 변경) 을 만족하는 하나의 혹은 그 이상의 특정 커플 (Pk ,l-1*, Pk ,l*) 이 저장되며 (단계 426), 여기서 Cm 은 fm' 에 관하여 현재 시행 커플링에 의존한다. 조건 C1, C2 또는 C3 은 각각 단계 240, 250 및 260 에 사용된다.
복수의 커플 (Pk ,l-1*, Pk ,l*) 이 단계 426 에서 조건 Cm 을 충족시키기 위해 발견되는 경우에, 먼저 어느 다른 조건 Cs1 에 따라, 보다 특별한 커플 (Pk ,l-1**, Pk,l**) 이 선택될 수도 있다 (단계 430). 다음으로, 보다 특별한 점 Pk ,l*** 의 선택은 조건 Cs2 (단계 430 내지 432) 에 따라 선택될 것이다 (예를 들어, l*** = l-1** 또는 l**). 비록 Cs1 및 Cs2 가 점의 커플 사이의 계단 (Pk ,l-1, Pk ,l) 이 충분히 작은 것이 제공된, 단일의 임의의 선택으로 감소되더라도, 루틴은 적절하게 수행될 수도 있다.
그렇지 않으면, 마지막으로 선택된 점 Pk ,l*** 은 (이전의 조건 Cm 이외에도) 조건 Cs 을 충족하여 획득된 것으로 간주될 수도 있으며, 여기서 Cs 는 Cs1 및 Cs2 (특히, 복수의 커플 (Pk ,l-1*, Pk ,l*) 이 발견될 때) 를 포함한다.
마지막으로, 커플 Pi ,j, Pk ,l*** 이 단계 434 에 저장된다.
다음으로, 단계 410 에서 시작된 루프가 종료될 때, 연속적인 말단 점 (예를 들어, 커플을 형성하는 점들) 가진 점의 커플은 동일한 그룹 (group) 에 속함으로써 식별되고 (단계 440) 표시되어, 경계의 부분이 한 쌍이 됨으로써, 영역이 형성된다.
루틴은 단계 450 에서 종료한다.
명백히, 경계 Fi, Fk 또한 점 (Pi,j, Pk,l) 의 모든 커플이 앞선 루틴에 고려되는 것이 필요한 것은 아니다. 더 정확히 말하면, 적절하게 커플이 되는 어떤 기회도 갖지 않는 커플을 폐기하도록, 선택되는 다른 조건에 따라, 예를 들어 거리 기준에 의해, yi,j,k,l = fm (Pi,j , Pk,l) 의 산출이 제한되는 것이 바람직하다.
커플링 루틴에서 전술한 방법을 수행하는 것은 자동적으로 "정확한" 필렛, 계단 및 벽 영역을 회복하는 것을 가능하게 한다.
다음에서, 도 8 의 커플링 루틴을 요청할 때 사용된 함수 fm 및 조건 Cm 은 도 13a 내지 도 13d 에 관련하여 논의된다.
도 13a 내지 도 13d 는 (단계 230 으로부터 결정된 바와 같이) 경계 Fi 및 에지 (70) 을 갖는 작업 바디 (10) 를 나타낸다. 특히, 작업 바디는 계단형 단면 (72), 벽형 단면 (74) 및 "단단한" 영역 (여기서 코너) (76) 을 나타낸다.
예를 들어, 도 13a 내지 도 13c 는 단계 240 로부터 요청될 때, 즉, 정확한 필렛 인식을 위해 커플링 루틴 (도 8 의 단계 410 내지 450 참조) 에서 이용된 특정 함수 f1 및 조건 C1 을 설명한다. 명확성을 위해 단지 2 개의 경계 F1 및 F2 만을 나타낸다.
먼저, 이 구체적인 실시형태에서, 달성되는 이론적인 결과를 설명한다. 이를 위해, 이 점에서 경계 F1 을 포함하는 페이스에 인접하는, 상기 점 P1,1 에 대한 "볼록한" (내부) 구 (111) 및 경계 F1 의 주어진 점 P1,1 을 고려하자. 명확한 경계 (이 경우: F2) 를 위해, 커플링에 대해, 대략 동일한 볼록부 구 조합을 가진 후보 점 P2,l-1,P2,l 등이 조사된다. 예를 들어, 도 13a 에서, 점 P2,1 에 인접한 볼록 구 (121) 가 놓여 진다. 구 (111) 및 구 (121) 가 주어진 허용 오차와 잘 일치하지 않기 때문에, 점 P2,1 은 커플링에 대한 가능한 후보로서 폐기된다. 반대로, 도 13b 에서, 점 P2,1’에 놓인 구 (121’) 는 구 (111) (차이는 도 13b 의 스케일에서 나타나지 않는다) 와 일치하는 구를 실제로 산출한다. 그러므로, 점 (104) 은 커플링을 위한 가능한 후보로서 유지될 수 있다.
이를 달성하기 위해, 도 13c 를 참조하여 가능한 실질적인 수행을 뒤에 설명한다. F1 의 주어진 점 P1,1 에 대해서는 값 y1,1,2,l = f1(P1,1, P2,l) 이 산출되고, 경계 F2 의 각 점 P2,l (l = 1,2,3,...), (예를 들어, P2,1 및 P2,2) 에 대해서는 전술한 바와 같다. 함수 f1 를 스칼라 곱으로서 선택할 수도 있으며,
f1(Pi,j, Pk,l) = (ck,l - ci,j)·(ni,j^nk,l), 여기서 ni,j 는 점 Pi,j 페이스에 수직한 벡터 (vector) 이며, ci,j 는 점 Pi,j 에 접하는 구 (도 13c 에서 1ij = 111, 121, 122) 의 중심을 지시하는 벡터이다. 이러한 벡터는 점 Pi,j 의 위치의 숙지로 인해 전체적으로 정의된다. 특히, ni,j 는 Pi,j 에서 산출된 페이스의 기울기로부터 파생된다. 그러므로, f1(Pi,j, Pk,l) 을 인지하는 것은 이론적으로 일치하는 점 Pk,matching 에서 정확히 0 (zero) 이며, 조건 C1 은 다음과 같이 선택될 수도 있다.
Sign(f1(Pi,j, Pk,l-1)) ≠ Sign(f1(Pi,j, Pk,l))
도 13c 에서, 점 P2,1 및 P2,2 은 점 P1,1 에 관하여, 상기 조건 C1 을 충족한다. 그러므로, 앞의 단계 428 에 따라, 특별한 커플 (P2,1, P2,2) 은 저장된다. 유사한 동작이 경계 F1 의 각각의 점 P1,j 에 대해 수행된다. 이미 커플에 포함된 점은 재산출되지 않고 단지 이웃 경계 Fk 가 테스트된다. 유사한 동작이 오목구에서 수행된다.
단계 240 이후에 커플링 루틴의 완성에서, 상태는 도 13d 에서 개략적으로 도시된다. 정확한 필렛은 도면부호 (90) 에 의해 표시된다. 이 도에서 보여지는 바와 같이, 정확한 (구를 기반으로 한) 커플링이 이러한 영역에서 가능하지 않은 것처럼, 정확한 펠렛은 계단 영역 (72), 벽 영역 (74) 및 "단단한" 영역 (76) 에 대해 생성되지 않았다.
계단 및 벽 영역을 고려하면, 함수 f2 = f3 가 다음과 같이 선택될 수도 있으며:
f2 /3(Pi ,j, Pk ,l) = (Pk ,l - Pi ,j)·(τk,l - τi,j),
여기서 τi,j 는 점 Pi,j (τi,j 및 τk,l 이 반대 방향에 선택됨) 에서, 경계 Fi 를 따라, 고려된 페이스에 접하는 벡터이다. 앞서 설명된 바와 같이, τi,j 및 τk,l 은 Pi,j 및 Pk,l 로 부터 알게 되어, Pi,j 및 Pk,l 에 따른 의존성을 내포한다. 이 경우에 유용한 조건 C2/3 은 앞선 경우와 같이, 다음과 같다.
Sign(f2/3(Pi,j, Pk,l-1)) ≠ Sign(f2/3(Pi,j, Pk,l))
비록 f2 = f3 및 C2 = C3 일지라도, 도 13e 에 도시된 바와 같이, 계단 및 벽에 고유한 기하학적 형태는 특성이 상이한 커플링에 이르게 한다. 단계 250 및 단계 260 이후의 커플링 루틴의 완성시, 상태는 도 13e 에 도시되고, 계단 영역 (92) 및 벽 영역 (94) 이 커플링된다.
아직, 남아있는 단단한 영역 (76) 에 대한 특정 처리가 수행된다 (전술한 단계 320 내지 단계 326 참조).
본 발명을 달성할 수 있는, 결과의 교시예로서, 도 14a 및 14b 는 다양한 에지 부분을 나타내는 작업 바디 (10) 의 처리의 결과를 나타낸다. 날카로운 에지 (70) 는 다양한 페이스의 한계를 정한다. 도면부호 72, 74 및 76 는 단계, 벽 및 코너 영역을 각각 표시한다. 이 예에서는, 페이스 (16) 가 필렛 페이스로서 구체적으로 선택되지 않고 슬리버 옵션이 벽형 단면 (74’) 에 대해 선택된다.
전술한 방법을 수행하는 것은 도 14b (변형이 강조되도록 차원이 유용하게 선택된다) 에서 도시된 바와 같이 변형된 작업 바디를 가져온다. 특히, 상기 이용된 전문용어에 따라, 필렛 영역 (12) 및 라운드 영역 (14) 에 대해서는 "정확한 커플링" 표면 재산출이 유리하다. 또한, 계단 및 벽 영역 (각각의 142 및 145) 에 대해서는 혼합-오퍼레이터가 유리하여 (혼합 오퍼레이터가 요청된 단계 152 참조), 반면에 몇몇의 코너 영역 (140) 은 구 표면의 일부분에 의해 근사되었으며, 단단한 코너 영역에 대해서는 앞서 논의된 충진 오퍼레이터에 의해 150 에서 채워졌다.
또한, 슬리버로서 선택된 벽형 단면 (74’) 에 대해서는 정확한 필렛 표면 재산출 (148; "정확한-커플링") 이 유리하며, 따라서 원격 페이스는 구의 충돌을 통해 테스트된다. 그러므로, 도시된 바와 같이, 148 에서의 라운드 반경은 라운드 (14) 에서 이용된 것과 동일한 것이다. 또한, 선택된 페이스 (16) 는, 인접 페이스의 표면 재산출으로 인해 부분적으로 에칭되었더라도 프로세스되지 않았다.
이후에, 변형된 표면은 입력 바디 (10) 에 봉합된다.
본 발명은 도형을 참조하여 설명된 바람직한 실시형태에 한정되지 않는다. 특히, 본 발명은 본 발명에 따른 방법을 수행하는 컴퓨터 프로그램에도 관련된다.
또한, 사용된 3 차원 기하학적 도형은 소망하는 애플리케이션에 기초하는, 다양한 기하학적 형태를 포함할 수도 있다. 예를 들어, 이것은 뿔 또는 그 일부분을 포함할 수도 있다. 그러므로, 본 발명의 방법에 따르면, 3 차원 도형의 교점을 나타내는 데이터를 결정 및 저장하는 단계에서, 상기 뿔은, 뿔의 충돌에 대해 현재 테스트되고 있는 모자이크식 점을 터치하고 그 페이스에 접하는, 하나의 페이스 상에 놓여 질 수 있다. 이 뿔에는, 상기 각이 뿔의 메인 축에 따른 거리 r 을 취하는 구 좌표 내에 통상의 쎄타 (theta) 및 파이 (phi) 에 관련된, 특정 경도 및 위도 각이 주어질 수 있다. 또한, 이러한 각은 사용자가 선택할 수 있다. 따라서, 드래프트 (draft) 패턴이 작업 바디 상에 획득될 수 있다. 또한, 뿔을 사용하는 것이 특정 논의된 특징에 대해 모순이 없는 한, 앞서 언급된 많은 이점들이 제공된다.
또한, 비록 여기 앞서 설명된 절차 및 방법이 간단한 방법으로 설명되었지만, 알고리즘 효율성을 고려한다면 개선을 생각할 수도 있음은 자명하다.