Karışık bir seçim bölgesi / bağımlılık grafiği (dilsel uygulama için) çizmek için bir algoritma arıyorum. Böyle bir grafik iki farklı tipte köşeye (jeton, düğüm) ve iki farklı kenar tipine (hiyerarşik, hiyerarşik olmayan) sahip olacaktır.
Teori ve algoritmaları genel olarak grafiğe dökmek için yeniyim ve umarım bu soru örneğin bu sitenin araştırma düzeyindeki gereksinimleriyle çarpışmaz. Bununla birlikte, genel olarak taslak kapsamında olmalıdır .
Tüm jetonlar aynı y koordinatı ile gösterilmesi gerektiğinden ve tokenleri ve / veya düğümleri bileşenlere gruplayan düğümlerin y koordinatlarının dinamik olarak hesaplanması gerektiğinden, grafiğin aşağıdan yukarıya doğru çizilmesi gerekir (sanırım), örneğin, bir token'a giden en uzun yollarından.
Hiyerarşik kenarlar (belirteçleri / düğümleri bileşenlere gruplamak için kullanılır) minimum sayıda bükülme noktasına sahip olmalıdır (ideal olarak 0), ancak gerektiğinde eski gereksinimin üzerine yazılan minimum sayıda geçiş olmalıdır.
Hiyerarşik olmayan kenarlar (bağımlılıklar için kullanılır) minimum geçiş sayısına sahip olmalı ve Bézier eğrileri olarak çizilmelidir.
Karşılaştığım bir sonraki en iyi şey Buchheim ve ark. , Walker'ın algoritmasını doğrusal zamanda çalışacak şekilde geliştirir.
Sorumu geliştirmek için herhangi bir ihtiyaç olması durumunda lütfen bana bildirin ve herhangi bir işaretçi için şimdiden çok teşekkürler.
DÜZENLE:
Bir yorumda belirtildiği gibi, temelde bir algoritma tarafından varsayılan bir grafik düzeni istediğimi belirtmeliyim ki, uzun vadede - Eclipse GEF olasılıkları içinde düzenlemek ve revize etmek istiyorum . Daha önce Graphviz'in GEF ile çalışmasını sağlamak için seçenekleri araştırdım, ancak GEF'ten miras alınan tüm düzenleme işlevlerini koruyan hiçbir çalışma çözümü yok gibi görünüyor.