olduğunu. Basit sezgisel yöntemler, yolun üstesinden gelmek için ve çoğu zaman en düşük minimum açı sayısına ulaşması muhtemeldir, ve büyük olasılıkla en kısa uzunluk yolu daha sık görülür. Tüm bunlar, ihtiyaç duyduğunuz gibi dinamik bir şekilde yapılabilir, ancak ekranın kesilmesi gerekmeden daha hassas bir şekilde ekrana gelmeden (pikseller en ayrık seviye olmalıdır) ve karmaşık algoritmalara ihtiyaç duymadan grafik hassasiyetini korur. Kaplama için, tüm pikselleri çizgilerinizin rengine göre ayarlayın ve pikselin çizginin bir parçası olup olmadığına bağlı olarak alfa kanalı bitlerini saydam veya opak olarak değiştirin. Çizginin bir parçası olan bitlerin biraz geometri gerektirdiğini anlamak için, her şey hazır olduğunda bir parça kek.
Satırınızı alfa kanalına nasıl çizeceğinizi öğrenmek için, çizgilerinizin stilini anlamanız gerekir. Yapacağınız şeylerin çoğu, stile bağlı. Ortak bir stil, yatay ve yatay olarak doğru açılarda çeyrek daire ile hizalanmış düz çizgiler kullanıyor.
"Kaçınma" algoritmaları için, düğümlerinizi temsil eden "kutuları" ndan kaçınmak istediğinizde bunların uygulanması çok zor değildir ... tüm satırları küçültmek bir görevden biraz daha büyüktür ve Visio bile işe yaramıyor. Kutuların/düğümlerin önüne geçmek için, kutunun kenarları arasındaki orta nokta kullanılarak (geo1 ve geo3 arasındaki dikey kenarlar gibi) simetri yapmak ve bağlantı hatlarını tutmak için önceden tanımlanmış bir mesafe seçmek daha iyidir (satırlar) Bu kutuya bağlı olmayan) kutulardan uzakta da iyi çalışır. Bunun için genelleştirilmiş bir algoritmanın yapılması basittir, ama burada açıklamak için biraz fazla ayrıntıdır, fakat esas olarak yatay ve dikey olarak hizalanan çizgiler ve çeyrek dönüşler üzerinde çalışan genelleştirilmiş kontroller ve anahtarlar kümesidir. Bunun nasıl yapılacağına dair daha fazla ayrıntı isteyen sonuçlara ulaşırsanız, bu cevaba bir yorum gönderin.
Sizin için önceden yapılmış bir şey arıyorsanız, istediğiniz bağlantı türü ve yeniden düzenleme gerçekten uygulamaya bağlıdır ve pek çok kişi talep düşük veya talep fazla spesifik olmayan araçlar yapar . Açıkçası bu tür yazılımlar, Visio ve diğerleri tarafından kullanıldığından beri oradadır, fakat açık kaynak olarak ya da kesin olmayan diğer ücretsiz kütüphanelerin bir parçası olarak kullanılabilir olsun ya da olmasın.
1 tam bir ızgara için gerekli değildir, bağlantı noktalarının hanan ızgarası ve önlemek için bitler yeterli olmalıdır diye düşünüyorum –
Teşekkürler, tekerleği yeniden icat etmeye çalışmıyorum, ancak eminim hepsi ince ayarlanmış algoritmaların yakın yaklaşımları ile gelir. Ben zaten orada bir şey var mı diye merak ediyorum. – ApplePieIsGood
cevabının kendisi ile başa çıkmak için önemsiz olmayan bazı konular ortaya çıkar (bir süreci açıklar ancak “nasıl yapılır” bölümlerinden yoksundur). Bunu kapatmak için "klasik" algoritmalar var mı? – gpilotino