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 
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 
İlk başta belirttiğimiz 4 ana işlemin uygulanmasına dair örnekler şunlardır:

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

orta|Example of GPC Difference

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

orta|Example of GPC Intersection

İki veri setinin birleşim işlemi;

orta|Example of GPC Union

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

orta|Example of GPC Exclusive-or

 Diğer programlara dillerinde GPC 
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;
 Çokgen Farkları- Algoritma destekleniyor ancak public method bulunmuyor ve test edilmedi
 Çıktı- Tristirp yok
 Çıktı-Çoklu arayüz yok
 Çıktı sıralamasında delikler hep listenin sonunda
 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ı

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
 Official website
 Maintained Java version 

Kategori:Grafik kütüphaneleri