[QGHG-it-dev-list] Zadatak 1 --- seed fja za tetraedar

Marko Vojinovic vmarko at ipb.ac.rs
Mon Feb 14 19:44:06 CET 2022


Pozdrav Jaroslave i Nenade,

Odlicno, to je to, samo treba da se doteraju susedi. Plan je sledeci --- kad budemo napravili f-je za "rast" kompleksa, videcemo koliko memorije kompleks trosi. Onda mozemo iz nekog velikog kompleksa da obrisemo sve susede sem prvih nad- i pod-suseda, i da vidimo koliko ce to memorije da oslobodi, i da li nam je zgodnije da ostale susede pamtimo ili racunamo svaki put. Ali to cemo da testiramo i odlucimo posle --- a za sada u seed f-jama zadajemo sve susede.

Drugo, ako nije jasno sa slike sta je cemu susedno (sto ume da bude konfuzno dok se ne uvezbate), mozete da primenite korake (2.1) i (2.2) iz algoritma za zadatak 3. Za tetraedar to moze bez problema da se ispise na papiru, i onda znate koji simpleksi treba da se stave u koje susede.

I da odgovorim na pitanja:

> Tetrahedron sam nacrtao ručno (nisam mogao da kopam po snimljenom materijalu, mislim da smo ga negde crtali), pa sam ga opisao u kodu.

Ok, mada nema potrebe --- dok ne zadamo tetraedru neke specificne osobine (stavljanjem boja), tetraedar je tetraedar, svi su isti. :-) Kako god ga nacrtao, on ima 4 temena, 6 ivica, 4 trougla i 1 unutrasnjost (sa pravilno zakacenim susedima). :-)

> Nisam još dodelio uniqueID boje, jer to nije traženo u zadatku. S obzirom da je to implementirano u seed_single_triangle metodi, trebalo bi da bude i ovde?

Ne treba da dodeljujes UniqueID boje, to cemo da izbacimo i iz seed_single_triangle(), i umesto toga cemo da napravimo par zasebnih funkcija da stavljaju te boje --- to je cilj zadatka 2. Jedina boja koju zadajemo eksplicitno u seed f-jama je Boundary boja (i to samo ako dati kompleks ima granicu, a inace ni nju ne stavljamo). Sve ostale boje ce se dodavati nekim drugim f-jama (izvan seed f-ja), kad nam koja boja zatreba --- ukljucujuci i UniqueID.

> Takođe, kako glasi množina od k-simplex (k-simplexes, k-simplices?).

Koliko znam, "k-simplices" je gramaticki pravilna mnozina. Ali to nije neko ostro pravilo, moze da se naidje i na "k-simplexes" po literaturi...

> Verujem da su nam ove seed funkcije zagrevanje za seed n-dimenzionalnog KSimplex-a, pa možda nema potrebe kopirati mnogo linija koda samo kao proof-of-concept.

Jeste, ove seed f-je jesu donekle za zagrevanje za zadatke 3 i 5 (i jos neke koji su u planu), ali ce da budu korisne i za testiranje ispravnosti seed f-je za D-simpleks --- to je zadatak 4. Ja sam tamo napisao da rezultat seed f-je za D-simpleks napisete na ekran i uporedite sa slikom na papiru, ali mozete nezavisno da izvrsite i ove seed f-je koje smo sad napravili, pa da uporedite sa sa njihovim rezultatom. Znaci generises jedan kompleks sa ovom f-jom za tetraedar, drugi kompleks sa opstom f-jom za D-simpleks (za D=3), zatim obojis i odstampas jedan, pa obojis i odstampas drugi, i uporedis izlaze --- ako je sve ok, rezultati bi morali da budu identicni. :-)

:-)
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



On Mon, 14 Feb 2022, Nenad Korolija wrote:

