2014-04-28 8 views
1

여러 개의 그리드 요소에 걸쳐있는 삼각형을 여러 삼각형으로 나누는 알고리즘이 있습니까?삼각형을 그리드로 삼각형으로 그리다

저는 7x3 개의 작은 삼각형으로 분할 된 2x2 격자에 삼각형의 진부한 손으로 그린 ​​그림을 포함 시켰습니다.

Before and after

+0

격자를 기준으로 삼각형을 분할 할 수 있습니까, 아니면 문제의 일부입니까? 일단 그것을 쪼개면 볼록한 다각형의 집합이 남게됩니다. 그들은 convex이기 때문에 삼각형으로 쪼개기 쉽습니다. –

+0

그게 문제입니다. 특정 분할에서 볼록한 다각형을 기대할 것입니다. 그러나 삼각형으로 볼 수 있습니다. – voodoogiant

+0

답변을 추가 했으므로 라인 간 교차를 계산하는 방법을 알고 있습니다. – Spektre

답변

0

나는 이런 식으로 참조 :

  • 귀하의 삼각형은 3 선이 다각형
  • 점의 순서는 당신이 감기 부여합니다 규칙 (CW 또는 CCW)

1 닫혀 모든 행을 격자 선으로 자름

  • 하지만 여전히
  • 몇 라인에

2.split 다각형 권선 변경하지 않는 하나의 다각형으로 삼각형을 남겨은

를 나열
  • 단지 그룹 함께 같은 그리드 셀에 속하는 모든 라인
  • 모든 포인트가 셀의 안쪽 또는 가장자리에 있으므로
  • 감기가 변경되지 않습니다 !!!

3.convert 라인은 실제 목록에있는 라인에 합류하는 경우

  • 그것을
  • 계속 폐쇄 다각형의 방향으로 첫 번째 줄 목록에서 첫 번째 줄에

    • 시작을 나열 그렇지 않으면 동일한 감기 방향으로 세포 가장자리 선을 계속하십시오
    • 다른 선 점 또는 세포 구석을 명중 할 때까지
    • 닫을 pol까지 이것을 반복하십시오 ygon이 같은 방법으로
    • 프로세스를 다른 세포가

    4.now 당신이 볼록 다각형의 목록을 닫았) (이미 사용 라인/포인트를 히트)이 셀을 형성

    • 그래서 그냥 분할 트라이앵글
    • (삼각형 팬)

    triangle to grid