2011-11-02 3 views
1

좋아, 캔버스에 끌어다 놓을 수있는 두 개의 컨트롤이 있습니다. 이 두 컨트롤 사이에 가장 가까운 점을 찾는 알고리즘에 대한 도움이 필요합니다.캔버스 - 두 컨트롤 사이에 가장 가까운 경로에 선을 그립니다.

나는 이것을 어떻게 달성 할 수 있을지에 대한 제안이 있으십니까? 나는 코드를 낚시질하는 것이 아니라 길에 더 많은 도움을 준다! (완료된 솔루션도 환영합니다. : P)

이러한 컨트롤을 드래그 앤 드롭 할 때 가장 가까운 지점을 다시 계산해야하며 그 사이에 그린 선이 업데이트되어야합니다. 그러나 그것은 또 다른 문제입니다.

완성 된 구성 요소는 Visio와 비슷해야합니다. 두 구성 요소를 연결하는 선과 함께 연결할 수 있습니다. 불분명 한 점이 있으면 알려 주시면 업데이트하겠습니다.

안부,

가브리엘

+2

는 컨트롤의 형태는 무엇입니까? 사각형? –

+0

@TJHeuvel : Im은 현재 "선"이 삼각형의 빗변이어야하므로이 문제를 해결하려고합니다. 그럴 경우 어쨌든 가장 가까운 점을 찾을 수 있습니다. – Gabriel

+0

@Hohhi : 예, 사각형입니다. – Gabriel

답변

1

은 내가 LineGeometry를 사용하여 두 점 사이의 선을 그리는 것을 사용합니다. StartPoint 및 EndPoint가있는 선이 생성되고 해당 점 사이에 선이 그려집니다. 여기에 Point 나 EndPoint를 설정할 Source와 Receiver에 따라 Point를 가진 속성을 가진 객체를 갖게 될 것입니다.

더 읽기에 :

http://msdn.microsoft.com/en-us/library/system.windows.media.linegeometry.aspx

관련 문제