[QGHG-it-dev-list] Zadatak 39 - racunanje zapremine k-simpleksa

Marko Vojinovic vmarko at ipb.ac.rs
Mon May 4 06:36:49 CEST 2026


Implementirati staticku funkciju

    double evaluate_volume_squared ( KSImplex *simp )

koja kao input dobija pointer na neki k-simpleks, i kao output vraca vrednost kvadrata zapremine k-simpleksa, definisanu formulom zadatom u [1]. Najpre proveriti da li je pointer dobro definisan, pa ako nije prijaviti gresku log_report funkcijom i vratiti nulu kao vrednost kvadrata zapremine. Ako pointer jeste dobro definisan, onda se kvadrat zapremine racuna po formuli iz [1]:

   v^2 = (-1)^(k+1) / ( (k!)^2 * 2^k ) * Det(CM),

gde je Det(CM) vrednost determinante Cayley-Menger matrice za zadati k-simpleks. Funkcija za determinantu je implementirana u zadatku 37, a Cayley-Menger matrica u zadatku 38. Funkciju evaluate_volume_squared() staviti u fajl math_functions.cpp i odgovarajuci .hpp.

Unutar triangulator/test/ putanje dodati novi fajl volumesquaredtest.cpp, koji cete napraviti na osnovu fajla cayleymengertest.cpp, i izracunati kvadrate zapremina za jednakostranicne k-simplekse za k=0,...,6 (za ove potrebe treba seed-ovati 6-sferu). Uporediti rezultate sa teorijskom formulom za kvadrat zapremine jednakostranicnog k-simpleksa:

   v^2 = (k+1) / ( (k!)^2 * 2^k ).

Ovaj zadatak se ocigledno oslanja na resenje zadatka 38. Ukoliko imate bilo kakva pitanja ili sugestije vezane za ovaj zadatak, slobodno se javite.

:-)
Marko

[1] https://en.wikipedia.org/wiki/Distance_geometry#Cayley%E2%80%93Menger_determinants


Dr. Marko Vojinovic
Group for Gravitation, Particles and Fields
Institute of Physics
University of Belgrade
======================
home page: www.markovojinovic.com
e-mail:    vmarko at ipb.ac.rs




More information about the QGHG-it-dev-list mailing list