Isoyta

En isoyta är en tredimensionell analog av en isolin . Det är en yta som representerar punkter med ett konstant värde (t.ex. tryck , temperatur , hastighet , densitet ) inom en volym av rymden; med andra ord är det en nivåuppsättning av en kontinuerlig funktion vars domän är 3-mellanrum .

Termen isolin används också ibland för domäner med mer än 3 dimensioner.

Isoyta av virvel släpad från ett propellerblad. Observera att detta är en isoyta ritad med en färgkartad skiva.

Ansökningar

Isoytor visas normalt med hjälp av datorgrafik och används som datavisualiseringsmetoder i beräkningsvätskedynamik (CFD), vilket gör att ingenjörer kan studera egenskaper hos ett vätskeflöde (gas eller vätska) runt föremål, såsom flygplansvingar . En isoyta kan representera en individuell stötvåg i överljudsflygning , eller flera isoytor kan genereras som visar en sekvens av tryckvärden i luften som strömmar runt en vinge. Isoytor tenderar att vara en populär form av visualisering för volymdatauppsättningar eftersom de kan renderas av en enkel polygonal modell, som kan ritas på skärmen mycket snabbt.

Vid medicinsk avbildning kan isoytor användas för att representera regioner med en viss densitet i en tredimensionell datortomografi , vilket möjliggör visualisering av inre organ , ben eller andra strukturer.

Många andra discipliner som är intresserade av tredimensionell data använder ofta iso-ytor för att få information om farmakologi , kemi , geofysik och meteorologi .

Implementeringsalgoritmer

Marcherande kuber

Algoritmen för marschkuber publicerades första gången i SIGGRAPH-processen 1987 av Lorensen och Cline, och den skapar en yta genom att skära kanterna på ett datavolymrutnät med volymkonturen. Där ytan skär kanten skapar algoritmen en vertex. Genom att använda en tabell med olika trianglar beroende på olika mönster av kantskärningar kan algoritmen skapa en yta. Denna algoritm har lösningar för implementering både på CPU och på GPU.

Asymptotisk avgörande

Den asymptotiska beslutsalgoritmen utvecklades som en förlängning av marschkuber för att lösa möjligheten till tvetydighet i den.

Marscherande tetraedrar

Algoritmen för marschtetraedrar utvecklades som en förlängning av marschkuber för att lösa en tvetydighet i den algoritmen och för att skapa utdatayta av högre kvalitet.

Ytnät

Surface Nets-algoritmen placerar en korsande vertex i mitten av en volymvoxel istället för vid kanterna, vilket leder till en jämnare utgångsyta.

Dubbla konturer

Algoritmen för dubbla konturer publicerades först i 2002 års SIGGRAPH-processer av Ju och Losasso, utvecklad som en förlängning av både ytnät och marschkuber. Den behåller en dubbel vertex i voxeln men inte längre i mitten. Dubbel konturering utnyttjar positionen och normalen där ytan korsar kanterna på en voxel för att interpolera positionen för den dubbla vertexen inom voxeln. Detta har fördelen av att hålla vassa eller släta ytor där ytnät ofta ser blockiga eller felaktigt avfasade ut. Dubbel konturering använder ofta ytgenerering som utnyttjar okträd som en optimering för att anpassa antalet trianglar i utdata till ytans komplexitet.

Fördelare med dubbla konturer

Förgreningsrörets dubbla konturering inkluderar en analys av octreeområdet för att upprätthålla kontinuiteten hos fördelarytan

Exempel

Exempel på iso-ytor är ' Metaballs ' eller 'blobby-objekt' som används i 3D-visualisering. Ett mer allmänt sätt att konstruera en isoyta är att använda funktionen representation .

Se även

externa länkar