> Zdravo Jaroslave,
> 
> Mislim da je dobro što si dao boundary boje, a ne UniqueID boje. Taj deo treba da pročistim iz koda seed funkcija koje sam pisao. Za sad su tamo da bi se stekao osećaj kako se boji
> UniqueID bojama i kako se štampaju (kompaktno) kompleksi u zavisnosti od toga da li tačke imaju UniqueID.
> 
> Meni deluje lepo urađeno ovo, samo što ostaje da se dogovorimo oko toga da li hoćemo da pamtimo samo susede susednih dimenzija, ili svih. Ako samo susednih, onda za trouglove ne moramo
> da imamo tačke. Ako svih, onda i za tetraedar treba dodati susede nižeg nivoa od trouglova i obrnuto - dodati tetraedar kao sused drugima.
> 
> Koliko sam Marka razumeo, dobro je da imamo obe opcije, pa da u praksi vidimo koja se pokazuje kao bolja, tako da sam ja za to da se dodaju i za tetraedar niži susedi, ali neka Marko
> proceni.
> Verujem da su nam ove seed funkcije zagrevanje za seed n-dimenzionalnog KSimplex-a, pa možda nema potrebe kopirati mnogo linija koda samo kao proof-of-concept. U svakom slučaju, treba
> da se dogovorimo i uniformišemo.
> 
> Možda možeš da postaviš na github.
> 
> Pozdrav,
> Nenad
> 
> On Mon, Feb 14, 2022 at 5:04 PM Jaroslav Blagojevic <jaroslav.blagojevic at gmail.com> wrote:
>       Rasparčala se poruka, pa da je spojim. Seed tetrahedrona u prilogu. Tetrahedron sam nacrtao ručno (nisam mogao da kopam po snimljenom materijalu, mislim da smo ga negde
>       crtali), pa sam ga opisao u kodu. Nisam još dodelio uniqueID boje, jer to nije traženo u zadatku. S obzirom da je to implementirano u seed_single_triangle metodi, trebalo bi
>       da bude i ovde? Takođe, kako glasi množina od k-simplex (k-simplexes, k-simplices?).
> 
> Pozdrav,
> 
> Jaroslav
> 
> 
> On Mon, Feb 14, 2022 at 4:48 PM Jaroslav Blagojevic <jaroslav.blagojevic at gmail.com> wrote:
>       Pozdrav,
>       Jaroslav
> 
> 
> On Mon, Feb 14, 2022 at 4:48 PM Jaroslav Blagojevic <jaroslav.blagojevic at gmail.com> wrote:
>       Seed tetrahedrona u prilogu. Tetrahedron sam nacrtao ručno (nisam mogao da kopam po snimljenom materijalu, mislim da smo ga negde crtali), pa sam ga opisao u
>       kodu. Nisam još dodelio uniqueID boje, jer to nije traženo u zadatku. S obzirom da je to implementirano u seed_single_triangle metodi, trebalo bi da bude i ovde?
>       Takođe, kako glasi množina od k-simplex (k-simplexes, k-simplices?).
> 
> On Fri, Feb 11, 2022 at 10:29 PM Marko Vojinovic <vmarko at ipb.ac.rs> wrote:
>
>       Upoznati se sa osnovnim klasama (SimpComp i KSimplex) kroz problem implementiranja seed f-je za jedan tetraedar (D=3):
>
>          SimpComp* seed_single_tetrahedron( void );
>
>          Input: nema.
>          Output: pointer na instancirani simplicijalni kompleks koji se sastoji od jednog tetraedra.
>
>       Funkciju implementirati kao uopstenje jednostavnijih seed f-ja seed_single_edge() i seed_single_triangle() koje je Nenad uradio, i koje kreiraju slicne
>       komplekse za dimenzije D=1 i D=2 redom. Postupak ide u tri koraka:
>
>       (1) Instancirati nov simplicijalni kompleks dimenzije D=3 i iskoristiti metod create_ksimplex() iz klase SimpComp za kreiranje odgovarajuceg broja
>       simpleksa nivoa k=0 (verteksi), k=1 (edgevi), k=2 (trouglovi) i k=3 (tetraedar) u tom kompleksu.
>
>       (2) Popuniti podklasu neighbors svakog simpleksa pointerima na njegove susede, koristeci metod add_neighbor() iz klase KSimplex, na osnovu slike tetraedra
>       i definicije suseda sa uvodnih predavanja.
>
>       (3) Simpleksima nivoa k=2 (tj. trouglovima) dodeliti boju boundary, i za svaki trougao zadati vrednost te boje na true.
> 
>
>       :-)
>       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
> 
>
>       --
>       QGHG-it-dev-list mailing list
>       QGHG-it-dev-list at ipb.ac.rs
>       http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
> 
> --
> QGHG-it-dev-list mailing list
> QGHG-it-dev-list at ipb.ac.rs
> http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
> 
> 
>


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