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

Nenad Korolija nenadko at gmail.com
Sat Feb 19 16:50:29 CET 2022


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 at 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 at 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 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
> >>
> >>
> >--
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/attachments/20220219/f71a5077/attachment-0001.htm>


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