C++에서 force-directed layout의 오픈 소스 구현을 GUI에 사용한다는 사실을 알고 있습니까? 가급적 BSD/MIT/Apache 또는 기타 (비 GPL) 라이센스.C++에서 강제 지시문 구현
답변
우수한 Boost.Graph library은 광범위한 알고리즘을 제공하며 그 중에서도 몇 가지 레이아웃 알고리즘이 제공됩니다. Kamada-Kawai spring layout 또는 Fruchterman-Reingold force-directed layout을 사용하는 것이 좋습니다.
Boost licence은 매우 허용되므로 걱정하지 마십시오. 이 응용 프로그램을 원하는 경우
첫 번째 Google 결과는 VTK입니다. 다른 하나는 vtkGraphLayoutView으로 이동합니다.
개요
https://www.kitware.com/InfovisWiki/index.php/Main_Page
는 정보의 모든 것을 위키에 일부 설치 단계가 있습니다. VTK를 기반으로 구축 된 응용 프로그램입니다. OverView의 특정 기능은 2 차원에서 정보의 그래프 (기하학적 일 필요는 없음)를 나타내는 기능입니다.
VTK는 힘에 의한 그래프 레이아웃을 가지고 있습니다. OverView와 같은 것을 사용하면 데이터를 읽고 강제 지시 레이아웃 전략을 사용하여 표시 할 수있는 OverView 용 사용자 정의 플러그인을 쉽게 만들 수 있다는 이점이 있습니다.
OverView를 사용하지 않으려면 모든 렌더링이 플러그인 외부에서 처리되므로 플러그인 코드를 추출하고 OverView 만 참조하는 것이 매우 쉽습니다.
neato을 graphviz에서 보았습니까? 이 guide은 graphviz를 라이브러리로 사용하기 때문에 자세히 설명되어 있습니다. guide에는 fdp 레이아웃 알고리즘 사용이 포함되어 있습니다.이 알고리즘은 원하는 것처럼 보입니다. graphviz는 모두 Common Public License에 속합니다.
왜 이것을 다운 시키십니까? 오픈 소스이며 무료이며 BSD 라이센스가 있습니다. – dirkgently
+1 때문에 익명 다운 투표가 저를 슬프게 만듭니다. –
VTK를 사용했기 때문에 귀하의 문제를 해결할 수있는 좋은 해결책이라고 생각합니다. 플러스 그것은 완전히 크로스 플랫폼 리눅스/맥/윈도우입니다. 그리고 필요하다면 Python/Java 및 tcl/tk에 대한 바인딩이 있습니다. –