This shows you the differences between two versions of the page.
|
vdvac:lab1 [2024/03/06 09:46] anca.morar [Cerinte laborator] |
vdvac:lab1 [2024/03/07 08:52] (current) anca.morar [Concepte teoretice] |
||
|---|---|---|---|
| Line 13: | Line 13: | ||
| * un cub cu vârfuri care au asociate valori scalare | * un cub cu vârfuri care au asociate valori scalare | ||
| **Izosuprafața** - suprafața care are aceeași valoare scalară (izovaloare) în toate punctele sale | **Izosuprafața** - suprafața care are aceeași valoare scalară (izovaloare) în toate punctele sale | ||
| + | |||
| **Izovaloarea** - o valoare care are o anumită semnificație în funcție de domeniu. Exemple: | **Izovaloarea** - o valoare care are o anumită semnificație în funcție de domeniu. Exemple: | ||
| * densitate (medicină) | * densitate (medicină) | ||
| Line 46: | Line 47: | ||
| ===== Implementare ===== | ===== Implementare ===== | ||
| - | Framework-ul de laborator se poate descărca de aici. | + | Framework-ul de laborator se poate descărca de [[https://graphics.cs.pub.ro/~anca/Vizualizare_volumetrica/|aici]] sau de pe Moodle. |
| ==== Atribute ==== | ==== Atribute ==== | ||
| Line 76: | Line 77: | ||
| * ''grid.n[]'' conțin normalele vârfurilor voxelului curent (calculate conform **Fig. 4**): de exemplu, | * ''grid.n[]'' conțin normalele vârfurilor voxelului curent (calculate conform **Fig. 4**): de exemplu, | ||
| <code> grid.n[0] = glm::vec3(volumeData[z * xsize * ysize + y * xsize + (x+1)] - volumeData[z * xsize * ysize + y * xsize + (x-1)],volumeData[z * xsize * ysize + (y+1) * xsize + x] - volumeData[z * xsize * ysize + (y-1) * xsize + x],volumeData[(z+1) * xsize * ysize + y * xsize + x] - volumeData[(z-1) * xsize * ysize + y * xsize + x]); | <code> grid.n[0] = glm::vec3(volumeData[z * xsize * ysize + y * xsize + (x+1)] - volumeData[z * xsize * ysize + y * xsize + (x-1)],volumeData[z * xsize * ysize + (y+1) * xsize + x] - volumeData[z * xsize * ysize + (y-1) * xsize + x],volumeData[(z+1) * xsize * ysize + y * xsize + x] - volumeData[(z-1) * xsize * ysize + y * xsize + x]); | ||
| - | grid.n[1] = glm::vec3(volumeData[z * xsize * ysize + y * xsize + (x+2)] - volumeData[z * xsize * ysize + y * xsize + x],volumeData[z * xsize * ysize + (y+1) * xsize + x] - volumeData[z * xsize * ysize + (y-1) * xsize + x],volumeData[(z+1) * xsize * ysize + y * xsize + x] - volumeData[(z-1) * xsize * ysize + y * xsize + x]); | + | grid.n[1] = glm::vec3(volumeData[z * xsize * ysize + y * xsize + (x+2)] - volumeData[z * xsize * ysize + y * xsize + x],volumeData[z * xsize * ysize + (y+1) * xsize + (x+1)] - volumeData[z * xsize * ysize + (y-1) * xsize + (x+1)],volumeData[(z+1) * xsize * ysize + y * xsize + (x+1)] - volumeData[(z-1) * xsize * ysize + y * xsize + (x+1)]); |
| //Atentie sa nu ieșiti din volum !!! | //Atentie sa nu ieșiti din volum !!! | ||
| </code> | </code> | ||