기금넷 공식사이트 - 복권 조회 - 추진 파면법
추진 파면법
추진 파면 방법의 기본 아이디어는 세분 치수에 따라 경계를 정렬된 세그먼트로 분리한 다음 경계에서 시작하여 경계 세그먼트를 삼각형의 한 면으로, 경계점과 내부 점에서 적절한 점을 찾아 삼각형을 형성하고 삼각형 정점이 가장 큰 점을 최종 정점으로 선택하는 것입니다. 이미 삼각형을 형성한 경계 세그먼트를 경계 체인 테이블에서 제거하여 새 경계를 형성합니다. 삼각형이 경계를 제외한 양쪽에 삼각형이 있을 때까지 이 과정을 반복합니다. 알고리즘을 더 잘 설명하기 위해 몇 가지 용어가 있습니다.
3.3.1..12d AFT 메서드 용어 정의
(1) 재분할 필드: 나눌 영역입니다. 재분할 필드 (영역의 기하학적 설명) 를 올바르게 정의하는 것은 메쉬가 정상적으로 생성되기 위한 필수 조건입니다. 재분할 필드는 일련의 직접 경계 곡선으로 둘러싸인 연결된 필드이며 각 경계 곡선은 단순한 닫힌 곡선이어야 합니다. 일반적으로 하위 영역의 외부 경계는 시계 반대 방향으로, 내부 경계는 시계 방향으로 배열됩니다.
(2) 경계 ω: 분할되지 않은 모든 영역의 경계 세그먼트와 끝점의 집합은 ω를 구성합니다. 전방에는 활성 전선 (ω 1) 과 비활성 전선 (ω2) 이 포함됩니다. 여기서 활성 전선은 현재 추진되고 있으며 비활성 전선은 일시적으로 추진되지 않습니다.
(3) 선택한 경계 s: 선택한 경계 s 는 ω 의 요소입니다. S 의 선택은 메쉬 생성 전략에 따라 달라집니다. 생성된 메쉬의 크기 전환을 보장하기 위해 작은 크기 단위의 우선 생성을 보장하기 위해 일반적으로 가장 작은 선단을 S 로 선택하고, 프로그램 구현을 용이하게 하기 위해 전면에서 후면으로 한 요소를 선택의 선단 S 로 선택합니다.
3.3. 1.2 알고리즘 요령
(1) 적절한 데이터 구조를 선택하여 점, 모서리, 삼각형 간의 관계를 설정하고 저장점, 모서리, 삼각형의 연결된 목록을 설정합니다.
(2) 적절한 운전 모드를 선택하십시오. 웨이브 확장이 삼각형 기반 모서리인 경우 모서리의 수와 방향을 고려해야 합니다. 영역 경계에 있는 모든 모서리는 1 회만 사용해야 하고 영역 내부에 있는 모든 모서리는 두 번만 사용해야 합니다 (양의 방향은 각각 1 회, 반전은/kloc-0) 따라서 초기 상태에서 경계 모서리의 사용 횟수는 1 으로 할당되고 내부 모서리의 사용 횟수는 0 으로 할당되어야 합니다.
(3) 가장자리 기반 웨이브 형상 확장은 한 가장자리를 삼각형의 가장자리로 만든 다음 점 세트에서 적절한 정점을 찾아 삼각형을 구성하는 프로세스입니다. 찾은 점은 새로 형성된 모서리와 결과 모서리가 교차할 수 없다는 요구 사항을 충족해야 합니다. 모든 모서리는 사용 요구 사항을 충족해야 합니다 (경계 모서리는 한 번, 나머지 모서리는 두 번). 새 정점 및 모서리 (방향 포함) 에 의해 형성된 삼각형 영역은 0 보다 커야 합니다. 최대 정점 각도를 확인합니다.
3.3. 1.3 알고리즘 및 프로그램 코드
평면 영역의 AFT 방법에는 세 가지 주요 단계가 있습니다. 즉, 세분 영역 내에 점을 배치하고, 세분 영역 경계를 불연속화하고, 추진선 앞에 삼각형을 생성하는 것입니다.
3.3. 1 레이아웃
점 배치는 삼각형 셀의 각 변의 대략적인 길이를 기준으로 세분화 영역 내에 일련의 흩어진 점을 생성합니다. 가장 일반적인 방법은 재분할 경계의 끝점에 있는 x, y 좌표의 최대값 및 최소값을 기준으로 재분할 필드가 포함된 직사각형을 생성하는 것입니다. 재분할 필드의 경계 상자라고도 합니다. 그런 다음 사각형에 점을 생성하는 가장 쉬운 방법은 바둑판 모양의 일련의 점과 정삼각형을 생성하는 일련의 점을 생성하는 것입니다. 일련의 점을 생성한 후 해당 점이 영역 내에 있는지 여부를 결정하고, 그럴 경우 레이아웃이 필요한 데이터 포인트입니다. 그렇지 않으면 삭제됩니다. 또한 일부 점이 영역 내에 있지만 경계에 너무 가까우면 여전히 삭제된다는 점에 유의해야 합니다. 그림 3.9 에서 (a) 는 재분할 필드이고 (b) 는 정삼각형 점 배치의 결과입니다.
그림 3.9 평면 영역 내의 점 분포
3.3. 1.3.2 이산경계
불연속경계는 그림 3. 10 과 같이 경계를 구분 비율이나 삼각형 셀의 각 변의 대략적인 길이에 따라 정렬된 세그먼트로 나누는 것입니다. 이는 점 배치 후 불연속 경계의 결과입니다.
그림 3. 10 이산경계
3.3. 1.3.3 삼각형 생성
삼각형의 가장자리를 기준으로 웨이브 확장을 통해 삼각형을 생성합니다. 즉, 삼각형의 가장자리가 전진 파면입니다. 주요 프로세스에는 다음 네 가지 작은 단계가 있습니다.
1: 점 세트 PS 및 모서리 세트 ES 를 작성합니다. 초기 점 세트 PS 에는 배치된 모든 데이터 점과 불연속 경계가 있는 작은 세그먼트의 끝점이 포함됩니다. 초기 모서리 세트 ES 에는 불연속 경계가 있는 방향 세그먼트만 포함됩니다. 이 시점에서 모서리 세트 ES 는 프론티어 ω입니다.
두 번째 단계: 가장자리 세트 ES 의 가장자리 Ei 를 기준으로 정점 Pi 를 검색합니다. 즉, Ei 를 선택의 경계 S 로 선택하고, 이 점을 정점으로, 이 가장자리를 가장자리로 하여 삼각형을 구성합니다. Ei 의 끝점을 A 와 B 로 설정하고, 선택할 모든 Pi 와 Ei 에 의해 형성된 각도는 "∠APiB" 입니다. 정점 각도를 가장 큰 것부터 가장 작은 것까지 정렬하고 해당 정점 Pi 와 Ei 를 차례로 선택하여 삼각형을 형성합니다. 형성된 삼각형이 다음 조건을 충족하면 새 삼각형이고 Pi 가 적절한 정점입니다. ① 새로 형성된 삼각형의 가장자리는 생성된 가장자리와 교차할 수 없습니다. ② 모든 가장자리는 사용 횟수의 요구 사항을 충족해야합니다. ③ 새 정점과 가장자리 (방향 있음) 로 형성된 삼각형 면적은 0 보다 커야 한다. 그렇지 않은 경우 다음 정점을 선택합니다.
3 단계: 적합한 정점을 찾은 후 새 정점이 선택한 전면 가장자리 S 의 끝과 연결된 가장자리 (가장자리 Ei) 를 가장자리 세트에 추가하고, 새 전면 가장자리 ω 요소를 생성하고, 새로 형성된 삼각형을 삼각형 세트에 추가하고, 원래 선택한 전면 가장자리 S 를 제거하고, 가장자리 세트 e S 의 다음 가장자리를 선택한 전면 가장자리 S 로 선택합니다 .....
4 단계: 2 단계와 3 단계를 반복하여 모든 가장자리가 사용 요구 사항을 충족하면 루프가 끝납니다. 그림 3. 1 1 에서 (A), (B), (C) 는 루프의 한 단계, 두 단계 및 여러 단계 후에 형성된 삼각형으로, 루프가 끝날 때 얻은 삼각망은 그림 3./KLOC 입니다.
그림 3. 1 1 최첨단 진행 과정
삼각 측량 후 그림 3. 12
VC++ 환경에서 영역 외부 경계만 고려할 때 AFT 의 전체 코드는 다음과 같습니다. CreateIn-nerPoint(CSurf* surf) 함수를 사용하여 세분화 영역 내에 내부 점을 배치하면 결과는 전역 변수 m _ anonymous 에 저장됩니다. CreateBoundaryPoint(CSurf* surf) 는 경계를 이산화하는 데 사용됩니다. 경계가 불연속화되면 경계 세그먼트는 m_aLine 에 초기 추진 선단으로 저장되고 세그먼트 끝점은 m_bNode 변수에 저장됩니다. 함수 CreateTrgls(CSurf* surf) 는 추진 배열을 사용하여 삼각형 메쉬를 생성합니다. 메쉬의 노드와 셀은 각각 pNodes 및 pTrgls 멤버에 저장됩니다.
3d 지질 모델링 방법 및 프로그램 구현
3d 지질 모델링 방법 및 프로그램 구현
3d 지질 모델링 방법 및 프로그램 구현
3d 지질 모델링 방법 및 프로그램 구현
3d 지질 모델링 방법 및 프로그램 구현
3d 지질 모델링 방법 및 프로그램 구현
3d 지질 모델링 방법 및 프로그램 구현
CreateTrgls () 함수에서 호출되는 SearchID () 함수는 surf-> pnodes 정점 세트에서 점 id 를 검색합니다. CountCos () 함수는 세그먼트/가장자리 검색 정점을 계산하고 삼각형을 형성할 때 정점의 각도에 대한 코사인을 계산하는 데 사용됩니다. SameLine () 함수는 두 선/가장자리가 같은지 여부를 결정하는 데 사용됩니다.
3.3. 1.4 제약 처리
영역 삼각측정의 구속은 분할할 영역에 특정 점이나 선이 있음을 의미합니다. 이를 점 구속 또는 선 구속이라고 합니다. 여기서 구속점은 분할 메쉬의 정점이어야 하고, 구속선은 삼각형 메쉬의 모서리 집합이어야 하며, 삼각형이 구속선과 교차하는 경우는 없습니다.
3.3. 1.4. 1 점 제약 처리 방법
점 구속조건의 처리는 매우 간단합니다. 결과 점 세트에 구속점을 직접 추가한 다음 구속점과 매우 가까운 점을 삭제하고 구속되지 않은 방식으로 삼각측량합니다.
3.3. 1.4.2 선 제약 처리 방법
세분화할 영역에 선 구속조건이 있는 경우 모든 선 구속조건은 경계로 간주됩니다. 삼각측량하기 전에 구속선은 일정한 비율로 순차적으로 연결된 세그먼트로 분리되며, 각 세그먼트는 삼각형 메쉬의 모서리로 사용됩니다. 그런 다음 구속된 선 모서리의 사용 횟수를 0 으로 설정하고 원래 모서리 세트에 추가한 다음 구속되지 않은 방식으로 구속된 삼각망 작업을 완료합니다. 그림 3. 13(a) 은 선 제약으로 구분된 영역을 보여 주고 그림 3. 13(b) 은 제약된 그리드를 보여 줍니다.
그림 3. 13 구속 삼각 측량의 예