[QGHG-it-dev-list] Zadatak 3 - seed fja za D-simpleks
Dusan Cvijetic
dusancvijetic2000 at gmail.com
Mon Sep 26 18:11:58 CEST 2022
Pozdrav svima,
Završene su mi obaveze, pa bih preuzeo sad ovaj zadatak da radim.
Potvrdite mi samo da ovo nije već odrađeno.
Pozdravi,
Dušan
On 11-Feb-22 10:44 PM, Marko Vojinovic wrote:
>
> Implementirati seed f-ju za jedan D-simpleks (za proizvoljnu dimenziju
> D):
>
> SimpComp* seed_single_simplex( int D );
>
> Input: dimenzija D (pozitivan ceo broj).
> Output: pointer na instancirani simplicijalni kompleks koji se
> sastoji od jednog D-simpleksa.
>
> Ova f-ja predstavlja opsti slucaj f-ja seed_single_edge(),
> seed_single_triangle() i seed_single_tetrahedron(), koje rade isti
> posao za D=1,2,3. Postupak i ovde ide u tri glavna koraka:
>
> (1) Instancirati nov simplicijalni kompleks zadate dimenzije D i
> metodom create_ksimplex() kreirati simplekse svih nivoa od k=0 do k=D.
> Broj simpleksa datog nivoa k je jednak "D+1 nad k+1" (broj kombinacija
> k+1-vog reda od D+1 elemenata), tj. (D+1)! / ( (k+1)! (D-k)! ).
> Specijalno, ukupan broj verteksa (k=0) je D+1.
>
> (2) Popuniti podklasu neighbors svakog simpleksa pointerima na njegove
> susede, koristeci add_neighbor(). Za slucaj proizvoljnog D-simpleksa
> ne mozemo da se oslonimo na sliku, vec se mora implementirati
> algoritam za prepoznavanje suseda (vidi nize).
>
> (3) Simpleksima nivoa k = D-1 dodeliti boju boundary, i za svaki
> simpleks zadati vrednost boje na true.
>
> Algoritam za odredjivanje da li je dati n-simpleks podsused datog
> k-simpleksa se realizuje na sledeci nacin:
>
> (2.1) Prvo se za svaki k-simpleks (k>0) zadaju njegovi susedi nivoa
> k=0 (verteksi). Posto u celom kompleksu imamo tacno D+1 verteksa,
> svaki k-simpleks ima tacno "D+1 nad k+1" razlicitih verteksa, po
> definiciji D-simpleksa. Drugim recima, treba birati redom svaku
> kombinaciju k+1-ve klase od D+1 verteksa, i dodeljivati ih kao susede
> nivoa k=0 redom svakom k-simpleksu (jedna kombinacija u jedan
> k-simpleks, tako da ne postoje dva k-simpleksa sa istim skupom 0-suseda).
>
> (2.2) Kada je korak (2.1) zavrsen, mozemo da odgovorimo na pitanje da
> li je dati n-simpleks podsused datog k-simpleksa (n<k), tako sto
> proverimo da li su svi 0-susedi n-simpleksa istovremeno i 0-susedi
> k-simpleksa. Ako jesu, onda je n-simpleks podsused k-simpleksa, a ako
> postoji makar jedan verteks koji pripada n-simpleksu a ne pripada
> k-simpleksu, onda nije podsused.
>
> Koristeci kriterijum (2.2), za dati k-simpleks prodjemo kroz sve
> n-simplekse 0<n<k, i one koji ispune kriterijum stavimo u pod-susede
> k-simpleksa nivoa n, i takodje u n-simpleks stavimo k-simpleks kao
> nad-sused nivoa k. Ovo ponoviti za sve k-simplekse 1<k<=D.
>
>
> :-)
> 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