@@ -18,7 +18,7 @@ However, in some configurations, flip action can lead to problematic configurati
1818 <img src =" img/actions/flip_c_after.png " width =" 350 " />
1919
2020 * ** triangular quad:** This configuration should be avoided, as it results in the creation of a degenerate (flat) triangle. As illustrated in the figures below, flipping dart 0 leads to a flattened face between nodes 2, 0, and 7.
21- *
21+
2222 <img src =" img/actions/flip_before_tri.png " width =" 350 " />
2323 <img src =" img/actions/flip_after_tri.png " width =" 350 " />
2424
@@ -51,7 +51,6 @@ However, in some configurations, collapse action can also lead to problematic co
5151* ** Adjacency too high :** When nodes A already has an adjacency higher than 10, collapse is not possible.
5252* ** Configuration who tends to imply edge reversal** : To detect these situations, we look a the type of darts in the surrounding. When there are some darts with concave surrounding, collapse action can lead to edge reversal.
5353
54-
5554<img src =" img/actions/collapse_reversal_before.png " width =" 400 " />
5655<img src =" img/actions/collapse_reversal_after.png " width =" 360 " />
5756
@@ -65,41 +64,41 @@ However, in some configurations, collapse action can also lead to problematic co
6564
6665The ** flip** action can be decomposed as follows:
6766
68- - Check whether the dart ` d ` exists.
69- - Update the ** beta1** relations.
70- - Update the links from nodes ` n1 ` and ` n2 ` , if they were previously linked to the flipped dart.
71- - Update the links from faces ` F1 ` and ` F2 ` , if they were previously linked to the flipped dart.
72- - Update the node links for ` d ` and ` d2 ` .
73- - Update the face links depending on the orientation (darts which change of face):
74- - If ** counterclockwise** : update links for ` d1 ` and ` d21 ` .
75- - If ** clockwise** : update links for ` d2111 ` and ` d111 ` .
76- - Update the scores of the nodes.
67+ * Check whether the dart ` d ` exists.
68+ * Update the ** beta1** relations.
69+ * Update the links from nodes ` n1 ` and ` n2 ` , if they were previously linked to the flipped dart.
70+ * Update the links from faces ` F1 ` and ` F2 ` , if they were previously linked to the flipped dart.
71+ * Update the node links for ` d ` and ` d2 ` .
72+ * Update the face links depending on the orientation (darts which change of face):
73+ * If ** counterclockwise** : update links for ` d1 ` and ` d21 ` .
74+ * If ** clockwise** : update links for ` d2111 ` and ` d111 ` .
75+ * Update the scores of the nodes.
7776
7877## Split
7978
8079<img src =" img/actions/split_quad.png " width =" 600 " />
8180
8281The ** split** action can be decomposed as follows:
8382
84- - Check whether the dart ` d ` exists.
85- - Create a new node ** n10** in the middle of [ n1,n2]
86- - Update node links of ` d ` and ` d21 ` , they are now linked to ` n10 `
87- - Create a new face with yellow darts
88- - Update the ** beta2** relations (` d1112 ` , ` d111 ` ,` d212 ` , ` d21 ` ).
89- - Update the scores of the nodes.
83+ * Check whether the dart ` d ` exists.
84+ * Create a new node ** n10** in the middle of [ n1,n2]
85+ * Update node links of ` d ` and ` d21 ` , they are now linked to ` n10 `
86+ * Create a new face with yellow darts
87+ * Update the ** beta2** relations (` d1112 ` , ` d111 ` ,` d212 ` , ` d21 ` ).
88+ * Update the scores of the nodes.
9089
9190## Collapse
9291
9392<img src =" img/actions/collapse_quad.png " width =" 600 " />
9493
9594The ** collapse** action can be decomposed as follows:
9695
97- - Check whether the dart ` d ` exists.
98- - Save the score of node ` n1 ` for later computation.
99- - If ` n3 ` is not on the boundary, move its coordinates to the midpoint between ` n3 ` and ` n1 ` .
100- - Check if nodes ` n2 ` and ` n4 ` are linked to the dart being deleted. If so, reassign their links to existing darts (node ` n3 ` will be checked later).
101- - Delete the face associated with ` d ` , along with its related darts.
102- - Reassign all darts previously linked to ` n1 ` so they now point to ` n3 ` .
103- - Link the dart associated with ` n3 ` to an existing node.
104- - Update the ** beta2** relations (` d2 ` /` d12 ` , ` d112 ` /` d1112 ` ).
105- - Recalculate the scores of the affected nodes.
96+ * Check whether the dart ` d ` exists.
97+ * Save the score of node ` n1 ` for later computation.
98+ * If ` n3 ` is not on the boundary, move its coordinates to the midpoint between ` n3 ` and ` n1 ` .
99+ * Check if nodes ` n2 ` and ` n4 ` are linked to the dart being deleted. If so, reassign their links to existing darts (node ` n3 ` will be checked later).
100+ * Delete the face associated with ` d ` , along with its related darts.
101+ * Reassign all darts previously linked to ` n1 ` so they now point to ` n3 ` .
102+ * Link the dart associated with ` n3 ` to an existing node.
103+ * Update the ** beta2** relations (` d2 ` /` d12 ` , ` d112 ` /` d1112 ` ).
104+ * Recalculate the scores of the affected nodes.
0 commit comments