2010-05-29 3 views
4

"병렬 그래프"를 계산하기위한 알고리즘은 잘 알고 있습니까? 여기서 평행 그래프 란 평행 곡선과 동일하고 모호하게 "오프셋 곡선"이라고하지만 곡선 대신 그래프가있는 것을 의미합니다. 가장 좋은 경우, 각 세그먼트 (연결)에 대해 가변 거리를 허용합니다.그래프의 평행 곡선과 같은 알고리즘

빨간색 세그먼트에 연결된 노드의 좌표를 알고 다음 그림뿐만 아니라, 원하는 거리 (두께)

offset graph http://3.bp.blogspot.com/_MFJaWUFRFCk/TAEFKmfdGyI/AAAAAAAACXA/vTOBQLX4T0s/s320/screenshot2.png

어떻게 블랙의 포인트는 다각형을 설명 계산할 수 있습니다 감안할 때?

+0

어디에서 아바타를 얻었습니까? 그 팬더는 최고야. –

+0

@Xavier : google for "banksy panda" –

+0

@Tomer : 점수! 감사. –

답변

2

Straight Seleton 전략을 확인하십시오. 예제 구현은 here입니다. 알고리즘의 복잡성은 here으로 기록되어 있습니다.

또한 다른 방법도 여기에 설명되어 있습니다. A Survey of Polygon Offsetting Strategies.

topic at GameDev도 있습니다.

편집 : CGAL도 v3.3부터 see the API부터 구현되어 있습니다. 작성자는 nice presented a test file입니다. (구현이 아닙니다.) 그러나 소스를 체크 아웃 할 수 있습니다.

+0

각주로서, 가장 직설적 인 방법은 두 방정식을주는 회선 방정식을 푸는 것입니다. 당신은 라인의 어떤면에 포인트가 있는지 확인함으로써 잠재적으로 4 가지 솔루션 세트 중 하나의 솔루션을 선택해야합니다. –

관련 문제