C#에서 기업 구조 트리 (계열 트리와 유사)를 그려야합니다. 모든 부수적 인 코드가 있습니다. 색깔이 있고 대화 형이며 공상적입니다. 유일한 문제는 실제로 각 노드를 어디에 놓을 지 결정하는 알고리즘으로 많은 슬픔을주고 있습니다.효율적으로 나무를 그리는 알고리즘?
잠시 동안 상자의 크기는 100x50이고 특정 x, y 좌표의 직원을 나타내는 StaffNode
클래스가 있습니다.
알고리즘은 적절한 x와 y를 사용하여 List<StaffNode>
을 만들어야합니다.
이것은 매우 까다 롭습니다.
기본적으로 알고리즘은 기업 구조를 따라 재귀 적이므로 트리를 따라 왼쪽 → 오른쪽, 위에서 아래로 내려갑니다. 두 노드가 서로 겹치면 분명히 나쁘다.
나는 이런 식으로 뭔가를 생산할 수있는 몇 가지 알고리즘을 생각할 수:
*
o O
o o o o o O
o O O O O O
O
나무가 매우 큰 공간이 매우 제한되어 있기 때문에 이런 일이 더 좋을 것이다 반면 :
*
o O
o o o o o O
o O O O O O
O
이전에 이렇게 나무를 그려야 만했던 사람이 있습니까? 네가 가진다면 내가 가진 많은 장애물을 보았을거야. 어떤 팁? 지금까지 하루 종일 보냈습니다.
당신이 뭘 하려는지를 찾을 수 있습니까? 그것은 마이크로 소프트 visio 또는 무언가에서해야하지 않아 ?? – DrStrangeLove
일부 테트리스 해결사를 사용하십시오 ... – Dialecticus
@DrStrangeLove 아니요, 저는 대화 형 시각화를 작성하고 있습니다. – user1002358