x

y

ymin = -1.6546628347690884
ymax = 1.0520935369075315
yscale: ymax - ymin
threshold = 0.03
xmax = 6.558750579290071
xmin = -4.4276243242304485
xscale: xmax - xmin
LL = Corner(1)
UR = Corner(3)
threshold_x: (threshold * xscale)
threshold_y: (threshold * yscale)
xlabeldisplayed: "" + (LaTeX[xlabel]) + ""
ylabeldisplayed: "" + (LaTeX[ylabel]) + ""
A11_sub = (1.212889994052117, -0.014803135140187208)
A12_sub = (2.658096398985212, -0.02797469899262818)
A21_sub = (3.191279344494509, 0.8084196056373736)
A22_sub = (1.0585475624573204, 0.7623191321538302)
dx: 0.1
dy: 0.1
list1 = Sequence(x = j, j, (round(xmin / dx) * dx), xmax, dx)
list2 = Sequence(y = i, i, (round(ymin / dy) * dy), ymax, dy)
A11 = DynamicCoordinates(A11_sub, Min[Max[(round(x(A11_sub) / dx) * dx), (xmin * 0.9) + (xmax * 0.1)], (xmax * 0.9) + (xmin * 0.1)], Min[Max[(round(y(A11_sub) / dy) * dy), ymin], ymax])
A12 = DynamicCoordinates(A12_sub, Min[Max[(round(x(A12_sub) / dx) * dx), (xmin * 0.9) + (xmax * 0.1)], (xmax * 0.9) + (xmin * 0.1)], Min[Max[(round(y(A12_sub) / dy) * dy), ymin], ymax])
A21 = DynamicCoordinates(A21_sub, Min[Max[(round(x(A21_sub) / dx) * dx), (xmin * 0.9) + (xmax * 0.1)], (xmax * 0.9) + (xmin * 0.1)], Min[Max[(round(y(A21_sub) / dy) * dy), ymin], ymax])
A22 = DynamicCoordinates(A22_sub, Min[Max[(round(x(A22_sub) / dx) * dx), (xmin * 0.9) + (xmax * 0.1)], (xmax * 0.9) + (xmin * 0.1)], Min[Max[(round(y(A22_sub) / dy) * dy), ymin], ymax])
r1a = Ray(A11, (2 * A11) - A12)
r1b = Ray(A12, (2 * A12) - A11)
s1 = Segment(A11, A12)
r2a = Ray(A21, (2 * A21) - A22)
r2b = Ray(A22, (2 * A22) - A21)
s2 = Segment(A21, A22)
r1astable = false
r1bstable = false
r2astable = false
r2bstable = false
s1stable = false
s2stable = false
H1_sub = (1.2, 0)
H1 = DynamicCoordinates(H1_sub, Min[Max[(round(x(H1_sub) / dx) * dx), xmin], xmax], Min[Max[(round(y(H1_sub) / dy) * dy), ymin], ymax])
H2_sub = (3.387715166524249, 0.4001011262117034)
H2 = DynamicCoordinates(H2_sub, Min[Max[x(H2_sub), xmin], xmax], Min[Max[y(H2_sub), ymin], ymax])
c_parab: (x(H2) - x(H1)) / (y(H2) - y(H1))^(2)
parab1(x) = If[Min[x(H1), x(H2)] ≤ x ≤ Max[x(H1), x(H2)], sqrt((x - x(H1)) / c_parab) + y(H1)]
parab2(x) = If[Min[x(H1), x(H2)] ≤ x ≤ Max[x(H1), x(H2)], (-sqrt((x - x(H1)) / c_parab)) + y(H1)]
parabstable = true
e1: 0
e2: 0.8
hb: 1.2
e2stable: false
e1stable_right: true
e1stable_left: ¬e1stable_right
lc_stable: true
lc_right: true
r1ind = If(x(A11) ≠ x(A12), If[y(A11) ≟ e1 ∧ y(A12) ≟ e1, 1, If[y(A11) ≟ e2 ∧ y(A12) ≟ e2, 2, 0]], 0)
r2ind = If(x(A21) ≠ x(A22) ∧ (y(A21) ≠ y(A11) ∨ y(A22) ≠ y(A12)), If[y(A21) ≟ e1 ∧ y(A22) ≟ e1, 1, If[y(A21) ≟ e2 ∧ y(A22) ≟ e2, 2, 0]], 0)
HP_sub = (0.02024393172868823, 0.2617997057610732)
hpsuper_sub = true
hp_text = If(hpsuper_sub, "supercritical HB", "subcritical HB")
HP = DynamicCoordinates(HP_sub, Min[Max[(round(x(HP_sub) / dx) * dx), xmin], xmax], Min[Max[(round(y(HP_sub) / dy) * dy), ymin], ymax])
founde1: r1ind ≟ 1 ∨ r2ind ≟ 1
founde2: r1ind ≟ 2 ∨ r2ind ≟ 2
e2stablecorrect: r1ind ≟ 2 ∧ r1astable ≟ e2stable ∧ r1bstable ≟ e2stable ∧ s1stable ≟ e2stable ∨ r2ind ≟ 2 ∧ r2astable ≟ e2stable ∧ r2bstable ≟ e2stable ∧ s2stable ≟ e2stable
show_correct = true
step = 1 (slider from 1 to 2, step 1)
hpsuper = If(step ≥ 2, hpsuper_sub, -1)
lccorrectorientation: If[lc_right, x(H2) > x(H1), x(H2) < x(H1)] ∧ step ≥ 2
lccorrectstability: parabstable ≟ lc_stable ∧ step ≥ 2
lccorrectwidth: abs(y(H2) - y(H1)) ≤ abs(e1 - e2) ∧ step ≥ 2
e1stablecorrectleft: r1ind ≟ 1 ∧ (abs(x(A11) - hb) < 1.0E-5 ∧ If[x(A12) < hb, s1stable ≟ e1stable_left ∧ r1bstable ≟ e1stable_left, r1astable ≟ e1stable_left] ∨ abs(x(A12) - hb) < 1.0E-5 ∧ If[x(A11) < hb, s1stable ≟ e1stable_left ∧ r1astable ≟ e1stable_left, r1bstable ≟ e1stable_left]) ∨ r2ind ≟ 1 ∧ (abs(x(A21) - hb) < 1.0E-5 ∧ If[x(A22) < hb, s2stable ≟ e1stable_left ∧ r2bstable ≟ e1stable_left, r2astable ≟ e1stable_left] ∨ abs(x(A22) - hb) < 1.0E-5 ∧ If[x(A21) < hb, s2stable ≟ e1stable_left ∧ r2astable ≟ e1stable_left, r2bstable ≟ e1stable_left])
e1stablecorrectright: r1ind ≟ 1 ∧ (abs(x(A11) - hb) < 1.0E-5 ∧ If[x(A12) < hb, r1astable ≟ e1stable_right, s1stable ≟ e1stable_right ∧ r1bstable ≟ e1stable_right] ∨ abs(x(A12) - hb) < 1.0E-5 ∧ If[x(A11) < hb, r1bstable ≟ e1stable_right, s1stable ≟ e1stable_right ∧ r1astable ≟ e1stable_right]) ∨ r2ind ≟ 1 ∧ (abs(x(A21) - hb) < 1.0E-5 ∧ If[x(A22) < hb, r2astable ≟ e1stable_right, s2stable ≟ e1stable_right ∧ r2bstable ≟ e1stable_right] ∨ abs(x(A22) - hb) < 1.0E-5 ∧ If[x(A21) < hb, r2bstable ≟ e1stable_right, s2stable ≟ e1stable_right ∧ r2astable ≟ e1stable_right])
hpcorrect: abs(x(HP) - hb) < 1.0E-5 ∧ y(HP) ≟ e1 ∧ step ≥ 2
lccorrectvertex: abs(x(H1) - hb) < 1.0E-5 ∧ y(H1) ≟ e1 ∧ step ≥ 2