PN trojúhelníky

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 23. dubna 2020; kontroly vyžadují 2 úpravy .

PN trojúhelníky ( angl.  curved point-normální trojúhelníky, PN trojúhelníky ) jsou způsobem geometrického znázornění trojrozměrných objektů pro jejich vizualizaci.

Navrženo pro zlepšení vizuální kvality triangulovaných geometrických (obvykle 3D) tvarů. Vyhladí povrch vykresleného objektu.

Každý PN trojúhelník je kubický Bezierův trojúhelník založený na třech vrcholech (b 300 , b 030 , b 003 ) a třech normálách (n 200 , n 020 , n 002 ) těchto vrcholů původního plochého ("základního") trojúhelníku. Hlavní myšlenkou metody je využít informace o vrcholech a normálách základního trojúhelníku při vytváření kubického Bézierova trojúhelníku pro každý takový základní trojúhelník, stejně jako možnost generovat libovolný počet trojúhelníků z Bézierova trojúhelníku.

Matematické modely

Pro plochý trojúhelník byl odvozen matematický model povrchu křivočarého trojúhelníku vybudovaný na jeho základě a také matematický model rozložení normál v rámci celého křivočarého trojúhelníku. Tyto modely nebo funkce jsou polynomy třetího a druhého stupně. Pro každý trojúhelník existují nezávisle na sobě.

Poznámka: Tento článek se zabývá funkcí kvadratického normálního rozdělení, ale je možné použít i lineární funkci, která také dává dobré výsledky.

Povrchový model křivočarého trojúhelníku

Zde u, v a w  jsou barycentrické souřadnice . u, v, w > 0; w = 1 - u - v .

Koeficienty b ijk se vypočítají takto:

Zde P k  je vektor souřadnic počátečního vrcholu k, k= 1,3 .
N k  je vektor souřadnic normály původního vrcholu k, k= 1,3 .

Model normálního rozložení křivočarého trojúhelníku

Zde u, v a w  jsou barycentrické souřadnice . u, v, w > 0; w = 1 - u - v .

Koeficienty n ijk se vypočítají takto:

Zde P k  je vektor souřadnic počátečního vrcholu k, k= 1,3 .
N k  je vektor souřadnic normály původního vrcholu k, k= 1,3 .

Funkce se specifickými koeficienty

Dosazením souřadnic vrcholů původního plochého trojúhelníku a také hodnot normál na těchto vrcholech jsou v modelech 1.1 a 1.2 získány funkce se specifickými koeficienty. Každá dvojice takových funkcí popisuje jeden křivočarý trojúhelník vykresleného objektu.

Detailing

Pro zlepšení vizuální kvality původního objektu, který se skládá z plochých trojúhelníků, mají trojúhelníky v něm obsažené křivočarý tvar, díky kterému je objekt hladší. Také u původních trojúhelníků je nastavena určitá úroveň detailů. Čím vyšší je úroveň detailů, tím hladší vykreslený objekt vypadá. Právě díky detailům je „spuštěn“ mechanismus PN trojúhelníků.

Zde se jedná o rozdělení trojúhelníku podél každé hrany na stejný počet segmentů a podél jedné hrany jsou si všechny segmenty navzájem rovné. V rámci zde uvažovaného mechanismu je nutné podrobně rozebrat křivočaré trojúhelníky. V procesu vytváření pravidel pro rozdělení libovolného trojúhelníku však pracují s abstraktním plochým trojúhelníkem, protože důležité jsou pouze proporční vztahy uvnitř trojúhelníku. Po rozdělení se takový trojúhelník skládá z mnoha menších trojúhelníků, které jsou pravidelnou mřížkou.

Rozdělení trojúhelníku se provádí v barycentrických souřadnicích . Výsledkem je, že každý „malý“ trojúhelník dostane své vlastní barycentrické souřadnice u, v a w , které jsou jedinečné v rámci původního trojúhelníku, který jej ohraničuje.

V reálném objektovém modelu sestávajícím z počátečních plochých trojúhelníků bude každý jejich „malý“ trojúhelník následně odpovídat přesně jednomu „novému malému“ trojúhelníku („vyvýšenému“ nad povrch původního plochého trojúhelníku), který má své tři vrcholy (a jejich absolutní souřadnice) a jeho vlastní tři normály. Jsou počítány pomocí funkcí se specifickými koeficienty odvozenými z modelů 1.1 a 1.2 zvlášť pro každý počáteční "velký" trojúhelník. Do těchto funkcí se střídavě dosazují barycentrické souřadnice u, v a w ( w = 1 - u - v ) vrcholů všech "malých" trojúhelníků, získané vzhledem k jejich vnějšímu počátečnímu trojúhelníku. Jak bylo uvedeno výše, tyto funkce musí být definovány pro každý původní plochý trojúhelník. Tyto funkce samy o sobě jsou vzorce a zůstávají nezměněny. Detailování křivočarého trojúhelníku je realizováno přesně pomocí dosazení souřadnic u a v do těchto vzorců , protože barycentrické souřadnice každého jednotlivého bodu na křivočarém trojúhelníku jsou totožné s barycentrickými souřadnicemi odpovídajícího bodu na původním "velkém" trojúhelník. Výsledkem substituce každého vrcholu jakéhokoli „nového malého“ trojúhelníku jsou jeho absolutní souřadnice a jeho normála, což následně umožní takové trojúhelníky „poslat“ k vizualizaci.

Hodnota úrovně podrobností je definována následovně. Pokud je hrana rozdělena na dva segmenty, pak je vybraná úroveň detailů rovna jedné. Pokud je hrana rozdělena na tři segmenty, pak je úroveň detailů dvě atd.

Srovnání s jinými metodami

Obrázek vlevo byl na obrázku získán zastíněním původního objektu sestávajícího z plochých trojúhelníků podle Gouraudova modelu . Obrázek ve středu byl získán pomocí mechanismu PN trojúhelníků, ale zde se pro výpočet normál NEPOUŽÍVÁ samostatná funkce. A obrázek vpravo byl získán pomocí mechanismu PN trojúhelníků uvedeného v tomto článku, kde se normály počítají kvadraticky a nezávisle na funkci výpočtu souřadnic.

Výkon

Vzhledem k tomu, že funkce pro vrcholy a normály se počítají pro každý konkrétní původní plochý trojúhelník jednou, bez ohledu na míru detailu, dochází k výrazné úspoře paměti.

Odkazy