[QGHG-it-dev-list] Zadatak 17 - Pachner-ov potez 2-u-2 (2-dim kompleks)
Marko Vojinovic
vmarko at ipb.ac.rs
Tue Mar 1 03:56:01 CET 2022
Implementirati f-ju koja ce da realizuje Pachner-ov potez 2-u-2 za kompleks dimenzije D=2:
KSimplex* Pachner_move_2_to_2( KSimplex *simp, SimpComp *G );
Input: 1-simpleks simp nad kojim se vrsi potez, kompleks G.
Output: 1-simpleks koji se kreira potezom.
Ovaj potez se vrsi nad edge-om koji je susedan za dva trougla u kompleksu D=2, i vraca takodje edge koji ce biti kreiran potezom. Tablice koje definisu potez su sledece (obavezno na papiru nacrtajte slike za ove tablice):
Pocetna struktura:
k=0: 1, 2, 3, 4
k=1: (1-2), (2-3), (3-4), (4-1), (4-2)
k=2: (1-2-4), (2-3-4)
Finalna struktura:
k=0: 1, 2, 3, 4
k=1: (1-2), (2-3), (3-4), (4-1), (1-3)
k=2: (1-2-3), (1-3-4)
Ukratko, obrisali smo oba trougla i ivicu (4-2), i zatim umesto njih napravili ivicu (1-3) i dva nova trougla. Input f-je je ivica (4-2) koju cemo obrisati, a output je ivica (1-3) koju cemo kreirati. Algoritam za potez pravite po analogiji sa zadatkom 16. Jedina dva dodatna detalja u odnosu na taj algoritam su sledeci:
(1') Proveriti da li simp ima tacno dva trougla kao svoje nad-susede. Takodje proveriti da li je vrednost Boundary boje za simp setovana na "false" (ovo ako je simp uopste obojen Boundary bojom --- ako nije, podrazumevati da je "false"). Ako bilo sta od ovoga nije ispunjeno, prijaviti warning u log i vratiti nullptr.
(4') Proveriti da li je simp bio obojen Boundary bojom. Ako jeste, obojiti i novokreirani edge (1-3) tom bojom, i setovati vrednost na "false".
F-ju testirate pomocu print_compact() pre i posle, kao i u prethodnom zadatku.
:-)
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