[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