원하는 입력 및 출력에 대해 좀 더 자세히 설명합니다. 도움이 될 수 있습니다.
예를 들어, 삼각형으로 다각형을 가져 오려고하는 경우 삼각형 팬이 작동 할 수 있습니다. 다각형을 작은 조각으로 자르려고한다면 어떤 종류의 행진 사각형을 구현할 수 있습니다.
좋아, 나는 나쁜 가정을했다. 나는 행진하는 사각형이 행진하는 큐브에 더 가깝다고 생각했다. 그것이 완전히 다른 것이었고, 나는 전혀 의미하지 않았습니다. : |
질문에 직접 대답하기 위해, 나는 당신이 찾고있는 것을하는 간단한 라이브러리를 모른다. 나는 CGAL의 유용성에 동의한다.
내가 생각했던 알고리즘은 기본적으로 선이 그리드 인 선으로 다각형을 분할하는 것이므로 대부분 사각형을 얻습니다. 다각형 선 교차점이 있다면 구현이 간단합니다. 이 문제를 제기하는 또 다른 방법은 2 차원 다각형을 함수처럼 취급하고 점의 격자를 겹쳐서 표시하는 것입니다. 그런 다음 큐브를 행진하는 것과 비슷한 작업을 수행하십시오. 모든 4 점이 다각형에 있으면 쿼드를, 3은 삼각형을 만들고 2는 사각형을 만듭니다. 아마도 과장 될 수 있습니다. 약간 불규칙한 모양의 폴리곤을 원한다면 격자 점의 위치를 임의로 지정할 수 있습니다.
반면에 catmull-clark 스타일 하위 분할을 수행 할 수는 있지만 스무딩을 생략하십시오. 알고리즘은 기본적으로 중심점과 각 모서리의 중간 점에 점을 추가합니다. 그런 다음 원래 다각형의 각 모서리에 대해 모서리, 모서리, 다음 모서리 중간 점 및 중심점 이전에 모서리 중간 점을 연결하는 새로운 작은 다각형을 만듭니다.이렇게하면 공간이 바뀌고 입력 된 다각형과 비슷한 각도를 갖게됩니다.
많은 옵션이 있으며 브레인 스토밍 솔루션이 마음에 들지만 아직까지 어떤 용도로 사용할 것인지 잘 모릅니다. 파괴적인 메쉬를 만드는 것입니까? 더 작은 요소가 필요한 메쉬 처리를하고 있습니까? Gouraud 음영 유물을 피하려고? 사전 프로세스 또는 실시간으로 실행되는이 프로그램입니까? 정확성은 얼마나 중요합니까? 더 많은 정보를 얻으면 더 좋은 제안을 얻을 수 있습니다.
이 3D 또는 2D입니까? – GManNickG
@Gman : 2D ----- – mpen