2014-03-06 2 views
0

사각형 영역이 있다고 가정합니다. 이 직사각형 영역에서 세로 및 가로 선을 그릴 수 있습니다. 이 선들은 각각 선과 관련된 작은 직사각형 영역을 만듭니다 (즉, 선은 작은 직사각형 영역의 경계선 역할을합니다). 이 지역의 숫자를 1,2,3 등으로합시다.줄과 관련된 영역 찾기

내 질문은 : 주어진 라인 (수직 또는 수평)에 대해, 연관된 (접촉 또는 경계) 지역 (또는 지역 번호)을 어떻게 찾습니까? 이 선으로 이것을 결정하는 가장 간단한 알고리즘은 무엇입니까?

미리 도움을 주셔서 감사합니다.

당신이 matrix[horizontal][vertical]으로 지역을 대표 할 수 없습니다

+0

많은 선을 그리는 경우를 묻습니다 (그리고 선을 그릴 때마다 더 작은 직사각형이 생깁니 까?). 나는 당신이 각 직사각형에 라인에서 링크드리스트를 만들고, 여러 개의 직사각형을 이등분 할 때마다리스트를 업데이트하고 싶다고 생각합니다. 선의 두 번째 직사각형 목록을 만들면 업데이트 할 선을 알 수 있습니다. 이 방법으로 이중 링크 된 색인으로 끝나기 때문에 선에서 지역으로, 지역에서 선으로 이동할 수 있습니다. 그게 당신에게 실행 가능한 방향처럼 들리니? – Floris

+0

답변 해 주셔서 감사합니다. 선을 지역에 연결하는 링크 목록을 사용하면 좋습니다.하지만 선과 지역의 교차점을 찾는 데 의존하지 않고 선과 연관된 지역을 어떻게 찾을 수 있습니까? 시작하면 생성 된 행과 열의 수를 알고 있다고 가정합니다. 어떻게하면 각 라인을 들고 지역 동료를 찾아 링크리스트를 업데이트할까요? –

+0

이등분 점을 찾지 않고 가장 쉬운 방법은 무엇입니까? –

답변

0

이것은 내가 (당신의 질문이 좀 모호) 이해 것과 부분적인 대답은? 그런 다음 선은 가로 또는 세로 인덱스로 표시되며 더 큰 구조가 아니라 인덱스 조작으로 끝납니다.

예 : Line horizontal = 2은 인덱스가 xs.t 인 영역을 생성합니다. UPPER_BOUND > x > 2