Obecný mnohoúhelník Clipper - General Polygon Clipper

The Obecný mnohoúhelník Clipper (GPC) je softwarová knihovna poskytující výpočet výsledků ořezových operací na sadách mnohoúhelníky. Zobecňuje počítačovou grafiku problém s ořezáváním protínajících se polygonů s polygony. První vydání GPC navrhl a implementoval v roce 1997 Alan Murta. Jak srpna 2009 aktuální vydání GPC bylo verze 2.32. Základní knihovna GPC je zapsána v souboru Programovací jazyk C. ale knihovna byla také portována pro práci s několika dalšími jazyky.

GPC je zdarma pro nekomerční použití a jeho autor doporučuje bezplatné používání GPC k podpoře výzkumných, výukových a akademických aplikací. Chcete-li používat GPC k podpoře komerčních aplikací, je nutná licence.

Od srpna 2020 již GPC není distribuováno ani k dispozici.

Vlastnosti GPC

Následující text shrnuje funkce a operace na polygonech podporované GPC:

GPC může vypočítat následující operace klipu: rozdíl, průsečík, exclusive-or a svaz.

Polygony mohou obsahovat více disjunktních kontur. Vrcholy kontury mohou být zadány ve směru nebo proti směru hodinových ručiček. Kontury mohou být konvexní, konkávní nebo samy se protínající. Kontury mohou být vnořené. Jinými slovy, polygony mohou mít díry.

Výstupem operace klipu z GPC je sada polygonových obrysů nebo tristripů. Otvory a vnější obrysy jsou ve výstupu GPC rozlišeny. Shodné hrany a degenerované oblasti jsou zpracovány správně.

Příklady operací GPC na sadách polygonů

Následující čtyři obrázky ukazují příklady výpočetních operací GPC mezi dvěma sadami polygonů. První sada mnohoúhelníků obsahuje obrysy Spojeného království a Irska. Druhá množina polygonů obsahuje čtyři velké šipky směřující dovnitř. V každém příkladu jsou oblasti vyplývající z operace GPC mezi dvěma sadami polygonů vykresleny barevně.

Tento příklad ukazuje rozdíl mezi těmito dvěma sadami:

Příklad rozdílu GPC

Tento příklad ukazuje průsečík mezi těmito dvěma sadami:

Příklad křižovatky GPC

Tento příklad ukazuje svaz mezi těmito dvěma sadami:

Příklad GPC unie

Tento příklad ukazuje exclusive-or mezi těmito dvěma sadami:

Příklad GPC Exkluzivní - nebo

Porty a jazykové vazby

Jádro kódu GPC je napsáno C, ale komunita uživatelů GPC přispěla řadou portů a vazeb (nebo obalů) pro různé jiné jazyky (Akční scénář 3, Borland Delphi, C#, GNU oktáva, Haxe, Haskell, Jáva, Lua, Pascal, Perl, Krajta, VB.Net ). Všechny tyto porty a vazby jsou volně dostupné.

Licenční ujednání

Kód GPC - spolu s přidruženými jazykovými porty, vazbami a ukázkovým softwarem - jsou distribuovány jako volně ke stažení a jsou určeny k časově neomezenému vyhodnocení jakoukoli osobou nebo společností. Po vyhodnocení závisí ujednání o použití GPC pro projekt na tom, zda je projekt nekomerční nebo komerční, a to následovně:

  • Nekomerční použití: GPC lze použít bezplatně, bez licence, v jakékoli aplikaci, která je přísně nekomerční (příklady: fanda, akademický výzkum nebo výuka).
  • Komerční použití: Chcete-li použít GPC na podporu ziskové obchodní činnosti (příklad: výzkum a vývoj produktů), musí uživatelé získat úředníka Licence pro komerční použití GPC.

externí odkazy