PN trekanter

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 23. april 2020; checks kræver 2 redigeringer .

PN-trekanter ( eng.  buede punktnormale trekanter, PN-trekanter ) er en måde til geometrisk repræsentation af tredimensionelle objekter til deres visualisering.

Designet til at forbedre den visuelle kvalitet af triangulerede geometriske (normalt 3D) former. Gør overfladen af ​​det gengivne objekt glattere.

Hver PN-trekant er en kubisk Bezier-trekant baseret på tre hjørner (b 300 , b 030 , b 003 ) og tre normaler (n 200 , n 020 , n 002 ) af disse hjørner af den oprindelige flade ("basis") trekant. Hovedideen med metoden er at bruge information om toppunkterne og normalerne af basistrekanten til at skabe en kubisk Bezier-trekant for hver sådan basistrekant, såvel som evnen til at generere et hvilket som helst antal trekanter fra Bezier-trekanten.

Matematiske modeller

For en flad trekant blev der udledt en matematisk model af overfladen af ​​en buet trekant bygget på dens basis, samt en matematisk model af fordelingen af ​​normaler inden for hele den krumlinede trekant. Disse modeller eller funktioner er polynomier af henholdsvis tredje og anden grad. For hver trekant eksisterer de uafhængigt af hinanden.

Bemærk: Denne artikel omhandler en kvadratisk normalfordelingsfunktion, men det er også muligt at bruge en lineær funktion, som også giver gode resultater.

Overflademodel af en buet trekant

Her  er u, v og w barycentriske koordinater . u, v, w > 0; w = 1 - u - v .

Koefficienterne b ijk beregnes som følger:

Her er P k  vektoren af ​​koordinaterne for det indledende toppunkt k, k= 1,3 .
N k  er vektoren af ​​koordinaterne for normalen af ​​det oprindelige toppunkt k, k= 1,3 .

Curvilinear Triangle Normal Distribution Model

Her  er u, v og w barycentriske koordinater . u, v, w > 0; w = 1 - u - v .

Koefficienterne n ijk beregnes som følger:

Her er P k  vektoren af ​​koordinaterne for det indledende toppunkt k, k= 1,3 .
N k  er vektoren af ​​koordinaterne for normalen af ​​det oprindelige toppunkt k, k= 1,3 .

Funktioner med specifikke koefficienter

Ved at erstatte koordinaterne for hjørnerne af den oprindelige flade trekant, såvel som værdierne af normalerne ved disse knudepunkter, opnås funktioner med specifikke koefficienter i modellerne 1.1 og 1.2. Hvert par af sådanne funktioner beskriver en enkelt buet trekant af det gengivne objekt.

Detaljering

For at forbedre den visuelle kvalitet af det originale objekt, som består af flade trekanter, får trekanter, der indgår i det, en buet form, som gør objektet glattere. Også for de originale trekanter er der fastsat et vist detaljeringsniveau. Jo højere detaljeringsniveauet er, desto glattere ser det gengivne objekt ud. Det er takket være detaljeringen, at mekanismen for PN-trekanter "lanceres".

Her er detaljering opdelingen af ​​en trekant langs hver kant i det samme antal segmenter, og langs den ene kant er alle segmenter lig med hinanden. Inden for rammerne af den her betragtede mekanisme er det nødvendigt at detaljere krumlinede trekanter. Men i processen med at skabe reglerne for opdeling af en vilkårlig trekant, arbejder de med en abstrakt flad trekant, da kun proportionelle forhold inden for trekanten er vigtige. Efter opsplitning består en sådan trekant af mange mindre trekanter, som er et regulært gitter.

Opdelingen af ​​trekanten udføres i barycentriske koordinater . Som et resultat får hver "lille" trekant sine egne barycentriske koordinater u, v og w , som er unikke inden for den oprindelige trekant, der afgrænser den.

I en virkelig objektmodel, der består af indledende flade trekanter, vil hver af deres "små" trekanter efterfølgende svare til nøjagtig en "ny lille" trekant ("hævet" over overfladen af ​​den oprindelige flade trekant), der har sine tre spidser (og deres absolutte koordinater) og sine egne tre normaler. De beregnes gennem funktioner med specifikke koefficienter afledt af model 1.1 og 1.2 separat for hver indledende "store" trekant. De barycentriske koordinater u, v og w ( w = 1 - u - v ) af hjørnerne af alle "små" trekanter, opnået i forhold til den oprindelige trekant uden for dem, substitueres skiftevis i disse funktioner. Som nævnt ovenfor skal disse funktioner defineres for hver original flad trekant. Disse funktioner er i sig selv formler og forbliver uændrede. Detaljeringen af ​​den krumlinede trekant realiseres præcist gennem substitution af koordinaterne u og v i disse formler , da de barycentriske koordinater for hvert enkelt punkt på den krumlinede trekant er identiske med de barycentriske koordinater for det tilsvarende punkt på den oprindelige "store" trekant. Som et resultat af substitution for hvert hjørne af enhver "ny lille" trekant, opnås dens absolutte koordinater og dens normal, hvilket efterfølgende vil tillade sådanne trekanter at blive "sendt" til visualisering.

Detaljeniveauet er defineret som følger. Hvis kanten er opdelt i to segmenter, er det valgte detaljeringsniveau lig med én. Hvis kanten er opdelt i tre segmenter, så er detaljeniveauet to, og så videre.

Sammenligning med andre metoder

På figuren er billedet til venstre opnået ved at skygge det originale objekt, bestående af flade trekanter, ifølge Gouraud-modellen . Billedet i midten blev opnået ved hjælp af PN-trekantmekanismen, men her bruges IKKE en separat funktion til at beregne normalerne. Og billedet til højre blev opnået ved hjælp af PN-trekantmekanismen præsenteret i denne artikel, hvor normaler beregnes kvadratisk og uafhængigt af koordinatberegningsfunktionen.

Ydeevne

På grund af det faktum, at funktionerne for toppunkter og normaler beregnes for hver specifik original flad trekant én gang, uanset detaljegraden, er der en betydelig besparelse i hukommelsen.

Links