문제

내가 찾는 알고리즘이나 라이브러리(나)나누는 다각형으로 삼각형입니다.내가 사용하는 것이 삼각형에 Direct3D 응용 프로그램.어떻게 사용할 수 있는 옵션?

여기에 나는 지금까지 발견:

  1. 벤 Discoe 의 notes
  2. 주먹:빠르고 강력 삼각형의
  3. 내가 알고 있는 CGAL 제공하는 삼각만 지원하는 경우에는 구멍이 있습니다.

정말 감사하겠 일부 의견 사람들이 사전 경험을 가진 지역에 있습니다.

편집:이 2D polygon.

도움이 되었습니까?

해결책

조나단 시우 쿠크 삼각형 라이브러리 경이 롭다. 나는 과거에 삼각 측량을 자동화하는 데 사용했습니다. 작고 좁은 삼각형 등을 피하려고 시도 할 수 있으므로 삼각 측량 대신 "좋은"삼각형을 생각해냅니다.

다른 팁

을 줄 당신은 좀 더 많은 선택의 라이브러리는 거기:

Polyboolean.나는 해본 적이지만,그것은 유망 보인: http://www.complex-a5.ru/polyboolean/index.html

일반적인 다각형을 시작합니다.이 하나의 작품을 실제로 아주 잘는 삼각뿐만 아니라 클리핑 및 구멍 구멍: http://www.cs.man.ac.uk/~toby/alan/소프트웨어

나 개인적인 권장 사항:를 사용하여 다듬기에서 글루(OpenGL Utility 라이브러리).코드가 단단한 바위보다 더 빨리,GPC 생성 더 적은 삼각형입니다.당신이 필요하지 않 초기화 OpenGL-을 처리 또는 아무것도 사용하려면 이 lib.

좋아하지 않는 경우에 당신은 아이디어를 포함하 OpenGL 시스템 라이브러리에서 DirectX 응용 프로그램이 있는 솔루션을 뿐만 아니라:다운로드 SGI OpenGL 참조 코드를 구현 및 리프트 triangulator 습니다.그것은 단지 사용 OpenGL-Typedef 이름과 손의 전체 열거.그것입니다.추출할 수 있는 코드고 독립형 lib 에서 두 시간.


에서 일반적인 내한 조언 것을 사용하는 무언가를히 서로 작동하지 않는 시작을 자신의 삼각.

그것은 유혹하고 자신의 롤을 읽어야 하는 경우에 대해 귀-클리핑 또는 쓸 줄 알고리즘,하지만 사실은 알고리즘 전산기하학은 놀라운드에서 쓰는 방식으로 작동 안정적이,충돌하지 않고 항상 반품이 의미 있는 결과입니다.수치는 반올림 오류를 축적하고 죽습니다.

나는 삼각 알고리즘에서는 C 에 대한 회사입니다.을 받고 핵심을 알고리즘 작업했습니다.그것을 얻는 모든 종류의 작업을 퇴화 입력했다는 또 다른 두 개의 년(I 작동하지 않는 풀 타임에서 그것은,그러나 신뢰-나는 그것에 더 많은 시간을 보냈다 내가 있어야합니다).

CGAL에는 필요한 도구가 있습니다.제한된 삼각 측량

다각형의 경계를 단순히 구멍의 경계 (구멍의 경계를 흡수)를 제약으로 제공 할 수 있습니다 (가장 좋은 것은 모든 정점을 삽입 한 다음 제약 조건을 vertex_handles의 쌍으로 지정하는 것입니다).

그런 다음 트래버스 알고리즘으로 삼각 측량의 삼각형을 태그 할 수 있습니다. 당신이 이전에 삼각형을 태그로 지정하고 있다면 외부에서 외부인으로서의 삼각형.

나는 Poly2TRI 라이브러리가 삼각 측량에 필요한 것임을 알았습니다. 내가 시도한 다른 라이브러리 (libtess 포함)보다 훨씬 깨끗한 메쉬를 생성하며 구멍도 지원합니다. 그것은 많은 언어로 변환되었습니다. 라이센스는입니다 새로운 BSD, 따라서 모든 프로젝트에서 사용할 수 있습니다.

Google 코드의 Poly2Tri 라이브러리

구멍을 비교적 쉽게 추가 할 수 있습니다. 기본적으로 CGAL에 따라 입력 지점의 볼록 선체로 삼각화 된 다음 구멍 다각형 (또는 외부 경계 외부) 내부에 인센티브가있는 삼각형을 삭제합니다. 대형 데이터 세트에서 많은 구멍을 다룰 때 마스킹 기술을 사용 하여이 프로세스를 크게 속도로 빠르게 할 수 있습니다.

편집 :이 기술의 일반적인 확장은 선체의 약한 삼각형을 잡초시키는 것입니다. 가장 긴 가장자리 또는 가장 작은 내부 각도는 주어진 값을 초과합니다. 이것은 더 나은 오목한 선체를 형성 할 것입니다.

libtess2를 시도하십시오

https://code.google.com/p/libtess2/downloads/list

원래 SGI Glu Tesselator (자유 라이센스 포함)를 기반으로합니다. 많은 작은 mallocs 주변에서 일부 메모리 관리 문제를 해결합니다.

이것은 유한 요소 분석에서 일반적인 문제입니다. "자동 메쉬 생성"이라고합니다. Google이 발견되었습니다 이 지역 상용 및 오픈 소스 소프트웨어에 대한 링크. 그들은 보통 지오메트리의 일종의 CAD 표현을 시작할 것으로 가정합니다.

또 다른 옵션 (매우 유연한 라이센스 포함)은 VTK에서 알고리즘을 포트하는 것입니다.

vtkdelaunay2d

이 알고리즘은 상당히 잘 작동합니다. 직접 사용하는 것이 가능하지만 VTK에 대한 링크가 필요합니다. VTK에 대한 링크는 원하는 것보다 더 많은 오버 헤드를 가질 수 있습니다 (다른 많은 멋진 기능도 있지만).

그것은 제약 조건 (구멍/경계/등)을 지원할뿐만 아니라 반드시 XY 평면에있는 표면을 삼각화합니다. 또한 다른 곳에서 보지 못한 몇 가지 기능을 지원합니다 (알파 값에 대한 메모 참조).

3D 다각형을 구현했습니다 삼각형 이어 클리핑 방법을 사용하여 C#에서. 사용하기 쉽고 구멍을 지원하며 수치 적으로 강력하며 Aribtrary (자체 상호 작용하지 않음) 볼록/비 컨버드 다각형을 지원합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top