Softwareteknologi DTU - Projekt nr. 0080:  GEL Udvidelser
Danmarks Tekniske Universitet DTU
Bachelorprojekt - Softwareteknologi
Projekt nr. 0080:  GEL Udvidelser
Aktuelle Tidligere  

Beskrivelse:

I sektionen for Billedbehandling og Grafik udvikler vi et C++ softwarebibliotek med rutiner til håndtering af geometri (former og polygoner) og lineær algebra. Biblioteket hedder GEL og det anvendes meget til grafik og billedbehandling. En vigtig komponent i bilioteket er HMesh - en datastruktur til at repræsentere polygonale net. Disse kan være triangle meshes eller quad meshes, der anvendes meget til visualisering og 3D modellering. Der kan også være tale om mere komplicerede polygonale net. I den seneste tid er HMesh blevet fundamentalt refaktoriseret, men der er stadig nogle vigtige opgaver tilbage:

  1. Det sæt operationer, der virker på meshet er ikke komplet, og der er nogle konkrete funktioner, som jeg ønsker tilføjet. Blandt andet en funktion til at "lime" to polygoner sammen langs en kant.
  2. Der er en interaktiv applikation (MeshEdit) til at visualisere og manipulere polygonale net. Alle operationer virker indtil videre på hele meshet. Der ønskes tilføjet en feature som gør, at man kan udvælge og manipulere enkelte kanter, vertices og sider. For eksempel skal man kunne vælge et vertex og flytte det eller slette det, eller man skal kunne vælge en kant og flytte den, kollapse den etc.
  3. Der er også behov for et fortolket interface til GEL - f.eks. via Python. En spændende mulighed er at udvide den eksisterende scripting feature i MeshEdit så det er muligt at skrive mere generel kode.

Tanken er at man kan kombinere enten 1. og 2. eller 2. og 3. i et bachelorprojekt, men den præcise opgave skal fastlægges sammen med vejleder. I alle tilfælde er det naturligvis vigtigt, at der ikke introduceres fejl, så udviklingen skal helst være testdrevet, og der skal være præcise specifikationer for hvad de enkelte funktioner gør - også i tilfælde af misbrug.

Forudsætninger:  Grundlæggende kendskab til computer-grafik og computer-vision
Kendskab til C++ og/eller Python

Vejleder(e): Andreas Bærentzen

Sidst opdateret: Oct 31, 2011 af Hans Henrik Løvengreen