2010-12-08 4 views
2

저는 방금 학생과상의했는데 그에게 과제를 말하면서 재미 있다고 생각합니다. 작업입니다. 같은 포인트 파일이 있습니다입력 지점을 사용하여 수치를 찾는 알고리즘

Point0: x=1; y=4; 
Point1: x=199; y=45; 
Point2: x=42; y=333; 
Point3: x=444; y=444; 
... 
PointN: x=nnn; y=mmm; 

당신은 다각형을 찾아서 그린다는. 내부 각 다각형 현재 나는 이런 식으로 뭔가 의미 :

--------- 
| ----- | 
| | | | 
| |----| | 
|  | 
|--------| 

을 그리고 당신이 조언이 경우에 사용할 수있는 알고리즘 질문? 이것은 그래프 이론으로부터 알 수 있습니다 만, 다른 사람의 의견을 듣고 싶습니다. 감사합니다. .

+0

어떤 다각형인지 .. 더 설명해 주시겠습니까? – Jack

+0

다각형은 다른 다각형과 교차하지 않습니다. – jitm

답변

4

아이디어 : 모든 점의 convex hul l을 찾으십시오. 선체에 속하지 않는 모든 점에 대해서는 점이 남지 않을 때까지 알고리즘을 반복하십시오.

+1

답장을 보내 주셔서 감사합니다.이 알고리즘에 대해 생각해 보지 않았습니다. – jitm

0

당신은 아마 모든 지점에 대한 거리 행렬을 찾은 다음 다음과 같이 반복을 할 수있는 :

  1. 가 발견 거리에 해당하는 두 개의 점을 가장 큰 거리를
  2. 그리기 사각형을 찾기
  3. 목록에서 이러한 점을 제거
  4. 반복 벨 포인트 분명히 당신이 결정할하지 어떻게
관련 문제