Zdravo Marko,

Adaptirao sam add_nighbor da dodaje susede simetricno uz prethodnu proveru.
Azurirao sam onda seed funkcije.
Dodao sam da main stampa i compact tetrahedron.

Hoces da napravim da add_neighbor dodaje i podsusede, tako da za tetrahedron->add_neighbor(trougao), doda ne samo trougao i trouglu tetrahedron, vec i sve ivice trougla (ako vec nisu i svim ivicama trougla tetrahedron) i sve vertekse (ako vec nisu dodate ivice ni verteksi i obrnuto=da verteksima doda tetrahedron)?
Naravno, pravio bih generalno za proizvoljnu dimenziju.


Ako stignes, baci pogled na Triangle compact printing ako ne postavis UniqueID boje, tj. iz seed_single_triangle izbacis pretposlednji paragraf koda ("Create and apply unique ID colors:". :) Ja sam stavio da ne stampa u zagradama ako ne nadje UniqueID color. Mozda treba. Slobodno usput ocisti kod od mojih UniqueID boja.

Pozdrav,
Nenad

On Thu, Feb 17, 2022 at 2:35 PM Marko Vojinovic <vmarko@ipb.ac.rs> wrote:

Pozdrav Jaroslave i Nenade,

Pogledao sam seed f-ju za tetraedar, sve izgleda ok, samo morate da popravite susede jos malo. Naime, tetrahedron1 ("unutrasnjost" kompleksa) je sused za sve ostale simplekse --- ne samo za trouglove, nego i za ivice i vertekse. Pa treba da se poveze i sa njima, na isti nacin kao i trouglovi. Takodje, i svi oni treba da imaju tetrahedron1 kao suseda (ukljucujuci i trouglove).

Btw, izgleda da vam nisam dovoljno precizno objasnio sta znaci "biti sused" na sastancima --- sused datog k-simpleksa su svi simpleksi koji ga "dodiruju" na crtezu. Posto je "unutrasnjost" cele figure takodje k-simpleks (najviseg nivoa k=D), ona uvek dodiruje sve ostale simplekse u figuri.

Drugo, jedna tehnicka sugestija --- posto je "biti sused" uvek simetricna relacija (ako je A sused od B onda je i B sused od A, tj. "dodirivanje" je uvek dvosmerno), ideja je da napravimo malo inteligentniju implementaciju f-je KSimplex::add_neighbor( *k1 ), tako da radi sledece:

(1) proveri da li je dati simpleks k1 vec prisutan na spisku mojih suseda --- dodaj ga ako nije, i zatim
(2) proveri da li sam ja vec prisutan na njegovom spisku suseda --- dodaj me tamo ako nisam.

Ovde pod "ja" mislim na pointer na onaj "this" objekat u odnosu na koji se poziva f-ja. Ovakva implementacija bi s jedne strane osigurala da ne dodamo nesto negde duplo, a s druge strane prepolovila bi kolicinu koda u svim dosadasnjim seed f-jama, da ne moramo uvek da pisemo duple konstrukcije tipa

   e2->add_neighbor(v1);
   v1->add_neighbor(e2);

nego da bude dovoljno pozvati samo jednu od te dve f-je.

:-)
Marko


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



On Mon, 14 Feb 2022, Marko Vojinovic wrote:

>
> 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@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@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@gmail.com> wrote:
>>       Pozdrav,
>>       Jaroslav
>>
>>
>> On Mon, Feb 14, 2022 at 4:48 PM Jaroslav Blagojevic
>> <jaroslav.blagojevic@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@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@ipb.ac.rs
>>
>>
>>       --
>>       QGHG-it-dev-list mailing list
>>       QGHG-it-dev-list@ipb.ac.rs
>>       http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>>
>> --
>> QGHG-it-dev-list mailing list
>> QGHG-it-dev-list@ipb.ac.rs
>> http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>>
>>
>--
QGHG-it-dev-list mailing list
QGHG-it-dev-list@ipb.ac.rs
http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list