Abstrakt. Att skapa en mesh är det första steget i ett brett spektrum av tillämpningar, inklusive vetenskaplig databehandling och datorgrafik. En ostrukturerad simplexmaska kräver ett urval av meshpoints (vertex noder) och en triangulation. Vi vill erbjuda en kort och enkel MATLAB-kod, beskriven mer i detalj än vanligt, så att läsaren kan experimentera (och lägga till koden) med de underliggande principerna. Vi hittar noden platser genom att lösa för jämvikt i en truss struktur (med bitvis linjära kraft-förskjutning relationer) och vi återställa topologi av Delaunay algoritm. Geometrin beskrivs implicit genom sin avståndsfunktion. Förutom att vara mycket kortare och enklare än andra meshing tekniker, vår algoritm producerar vanligtvis maskor av mycket hög kvalitet. Vi diskuterar sätt att förbättra robustheten och prestandan, men vårt mål här är enkelhet. Läsarna kan ladda ner (och redigera) koderna från http://math.mit.edu/~persson/mesh. Nyckelord. Mesh generering, avstånd funktioner, Delaunay triangulation AMS ämnesklassificeringar. 65M50, 65N50 1. Inledning. Mesh generatorer tenderar att vara komplexa koder som är nästan otillgängliga. De används ofta bara som "svarta lådor". Meshing mjukvaran är svår att integrera med andra koder - så användaren ger upp kontrollen. Vi tror att förmågan att förstå och anpassa en mesh generation kod (som man kan göra med visualisering, eller en ändlig element eller ändlig volymkod, eller geometri modellering i datorgrafik) är alltför värdefullt ett alternativ att förlora. Vårt mål är att utveckla en nätgenerator som kan beskrivas i några dussin rader av MATLAB. Vi skulle kunna erbjuda snabbare implementeringar och förbättringar av algoritmen, men vår främsta förhoppning är att användarna kommer att ta denna kod som utgångspunkt för sitt eget arbete. Det är underförstått att programvaran inte kan vara helt toppmodern, men den kan vara enkel och effektiv och offentlig. Ett viktigt beslut är hur geometrin ska representeras (regionens form). Vår kod använder en signerad avståndsfunktion d(x, y), negativ inom regionen. Vi visar i detalj hur man skriver avståndet till gränsen för enkla former, och hur man kombinerar dessa funktioner för mer komplexa objekt. Vi visar också hur man beräknar avståndet till gränser som implicit ges genom ekvationer f (x, y) = 0, eller genom värden av d(x, y) vid en diskret uppsättning meshpoints. För den faktiska meshgenerationen är vår iterativa teknik baserad på den fysiska analogin mellan en simplex mesh och en spuss struktur. Meshpoints är noder av truss. Om vi antar en lämplig kraftdisplacement funktion för stängerna i truss vid varje iteration, löser vi för jämvikt. Krafterna flyttar noderna, och (itativt) den Delaunay triangulation algoritm justerar topologin (det bestämmer kanterna). Det är de två viktiga stegen. Den resulterande maskan är förvånansvärt välformad, och Fig. 5.1 Kombinationen av avståndsfunktionsrepresentation och nodrörelser från krafter visar sig vara bra. Avståndsfunktionen avgör snabbt om en nod är
I det andra steget av algoritmen, hörn av mesh flyttas dynamiskt för att förbättra mesh kvalitet, delvis baserat på de idéer som presenteras i DistMesh algoritm REF.
A Simple Mesh Generator in MATLAB
{'venue': 'SIAM Review', 'journal': None, 'mag_field_of_study': ['Mathematics', 'Computer Science']}