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ştirAş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;
İki veri seti arasındaki kesişim işlemi;
İki veri setinin birleşim işlemi;
İki veri setininfark ve birleşim beraber işlemi;
Diğer programlara dillerinde GPC
değiştirGPC 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ı
değiştirGPC 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- Official website27 Şubat 2011 tarihinde Wayback Machine sitesinde arşivlendi.
- Maintained Java version 8 Ekim 2014 tarihinde Wayback Machine sitesinde arşivlendi.