2010-06-04 1 views
1

나는 이미지의 체인 주어진 ... 다각형 체인 - 형태를 유지하면서 비 교차로 변환 하시겠습니까?

alt text

... 다음과 같은 다각형 체인을 가지고, 나는하지만 교차하지 않고 같은 모양을 정의 체인을 계산하는 방법에 대한 갈 것이라고하는 방법 경로?

구체적으로는, 화상의 입력 쇄의 경우는 원하는 결과는 다음과 같다 :

A1,
A2,
교차 A2 내지 를 A3,
사이의 교차점 A3A4,
A4,
A5,
교차 A4
,
A3,
이 교차 A2,
A6 A3 내지

I A3 내지 멍청이를 찾고 있어요. 어떤 체인을 위해 이것을 달성하기 위해 orithm을 사용하지만, 내가하려고하는 것이 심지어 불려지는지 확신 할 수 없다. 이것은 솔루션을 찾기가 까다 롭다.

내가하려는 일에 대한 이름이 있다면 그것을 아는 것이 큰 도움이 될 것입니다.

도움 주셔서 감사합니다.

+0

귀하의 질문을 생산할 것이 알고리즘을 실행하는 예를 들어

은 매우 명확하지 않다. 출력물을 기대하는 것에 대한 그림을 제공해 주시겠습니까? 또한 정확히 같은 shape_ 무엇을 의미합니까? 모양이 경로에 대해 잘 정의되어 있지 않은 것처럼 보입니다. –

+0

@Moron,하지만 제가 찾고있는 * 정확한 * 출력을 나열했습니다 - 연결된 이미지에 컨텍스트가 나열되어 있습니다. –

+0

Nick! 편집 해 주셔서 감사합니다. 내가 이미지를 삽입 할 수 있다는 것을 알았어 야했다. –

답변

3

는 여기에 간단한 알고리즘이다 :

for each line segment in the chain: 
    Identify any segments which cross this segment 
    If crossings > 0 
     Follow the branch to the right, if this doesn't lead back to the 
     current intersection follow the branch to the left 
    go to the next line segment 

지점을 다음은 당신이 루프를 건너 뛴 의미 체인의 마지막에 도착하기 전에 다시 그 교차로에 인도, 그래서 당신이를 선택해야하지 않는 경우 다른 지점.

Start at segment A1-A2 
No intersections, goto next 
Segment A2-A3 
Intersection A2-A3/A6-A5 choose right path and store the current intersection somewhere 
Segment A6-A5 
Intersection A6-A5/A4-A3 choose right path and store intersection 
Segment A3-A4 
A4-A5 
A5-A6 
Back at intersection A6-A5/A4-A3, go right again to be back on A4-A3 
A3-A2 
Back at intersection A2-A3/A6-A5, go right again 
Finish 
+0

교차가 복잡 해지면 고장 나지 않겠습니까? 이 이미지에서와 같이 : http://imgur.com/hBLwz.jpg –

+1

@ 몬테 맞아, 알고리즘이 이전 경로로 돌아갈 수있는 것처럼 보입니다. 그러나 이렇게하면 하나 이상의 교차로가있는 경우 여야합니다 (그렇지 않으면 다른 경로가 통과 할 수 있음). 그래서 이미 시도한 교차로를 기록 할 수 있습니다 (예 : http : // img526). imageshack.us/img526/3117/path.png –

+0

당신은 훌륭합니다. 나는 당신의 접근 방식에 대한 훨씬 더 명확한 정신적 인 그림을 가지고 있습니다 !!! –