PN triunghiuri

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 23 aprilie 2020; verificările necesită 2 modificări .

Triunghiurile PN ( de exemplu triunghiuri punct curbat  -normal, triunghiuri PN ) sunt o modalitate de reprezentare geometrică a obiectelor tridimensionale pentru vizualizarea lor.

Conceput pentru a îmbunătăți calitatea vizuală a formelor geometrice triangulate (de obicei 3D). Face suprafața obiectului redat mai netedă.

Fiecare triunghi PN este un triunghi Bezier cubic bazat pe trei vârfuri (b 300 , b 030 , b 003 ) și trei normale (n 200 , n 020 , n 002 ) ale acelor vârfuri ale triunghiului plat ("bază") original. Ideea principală a metodei este de a folosi informații despre vârfurile și normalele triunghiului de bază în crearea unui triunghi Bezier cubic pentru fiecare astfel de triunghi de bază, precum și capacitatea de a genera orice număr de triunghiuri din triunghiul Bezier.

Modele matematice

Pentru un triunghi plat, a fost derivat un model matematic al suprafeței unui triunghi curbiliniu construit pe baza lui, precum și un model matematic al distribuției normalelor în întregul triunghi curbiliniu. Aceste modele, sau funcții, sunt polinoame de gradul al treilea și, respectiv, al doilea. Pentru fiecare triunghi, ele există independent unul de celălalt.

Notă: Acest articol tratează o funcție de distribuție normală pătratică, dar este posibil să se utilizeze și o funcție liniară, care dă și rezultate bune.

Modelul de suprafață al unui triunghi curbiliniu

Aici u, v și w  sunt coordonate baricentrice . u, v, w ≥ 0; w = 1 - u - v .

Coeficienții b ijk se calculează după cum urmează:

Aici P k  este vectorul de coordonate al vârfului inițial k, k= 1,3 .
N k  este vectorul de coordonate ale normalei vârfului original k, k= 1,3 .

Model de distribuție normală a triunghiului curbiliniu

Aici u, v și w  sunt coordonate baricentrice . u, v, w ≥ 0; w = 1 - u - v .

Coeficienții n ijk se calculează după cum urmează:

Aici P k  este vectorul de coordonate al vârfului inițial k, k= 1,3 .
N k  este vectorul de coordonate ale normalei vârfului original k, k= 1,3 .

Funcții cu coeficienți specifici

Prin înlocuirea coordonatelor vârfurilor triunghiului plat original, precum și a valorilor normalelor la aceste vârfuri, în modelele 1.1 și 1.2 se obțin funcții cu coeficienți specifici. Fiecare pereche de astfel de funcții descrie un singur triunghi curbiliniu al obiectului redat.

Detaliere

Pentru a îmbunătăți calitatea vizuală a obiectului original, care constă din triunghiuri plate, triunghiurilor incluse în acesta li se oferă o formă curbilinie, ceea ce face obiectul mai neted. De asemenea, pentru triunghiurile originale, este stabilit un anumit nivel de detaliu. Cu cât nivelul de detaliu este mai ridicat, cu atât obiectul redat arată mai neted. Datorită detaliilor, mecanismul triunghiurilor PN este „lansat”.

Aici, detalierea este împărțirea unui triunghi de-a lungul fiecărei margini în același număr de segmente, iar de-a lungul unei margini, toate segmentele sunt egale între ele. În cadrul mecanismului considerat aici, este necesară detalierea triunghiurilor curbilinii. Cu toate acestea, în procesul de creare a regulilor de împărțire a unui triunghi arbitrar, acestea funcționează cu un triunghi abstract plat, deoarece numai relațiile proporționale din triunghi sunt importante. După împărțire, un astfel de triunghi este format din multe triunghiuri mai mici, care sunt o grilă obișnuită.

Împărțirea triunghiului se realizează în coordonate baricentrice . Ca rezultat, fiecare triunghi „mic” primește propriile coordonate baricentrice u, v și w , care sunt unice în triunghiul original care îl delimitează.

Într-un model de obiect real constând din triunghiuri plate inițiale, fiecare dintre triunghiurile lor „mici” va corespunde ulterior exact unui „nou mic triunghi” („ridicat” deasupra suprafeței triunghiului plat original), având cele trei vârfuri ale sale (și lor coordonate absolute) și propriile sale trei normale. Acestea sunt calculate prin funcții cu coeficienți specifici derivați din modelele 1.1 și 1.2 separat pentru fiecare triunghi „mare” inițial. Coordonatele baricentrice u, v și w ( w = 1 - u - v ) ale vârfurilor tuturor triunghiurilor „mici”, obținute în raport cu triunghiul inițial extern acestora, sunt substituite alternativ în aceste funcții. După cum sa menționat mai sus, aceste funcții trebuie definite pentru fiecare triunghi plat original. Aceste funcții în sine sunt formule și rămân neschimbate. Detalierea triunghiului curbiliniu se realizează tocmai prin înlocuirea coordonatelor u și v în aceste formule , deoarece coordonatele baricentrice ale fiecărui punct individual de pe triunghiul curbiliniu sunt identice cu coordonatele baricentrice ale punctului corespunzător de pe „mare” original. triunghi. Ca rezultat al înlocuirii fiecărui vârf al oricărui triunghi „nou mic”, se obțin coordonatele sale absolute și normala, care ulterior va permite „trimiterea” unor astfel de triunghiuri pentru vizualizare.

Valoarea nivelului de detaliu este definit după cum urmează. Dacă marginea este împărțită în două segmente, atunci nivelul de detaliu selectat este egal cu unul. Dacă marginea este împărțită în trei segmente, atunci nivelul de detaliu este de doi și așa mai departe.

Comparație cu alte metode

În figură, imaginea din stânga a fost obținută prin umbrirea obiectului original, format din triunghiuri plate, după modelul Gouraud . Imaginea din centru a fost obținută folosind mecanismul triunghiurilor PN, dar aici NU este folosită o funcție separată pentru a calcula valorile normale. Iar imaginea din dreapta a fost obținută folosind mecanismul triunghiurilor PN prezentat în acest articol, unde normalele sunt calculate pătratic și independent de funcția de calcul al coordonatelor.

Performanță

Datorită faptului că funcțiile pentru vârfuri și normale sunt calculate pentru fiecare triunghi plat original specific o dată, indiferent de nivelul de detaliu, există o economie semnificativă în memorie.

Link -uri