[QGHG-it-dev-list] Zadatak 5 - seed fja za D-sferu

Marko Vojinovic vmarko at ipb.ac.rs
Fri Feb 11 22:55:43 CET 2022


Implementirati seed f-ju za D-sferu (za proizvoljnu vrednost D):

    SimpComp* seed_sphere( int D );

    Input: Dimenzija D-sfere.
    Output: pointer na instancirani simplicijalni kompleks D-sfere.

Algoritam za D-sferu se oslanja na resenje zadatka 3. Naime, D-sfera je granica D+1-simpleksa, pa se njeno instanciranje svodi na instanciranje jednog D+1-simpleksa i zatim brisanje njegove "unutrasnjosti" (k-simpleksa nivoa k = D+1), sto ostavlja samo njegov "omotac" dimenzije D, tj. D-sferu. Na primer, krug (sfera D=1) se moze dobiti tako sto instanciramo trougao (D=2), pa onda iz njega obrisemo 2-simpleks (unutrasnjost trougla), a ostavimo 1-simplekse i 0-simplekse (ivice i temena trougla). Ta intuicija radi za proizvoljnu dimenziju D. Algoritam je sledeci:

(1) Instancirati kompleks za jedan D+1-simpleks, f-jom seed_single_simplex(D+1) iz zadatka 3.

(2) Za svaki k-simpleks, smanjiti velicinu vektora suseda (neighbors->elements) sa D+1 na D, brisanjem poslednjeg elementa (nivo k = D+1). Takodje prepraviti vrednost varijable "D" (dimenzija) datog k-simpleksa sa vrednosti D+1 na vrednost D.

(3) U strukturi kompleksa, deinstancirati k-simpleks nivoa k = D+1 (ima samo jedan tog nivoa), zajedno sa svim njegovim bojama i susedima. Zatim smanjiti velicinu vektora celog kompleksa (elements) sa D+1 na D brisanjem poslednjeg elementa. Konacno, smanjiti varijablu "D" kompleksa sa vrednosti D+1 na vrednost D, i u ime kompleksa (name) upisati string "#-sphere", gde je # vrednost dimenzije D.

(4) Deinstancirati Boundary boje sa svih k-simpleksa reda k=D (sfera nema granicu).


:-)
Marko


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