Triangular Edge Flips#
A convex quadrilateral has two valid triangularizations. The edge shared by two adjacent triangles can be flipped to switch between the two triangularizations, so that the one leading to a higher element quality can be chosen.
![graph tet3 {
node [shape=point, fontname="source code pro"];
edge [style=solid];
a [pos="-0.1,-0.1!"];
b [pos="1.,0.!"];
c [pos="1.2,1.2!"];
d [pos="0.,1.!"];
a -- b [penwidth=1, color="#d08770"];
b -- c [penwidth=1, color="#d08770"];
a -- c [penwidth=1, color="#d08770:#5e81ac", style=dashed];
c -- d [penwidth=1, color="#5e81ac"];
d -- a [penwidth=1, color="#5e81ac"];
label0 [label="a", pos="-0.2,-0.2!", shape=none, fontname="source code pro"]
label1 [label="b", pos="1.1,-0.1!", shape=none, fontname="source code pro"]
label2 [label="c", pos="1.3,1.3!", shape=none, fontname="source code pro"]
label3 [label="d", pos="-0.1,1.1!", shape=none, fontname="source code pro"]
}](../_images/graphviz-5164a2782cc894aadf0014b8814db02f390f5614.png)
Configuration 1
![graph tet3 {
node [shape=point, fontname="source code pro"];
edge [style=solid];
a [pos="-0.1,-0.1!"];
b [pos="1.,0.!"];
c [pos="1.2,1.2!"];
d [pos="0.,1.!"];
c -- d [penwidth=1, color="#d08770"];
b -- c [penwidth=1, color="#d08770"];
b -- d [penwidth=1, color="#d08770:#5e81ac", style=dashed];
a -- b [penwidth=1, color="#5e81ac"];
d -- a [penwidth=1, color="#5e81ac"];
label0 [label="a", pos="-0.2,-0.2!", shape=none, fontname="source code pro"]
label1 [label="b", pos="1.1,-0.1!", shape=none, fontname="source code pro"]
label2 [label="c", pos="1.3,1.3!", shape=none, fontname="source code pro"]
label3 [label="d", pos="-0.1,1.1!", shape=none, fontname="source code pro"]
}](../_images/graphviz-63e0c3ef7af42e9bb7ff9a063780387dd571d4f5.png)
Configuration 2
Flipping Procedure#
Every edge-connected pair of elements is a candidate for a flip.