En isooverflade er en tredimensionel analog af en isolin , det vil sige en overflade , der repræsenterer punkter med konstant værdi (såsom tryk, temperatur, hastighed eller tæthed) i en del af rummet. Med andre ord er dette niveausættet af en kontinuerlig funktion, hvis definitionsdomæne er tredimensionelt rum.
Udtrykket "isosurface" bruges nogle gange om mere generelle områder med dimensioner større end 3 [1] .
Isooverflader tegnes normalt ved hjælp af computergrafik og bruges som visualiseringsteknikker i beregningsvæskedynamik , hvilket gør det muligt for ingeniører at studere egenskaberne af flow (gas eller væske) omkring objekter såsom en flyvinge . En isosurface kan repræsentere en individuel chokbølge af supersonisk flyvning, eller nogle isooverflader kan skabes, der viser sekvensen af trykværdier i luftstrømmen omkring vingen. Isosurfaces er ved at blive en populær visualisering af rumlige datasæt, fordi de kan behandles med en simpel polygonal model og tegnes på skærmen meget hurtigt.
I medicinsk billeddannelse kan isooverflader bruges til at repræsentere områder med specifik tæthed i 3D computertomografi , hvilket muliggør visualisering af indre organer , knogler og andre strukturer.
Talrige andre discipliner, der bruger 3D-data, bruger ofte iso-overflader til at give information inden for farmakologi , kemi , geofysik og meteorologi .
Algoritmen for marcherende terninger blev første gang offentliggjort i 1987 i SIGGRAPH Conference Proceedings (af Lorensen og Kline [2] ). Algoritmen skaber en overflade ved skæringspunkterne mellem det volumetriske gitters kanter og kroppens overflade. På det punkt, hvor overfladen skærer kanten, skaber algoritmen et toppunkt. Ved at bruge en tabel med forskellige trekanter defineret af forskellige kantskæringsmønstre, reproducerer algoritmen overfladen. Denne algoritme har løsninger til både CPU- og GPU -implementeringer .
Den "asymptotiske beslutter" -algoritme er designet som en forlængelse af " marching cubes "-algoritmen for at slippe af med usikkerheden i algoritmen.
Algoritmen "marching tetrahedral" blev udviklet som en forlængelse af " marching cubes "-algoritmen for at slippe af med usikkerheden i algoritmen og skabe bedre overflader.
"Surface Nets"-algoritmen placerer skæringspunktet i midten af voxelen i stedet for på kanterne, hvilket resulterer i en glattere overflade.
Dual contouring-algoritmen blev først offentliggjort i 2002 i samlingen af papirer fra SIGGRAPH -konferencen (forfatterne Yu og Losasso [3] ). Algoritmen er designet som en forlængelse af både "overfladenet" og " marching cubes " algoritmerne. Algoritmen holder det dobbelte toppunkt inde i voxelen , men ikke nødvendigvis i midten. Dual contouring gør maksimal brug af positionen og normalen , hvor overfladen skærer kanterne på voxelen for at interpolere positionen af den dobbelte top i voxelen . Dette giver dig mulighed for at skabe jævne eller glatte overflader, da overfladenettet ofte ser klumpet ud eller forkert affaset [4] . Dual contouring bruger ofte octree overfladebehandling til at optimere antallet af trekanter i den resulterende overfladerepræsentation.
Dobbelt manifoldkontur involverer at analysere naboerne til en oktreenode for at opretholde kontinuiteten af manifoldoverfladen [5] [6] [7] .
Eksempler på isooverflader er de " metasfærer ", der bruges i 3D-gengivelse. En mere generel måde at konstruere en isosurface på er at bruge funktionsrepræsentationen .