나는 직사각형 노드와 방향이없는 가장자리로 구성된 Java에서 "그림판"응용 프로그램을 작성하는 중입니다. 문제는 모서리의 시작이 모서리가 연결된 직사각형의 중심에 있고 모서리의 끝이이 모서리가 연결된 다른 직사각형의 중심에 있다는 것입니다.올바른 순서로 물건을 그리기,
사각형과 가장자리 사이의 교차 선을 그리지 않으려면 가장자리와 가장자리를 먼저 그려 가장자리에 배치하여 교차를 숨 깁니다.
해당 가장자리에 해당하지 않는 다른 노드가 가장자리를 따라 배치 될 때 문제가 발생합니다. 이 시나리오에서는 가장자리가 먼저 그려지기 때문에 노드가 가장자리의 맨 위에 나타납니다. 그러나 그것은 내가 원하는 것이 아닙니다. 노드의 맨 위에 가장자리를 표시하고 싶습니다.
이미지 : how it is 및 how it should be
첫 번째 노드를 그리고 나중에는 연결되어있는 두 개의 노드와 가장자리의 교차점을 피하고 가장자리를 그리는 것이이 문제를 해결하는 내가 생각할 수있는 가장 포괄적 인 방법 . 그러나 그것은 내가 drawLine
을 사용하여 모서리를 그려서 종이에하기가 어렵고 교차로를 확인할 가능성이 없습니다.
이 때문에 내가 먼저 가장자리를 그립니다,하지만 내가 언급 한 문제가 발생합니다. 어떤 아이디어?
문제는 노드가 우선 순위와 같은 것을 가진 경우에만 해결할 수 있습니다. 그런 다음 노드의 우선 순위별로 정렬하여 그릴 수 있습니다. 먼저 노드의 연결을 렌더링 한 다음 노드를 렌더링하십시오. 노드를 폴링하기 위해 반복합니다.주문 기준과 같은 것이 없다면 올바른 하나의 솔루션이 없거나 올바른 솔루션으로 판단 될 수 있습니다. – Durandal