General Polygon Clipper

General Polygon Clipper, çokgenlerde kırpma uygulamaları yapmayı sağlayan bir yazılım kütüphanesidir. Bu uygulama bilgisayar grafiklerindeki çokgenlerin çokgenler ile kesiştirilmesi sorununu genelleştirerek çözmeye odaklanır.

İlk tasarımı ve uygulaması 1997 yılında Manchester Üniversitesi'nde Alan Murta tarafından yapılmıştır. 2009 yılının ağustos ayında uygulamanın 2.32 sürümü çıkmıştır.

GPC ticari olmayan uygulamalarda ücretsiz kullanılabilen açık kaynak kodlu bir yazılımdır. Yazılımın üreticisi akademik çalışmalarda, araştırmalarda ve öğrenim programlarında uygulamanın kullanılmasını desteklemektedir. Ticari olarak yazılımı kullanabilmek için Manchester Üniversitesi'nin lisansına ihtiyaç duyulur.

Yazılım özünde C programlama dili ile yazılmıştır. Ancak farklı programlama dillerine çevrilmiş sürümleri de mevcuttur.

GPC'nin özellikleri

değiştir

Aşağıdaki maddeler GPC'nin çokgenler üzerinde uygulayabileceği işlemlerin özetidir;

  • Fark, kesişim, ayrışım ve birleşim işlemleri gerçekleştirebilir
  • Kontur köşeleri saat yönünde veya saat yönünün tersi yönünde olarak belirtilebilir.
  • Çokgenler birden çok ayrık şekil içerebilir.
  • Şekiller içbükey, dışbükey veya kendini kesen alanlar olabilir.
  • Delikli çokgenler işlenebilir.
  • Kesişim operasyonunun çıktısı olarak programdan bir kontur veya tristrip alınabilir.
  • Tesadüf kenarları ve dejenere bölgeler doğru şekilde işlenir.

GPC'nin uygulama örnekleri

değiştir

İlk başta belirttiğimiz 4 ana işlemin uygulanmasına dair örnekler şunlardır:

İki veri seti arasındaki fark işlemi;

 
Example of GPC Difference

İki veri seti arasındaki kesişim işlemi;

 
Example of GPC Intersection

İki veri setinin birleşim işlemi;

 
Example of GPC Union

İki veri setininfark ve birleşim beraber işlemi;

 
Example of GPC Exclusive-or

Diğer programlara dillerinde GPC

değiştir

GPC temelde C ile yazılsa da kullanıcılar programı birçok başka dillerde de yazmaya çalışmıştır ancak bazı geçişlerde orijinal özelliklerin tamamen taşınamaması gibi bir sorunla karşılaşılmıştır. Örneğin Java diline geçişte gerçekleşmiş bilinen geçişler şunlardır ;

  1. Çokgen Farkları- Algoritma destekleniyor ancak public method bulunmuyor ve test edilmedi
  2. Çıktı- Tristirp yok
  3. Çıktı-Çoklu arayüz yok
  4. Çıktı sıralamasında delikler hep listenin sonunda
  5. Her şey daha fazla obje tabanlı özellikle çıktılar.

Çevirilen tüm diller; (Action Script 3, Borland Delphi, C#, GNU Octave, Haxe, Haskell, Java, Lua, Pascal, Perl, Python, VB.Net). Diğer dillerdeki çevrimlerde tamamen ücretsizdir.

Lisans anlaşmaları

değiştir

GPC kaynak kodu ile diğer tüm dillerdeki versiyonlar, örnek uygulamalar ücretsiz biçimde,hiçbir zaman kısıtlaması olmadan ve hiçbir şirkete bağlı kalmadan indirilebilir. Ancak uygulamanın ticari kullanıp kullanılmamasına göre bazı kullanım şartları vardır. Bunlar;

  • Ticari Olmayan Kullanım: GPC kesinlikle ticari olmayan (örneğin; hobi, akademik araştırma, öğrenme) maksatlarla tamamen ücretsiz olarak kullanılabilir.
  • Ticari Kullanım: GPC'yi kâr amaçlı herhangi bir işte kullanabilmek için Manchester Ünivetsitesi'nden resmi olan GPC Commercial Use Licence temin edilmelidir.

Dış bağlantılar

değiştir