ClearAll[ \[Sigma]1, \[Sigma]2, \[Sigma]3, \[Omega], t0, t1, a, b, h, \
m]
\[Omega] = E^(I*Pi/3);
\[Sigma]1 = ( {
{I, 0},
{0, -I}
} ); (*the standard basis for the lie algebra su(2) *)
\[Sigma]2 = \
( {
{0, 1},
{-1, 0}
} );
\[Sigma]3 = ( {
{0, I},
{I, 0}
} );
(*=======================================================================================================================================*)
(*group elements and operations in SU2*)
su2exp[{u1_, u2_, u3_}] :=
MatrixExp[u1*\[Sigma]1 + u2*\[Sigma]2 + u3*\[Sigma]3];
a = su2exp[{Pi/3, 0,
0}]; (*the generators a, b of the binary dihedral group*)
b = su2exp[{0, 0, Pi/2}];
h = su2exp[{Pi/6, 0,
0}]; (* the element in SU(2) which corresponds to the max of the \
Morse function on Chiang*)
(*deviation and interception times for transition discs*)
t0 = ArcCos[
Sqrt[2]/Sqrt[
3]]; (*for example a transition disc intersects the descending \
manifold of x_1prime at exp(t_0 v1prime).\[CapitalDelta]*)
t1 = Pi/2 - t0;
(*stereographic projections*)
stereographicS3[{x_, y_, z_, w_}] := {w/(1 + x), -z/(1 + x),
y/(1 + x)}; (*rotated projection, so plot looks nice*)
stereographicSU2[A_] :=
stereographicS3[{Re[A[[1, 1]]], Im[A[[1, 1]]], Re[A[[1, 2]]],
Im[A[[1, 2]]]}];
(*axes of rotation*)
v1prime = {0, 0, 1};
v2prime = {0, Sqrt[3]/2, -1/2};
v3prime = {0, -Sqrt[3]/2, -1/2};
v1 = {0, -Sqrt[3]/2, 1/2};
v2 = {0, Sqrt[3]/2, 1/2};
v3 = {0, 0, -1};
(*Finding all axes for transitional discs*)
front11 = {Sqrt[6]/3, Sqrt[3]/6, -1/2};
back11 = {-Sqrt[6]/3, Sqrt[3]/6, -1/2};
front12 = {Sqrt[6]/3, -Sqrt[3]/6, -1/2};
back12 = {-Sqrt[6]/3, -Sqrt[3]/6, -1/2};
front22 = RotationMatrix[-2 Pi/3, {1, 0, 0}].front11;
back22 = RotationMatrix[-2 Pi/3, {1, 0, 0}].back11;
front23 = RotationMatrix[-2 Pi/3, {1, 0, 0}].front12;
back23 = RotationMatrix[-2 Pi/3, {1, 0, 0}].back12;
front33 = RotationMatrix[2 Pi/3, {1, 0, 0}].front11;
back33 = RotationMatrix[2 Pi/3, {1, 0, 0}].back11;
front31 = RotationMatrix[2 Pi/3, {1, 0, 0}].front12;
back31 = RotationMatrix[2 Pi/3, {1, 0, 0}].back12;
(*calculating lifts of deviation points*)
(*Note: these lifts are \
chosen to either lie on an identification path or on a the extension \
of such a path*)
devPointFront11Back12 = su2exp[t1*v1prime];
devPointFront12Back11 = su2exp[t0*v1prime];
devPointFront22Back23 = su2exp[-t0*v2prime];
devPointFront23Back22 = su2exp[-t1*v2prime];
devPointFront33Back31 = su2exp[t1*v3prime];
devPointFront31Back33 = su2exp[t0*v3prime];
(*setting up the plot*)
(*descending manifolds of x1prime, x2prime and x3prime*)
descendingX1prime[t_] := su2exp[t*v1prime];
descendingX2prime[t_] := su2exp[t*v2prime];
descendingX3prime[t_] := su2exp[t*v3prime];
(*ascending manifolds of x1, x2 and x3*)
ascendingX1[t_] := su2exp[t*v1].h;
ascendingX2[t_] := su2exp[t*v2].h;
ascendingX3[t_] := su2exp[t*v3].h;
(*descendingX1primeACTEDonLEFT[s_, t_]:=
su2exp[{s, 0,0}].su2exp[{0, 0, t}];
descendingX1primeUp[t_] := su2exp[t*v1prime].a;*)
(*transition discs*)
transitionDiscFront11GammaZero[t_] :=
su2exp[t*front11].devPointFront11Back12;
transitionDiscBack11GammaZero[t_] :=
su2exp[t*back11].devPointFront12Back11;
transitionDiscFront12GammaZero[t_] :=
su2exp[t*front12].devPointFront12Back11;
transitionDiscBack12GammaZero[t_] :=
su2exp[t*back12].devPointFront11Back12;
transitionDiscFront22GammaZero[t_] :=
su2exp[t*front22].devPointFront22Back23;
transitionDiscBack22GammaZero[t_] :=
su2exp[t*back22].devPointFront23Back22;
transitionDiscFront23GammaZero[t_] :=
su2exp[t*front23].devPointFront23Back22;
transitionDiscBack23GammaZero[t_] :=
su2exp[t*back23].devPointFront22Back23;
transitionDiscFront33GammaZero[t_] :=
su2exp[t*front33].devPointFront33Back31;
transitionDiscBack33GammaZero[t_] :=
su2exp[t*back33].devPointFront31Back33;
transitionDiscFront31GammaZero[t_] :=
su2exp[t*front31].devPointFront31Back33;
transitionDiscBack31GammaZero[t_] :=
su2exp[t*back31].devPointFront33Back31;
(*interception points*)
intPointFront11 = transitionDiscFront11GammaZero[t0];
intPointBack11 = transitionDiscBack11GammaZero[t1];
intPointFront12 = transitionDiscFront12GammaZero[t1];
intPointBack12 = transitionDiscBack12GammaZero[t0];
intPointFront22 = transitionDiscFront22GammaZero[t0];
intPointBack22 = transitionDiscBack22GammaZero[t1];
intPointFront23 = transitionDiscFront23GammaZero[t1];
intPointBack23 = transitionDiscBack23GammaZero[t0];
intPointFront33 = transitionDiscFront33GammaZero[t0];
intPointBack33 = transitionDiscBack33GammaZero[t1];
intPointFront31 = transitionDiscFront31GammaZero[t1];
intPointBack31 = transitionDiscBack31GammaZero[t0];
listOfPoints = {intPointFront11, intPointBack11, intPointFront12 ,
intPointBack12, intPointFront22, intPointBack22 ,
intPointFront23 , intPointBack23 , intPointFront33,
intPointBack33 ,
intPointFront31 ,
intPointBack31};
(*deviation points for return*)
(*Note - these are different lifts of \
the interception points*)
devPointFront11GammaOne = ascendingX1[t0];
devPointBack11GammaOne = ascendingX1[t1];
devPointFront12GammaOne = ascendingX2[-t0];
devPointBack12GammaOne = ascendingX2[-t1];
devPointFront22GammaOne = ascendingX2[-t1];
devPointBack22GammaOne = ascendingX2[-t0];
devPointFront23GammaOne = ascendingX3[t1];
devPointBack23GammaOne = ascendingX3[t0];
devPointFront33GammaOne = ascendingX3[t0];
devPointBack33GammaOne = ascendingX3[t1];
devPointFront31GammaOne = ascendingX1[t1];
devPointBack31GammaOne = ascendingX1[t0];
(*transtition discs for return*)
transitionDiscFront11GammaOne[t_] :=
su2exp[t*front11].devPointFront11GammaOne;
transitionDiscBack11GammaOne[t_] :=
su2exp[t*back11].devPointBack11GammaOne;
transitionDiscFront12GammaOne[t_] :=
su2exp[t*front12].devPointFront12GammaOne;
transitionDiscBack12GammaOne[t_] :=
su2exp[t*back12].devPointBack12GammaOne;
transitionDiscFront22GammaOne[t_] :=
su2exp[t*front22].devPointFront22GammaOne;
transitionDiscBack22GammaOne[t_] :=
su2exp[t*back22].devPointBack22GammaOne;
transitionDiscFront23GammaOne[t_] :=
su2exp[t*front23].devPointFront23GammaOne;
transitionDiscBack23GammaOne[t_] :=
su2exp[t*back23].devPointBack23GammaOne;
transitionDiscFront33GammaOne[t_] :=
su2exp[t*front33].devPointFront33GammaOne;
transitionDiscBack33GammaOne[t_] :=
su2exp[t*back33].devPointBack33GammaOne;
transitionDiscFront31GammaOne[t_] :=
su2exp[t*front31].devPointFront31GammaOne;
transitionDiscBack31GammaOne[t_] :=
su2exp[t*back31].devPointBack31GammaOne;
(*return points for transition discs*)
returnPointFront11 = transitionDiscFront11GammaOne[t1];
returnPointBack11 = transitionDiscBack11GammaOne[t0];
returnPointFront12 = transitionDiscFront12GammaOne[t0];
returnPointBack12 = transitionDiscBack12GammaOne[t1];
returnPointFront22 = transitionDiscFront22GammaOne[t1];
returnPointBack22 = transitionDiscBack22GammaOne[t0];
returnPointFront23 = transitionDiscFront23GammaOne[t0];
returnPointBack23 = transitionDiscBack23GammaOne[t1];
returnPointFront33 = transitionDiscFront33GammaOne[t1];
returnPointBack33 = transitionDiscBack33GammaOne[t0];
returnPointFront31 = transitionDiscFront31GammaOne[t0];
returnPointBack31 = transitionDiscBack31GammaOne[t1];
(*setting up the points for the plot - so applying stereographic \
projection everywhere *)
mprime = Point [stereographicSU2[su2exp[{0, 0, 0}]],
VertexColors -> Green];
mprimeLabel =
Text[Style[ "m'", Green, Bold],
stereographicSU2[su2exp[{0, 0, 0}]] - {0, 0, 0.05}];
x1prime =
Point[stereographicSU2[su2exp[(Pi/4)*v1prime]],
VertexColors -> Brown];
x1primeLabel =
Text[Style["\!\(\*SubscriptBox[\(x\), \(1\)]\)'", Brown, Bold],
1.2*stereographicSU2[su2exp[(Pi/4)*v1prime]]];
x2prime =
Point[stereographicSU2[su2exp[(-Pi/4)*v2prime]],
VertexColors -> Brown];
x2primeLabel =
Text[Style["\!\(\*SubscriptBox[\(x\), \(2\)]\)'", Brown, Bold],
1.2*stereographicSU2[su2exp[(-Pi/4)*v2prime]]];
x3prime =
Point[stereographicSU2[su2exp[(Pi/4)*v3prime]],
VertexColors -> Brown];
x3primeLabel =
Text[Style["\!\(\*SubscriptBox[\(x\), \(3\)]\)'", Brown, Bold],
1.2*stereographicSU2[su2exp[(Pi/4)*v3prime]]];
otherx1prime =
Point[stereographicSU2[su2exp[(-Pi/4)*v1prime]],
VertexColors -> Brown];
otherx1primeLabel =
Text[Style["\!\(\*SubscriptBox[\(x\), \(1\)]\)'", Brown, Bold],
1.2*stereographicSU2[su2exp[(-Pi/4)*v1prime]]];
otherx2prime =
Point[stereographicSU2[su2exp[(Pi/4)*v2prime]],
VertexColors -> Brown];
otherx2primeLabel =
Text[Style["\!\(\*SubscriptBox[\(x\), \(2\)]\)'", Brown, Bold],
1.2*stereographicSU2[su2exp[(Pi/4)*v2prime]]];
otherx3prime =
Point[stereographicSU2[su2exp[(-Pi/4)*v3prime]],
VertexColors -> Brown];
otherx3primeLabel =
Text[Style["\!\(\*SubscriptBox[\(x\), \(3\)]\)'", Brown, Bold],
1.2*stereographicSU2[su2exp[(-Pi/4)*v3prime]]];
x1 = Point[stereographicSU2[su2exp[(Pi/4)*v1].h],
VertexColors -> Black];
x1Label =
Text[Style["\!\(\*SubscriptBox[\(x\), \(1\)]\)", Black, Bold],
1.2*stereographicSU2[su2exp[(Pi/4)*v1].h]];
x2 = Point[stereographicSU2[su2exp[(Pi/4)*v2].h],
VertexColors -> Black];
x2Label =
Text[Style["\!\(\*SubscriptBox[\(x\), \(2\)]\)", Black, Bold],
1.2*stereographicSU2[su2exp[(Pi/4)*v2].h]];
x3 = Point[stereographicSU2[su2exp[(Pi/4)*v3].h],
VertexColors -> Black];
x3Label =
Text[Style["\!\(\*SubscriptBox[\(x\), \(3\)]\)", Black, Bold],
1.2*stereographicSU2[su2exp[(Pi/4)*v3].h]];
otherx1 =
Point[stereographicSU2[su2exp[(-Pi/4)*v1].h], VertexColors -> Black];
otherx1Label =
Text[Style["\!\(\*SubscriptBox[\(x\), \(1\)]\)", Black, Bold],
1.2*stereographicSU2[su2exp[(-Pi/4)*v1].h]];
otherx2 =
Point[stereographicSU2[su2exp[(-Pi/4)*v2].h], VertexColors -> Black];
otherx2Label =
Text[Style["\!\(\*SubscriptBox[\(x\), \(2\)]\)", Black, Bold],
1.2*stereographicSU2[su2exp[(-Pi/4)*v2].h]];
otherx3 =
Point[stereographicSU2[su2exp[(-Pi/4)*v3].h], VertexColors -> Black];
otherx3Label =
Text[Style["\!\(\*SubscriptBox[\(x\), \(3\)]\)", Black, Bold],
1.2*stereographicSU2[su2exp[(-Pi/4)*v3].h]];
mPoint = Point[stereographicSU2[h], VertexColors -> Darker[Green, .5]];
mLabel = Text[Style["m", Darker[Green, .5], Bold],
1.2*stereographicSU2[h]];
(*deviation points for plot - GammaZero*)
pointDevPointFront11Back12 =
Point[stereographicSU2[devPointFront11Back12],
VertexColors -> Orange];
pointDevPointFront12Back11 =
Point[stereographicSU2[devPointFront12Back11],
VertexColors -> Orange];
pointDevPointFront22Back23 =
Point[stereographicSU2[devPointFront22Back23],
VertexColors -> Orange];
pointDevPointFront23Back22 =
Point[stereographicSU2[devPointFront23Back22],
VertexColors -> Orange];
pointDevPointFront33Back31 =
Point[stereographicSU2[devPointFront33Back31],
VertexColors -> Orange];
pointDevPointFront31Back33 =
Point[stereographicSU2[devPointFront31Back33],
VertexColors -> Orange];
(*interception points for plot*)
pointIntPointFront11 =
Point[stereographicSU2[intPointFront11], VertexColors -> Orange];
pointIntPointBack11 =
Point[stereographicSU2[intPointBack11], VertexColors -> Orange];
pointIntPointFront12 =
Point[stereographicSU2[intPointFront12], VertexColors -> Orange];
pointIntPointBack12 =
Point[stereographicSU2[intPointBack12], VertexColors -> Orange];
pointIntPointFront22 =
Point[stereographicSU2[intPointFront22], VertexColors -> Orange];
pointIntPointBack22 =
Point[stereographicSU2[intPointBack22], VertexColors -> Orange];
pointIntPointFront23 =
Point[stereographicSU2[intPointFront23], VertexColors -> Orange];
pointIntPointBack23 =
Point[stereographicSU2[intPointBack23], VertexColors -> Orange];
pointIntPointFront33 =
Point[stereographicSU2[intPointFront33], VertexColors -> Orange];
pointIntPointBack33 =
Point[stereographicSU2[intPointBack33], VertexColors -> Orange];
pointIntPointFront31 =
Point[stereographicSU2[intPointFront31], VertexColors -> Orange];
pointIntPointBack31 =
Point[stereographicSU2[intPointBack31], VertexColors -> Orange];
(* devitation points for GammaOne for plot *)
pointDevPointFront11GammaOne =
Point[stereographicSU2[devPointFront11GammaOne],
VertexColors -> Orange];
pointDevPointBack11GammaOne =
Point[stereographicSU2[devPointBack11GammaOne],
VertexColors -> Orange];
pointDevPointFront12GammaOne =
Point[stereographicSU2[devPointFront12GammaOne],
VertexColors -> Orange];
pointDevPointBack12GammaOne =
Point[stereographicSU2[devPointBack12GammaOne],
VertexColors -> Orange];
pointDevPointFront22GammaOne =
Point[stereographicSU2[devPointFront22GammaOne],
VertexColors -> Orange];
pointDevPointBack22GammaOne =
Point[stereographicSU2[devPointBack22GammaOne],
VertexColors -> Orange];
pointDevPointFront23GammaOne =
Point[stereographicSU2[devPointFront23GammaOne],
VertexColors -> Orange];
pointDevPointBack23GammaOne =
Point[stereographicSU2[devPointBack23GammaOne],
VertexColors -> Orange];
pointDevPointFront33GammaOne =
Point[stereographicSU2[devPointFront33GammaOne],
VertexColors -> Orange];
pointDevPointBack33GammaOne =
Point[stereographicSU2[devPointBack33GammaOne],
VertexColors -> Orange];
pointDevPointFront31GammaOne =
Point[stereographicSU2[devPointFront31GammaOne],
VertexColors -> Orange];
pointDevPointBack31GammaOne =
Point[stereographicSU2[devPointBack31GammaOne],
VertexColors -> Orange];
(*return points for plot*)
pointReturnPointFront11 =
Point[stereographicSU2[returnPointFront11],
VertexColors -> {Orange}];
pointReturnPointBack11 =
Point[stereographicSU2[returnPointBack11], VertexColors -> {Orange}];
pointReturnPointFront12 =
Point[stereographicSU2[returnPointFront12],
VertexColors -> {Orange}];
pointReturnPointBack12 =
Point[stereographicSU2[returnPointBack12], VertexColors -> {Orange}];
pointReturnPointFront22 =
Point[stereographicSU2[returnPointFront22],
VertexColors -> {Orange}];
pointReturnPointBack22 =
Point[stereographicSU2[returnPointBack22], VertexColors -> {Orange}];
pointReturnPointFront23 =
Point[stereographicSU2[returnPointFront23],
VertexColors -> {Orange}];
pointReturnPointBack23 =
Point[stereographicSU2[returnPointBack23], VertexColors -> {Orange}];
pointReturnPointFront33 =
Point[stereographicSU2[returnPointFront33],
VertexColors -> {Orange}];
pointReturnPointBack33 =
Point[stereographicSU2[returnPointBack33], VertexColors -> {Orange}];
pointReturnPointFront31 =
Point[stereographicSU2[returnPointFront31],
VertexColors -> {Orange}];
pointReturnPointBack31 =
Point[stereographicSU2[returnPointBack31], VertexColors -> {Orange}];
(*===================================================PLOT==============================================================*)
(*====================================================================================================================================\
\[Equal]*)
Manipulate[
Show[
(*critical points*)
Graphics3D[{PointSize[Large], #}] & /@ {mprime, x1prime, x2prime,
x3prime, otherx1prime, otherx2prime, otherx3prime, x1, x2, x3,
otherx1, otherx2, otherx3, mPoint},
Graphics3D[#] & /@ {mprimeLabel, x1primeLabel, x2primeLabel,
x3primeLabel, otherx1primeLabel, otherx2primeLabel,
otherx3primeLabel, x1Label, x2Label, x3Label, otherx1Label,
otherx2Label, otherx3Label, mLabel},
(* coordinate rays*)
(*ParametricPlot3D[Evaluate[
stereographicSU2[su2exp[{0, 0, t}]]], {t,0, Pi/4},
PlotStyle\[Rule]{Green, Dashed}],
ParametricPlot3D[Evaluate[stereographicSU2[su2exp[{0, t, 0}]]], {t,
0, Pi/4}, PlotStyle\[Rule]{Black, Dashed}],
ParametricPlot3D[Evaluate[stereographicSU2[su2exp[{t, 0, 0}]]], {t,
0, Pi/6}, PlotStyle\[Rule]{Black, Dashed}],*)
(*the path sigma in all the domains*)
ParametricPlot3D[
Evaluate[stereographicSU2[su2exp[{t, 0, 0}]]], {t, 0, Pi/6},
PlotStyle -> {Green, Dashed}],
ParametricPlot3D[
Evaluate[stereographicSU2[su2exp[{t, 0, 0}].a]], {t, 0, Pi/6},
PlotStyle -> {Green, Dashed, Opacity[prismA]}],
ParametricPlot3D[
Evaluate[stereographicSU2[su2exp[{t, 0, 0}].a.a.a.a.a]], {t, 0,
Pi/6}, PlotStyle -> {Green, Dashed, Opacity[prismAAAAA]}],
ParametricPlot3D[
Evaluate[stereographicSU2[su2exp[{t, 0, 0}].b]], {t, 0, Pi/6},
PlotStyle -> {Green, Dashed, Opacity[prismB]}],
ParametricPlot3D[
Evaluate[stereographicSU2[su2exp[{t, 0, 0}].a.b]], {t, 0, Pi/6},
PlotStyle -> {Green, Dashed, Opacity[prismAB]}],
ParametricPlot3D[
Evaluate[stereographicSU2[su2exp[{t, 0, 0}].a.a.b]], {t, 0, Pi/6},
PlotStyle -> {Green, Dashed, Opacity[prismAAB]}],
ParametricPlot3D[
Evaluate[stereographicSU2[su2exp[{t, 0, 0}].a.a.a.b]], {t, 0,
Pi/6}, PlotStyle -> {Green, Dashed, Opacity[prismAAAB]}],
ParametricPlot3D[
Evaluate[stereographicSU2[su2exp[{t, 0, 0}].a.a.a.a.b]], {t, 0,
Pi/6}, PlotStyle -> {Green, Dashed, Opacity[prismAAAAB]}],
ParametricPlot3D[
Evaluate[stereographicSU2[su2exp[{t, 0, 0}].a.a.a.a.a.b]], {t, 0,
Pi/6}, PlotStyle -> {Green, Dashed, Opacity[prismAAAAAB]}],
(*----------------------------------------------------descending \
manifolds----------------------------------------------------------------*)
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX1prime[t]], {t, -Pi/4, 0},
PlotStyle -> {Blue}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX1prime[t]], {t, 0, Pi/4},
PlotStyle -> {Green}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX2prime[t]], {t, -Pi/4, 0},
PlotStyle -> {Green}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX2prime[t]], {t, 0, Pi/4},
PlotStyle -> {Blue}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX3prime[t]], {t, -Pi/4, 0},
PlotStyle -> {Blue}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX3prime[t]], {t, 0, Pi/4},
PlotStyle -> {Green}]],
(*descending manifolds A*)
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX1prime[t].a], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX1prime[t].a], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX2prime[t].a], {t, -Pi/4, 0},
PlotStyle -> {Green, Opacity[prismA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX2prime[t].a], {t, 0, Pi/4},
PlotStyle -> {Blue, Opacity[prismA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX3prime[t].a], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX3prime[t].a], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismA]}]],
(*descending manifolds AAAAA*)
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX1prime[t].a.a.a.a.a], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismAAAAA]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX1prime[t].a.a.a.a.a], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAAAAA]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX2prime[t].a.a.a.a.a], {t, -Pi/4, 0},
PlotStyle -> {Green, Opacity[prismAAAAA]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX2prime[t].a.a.a.a.a], {t, 0, Pi/4},
PlotStyle -> {Blue, Opacity[prismAAAAA]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX3prime[t].a.a.a.a.a], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismAAAAA]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX3prime[t].a.a.a.a.a], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAAAAA]}]],
(*descending manifolds B*)
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX1prime[t].b], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX1prime[t].b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX2prime[t].b], {t, -Pi/4, 0},
PlotStyle -> {Green, Opacity[prismB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX2prime[t].b], {t, 0, Pi/4},
PlotStyle -> {Blue, Opacity[prismB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX3prime[t].b], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX3prime[t].b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismB]}]],
(*descending manifolds AB*)
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX1prime[t].a.b], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX1prime[t].a.b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX2prime[t].a.b], {t, -Pi/4, 0},
PlotStyle -> {Green, Opacity[prismAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX2prime[t].a.b], {t, 0, Pi/4},
PlotStyle -> {Blue, Opacity[prismAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX3prime[t].a.b], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[descendingX3prime[t].a.b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAB]}]],
(*descending manifolds AAB*)
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX1prime[t].a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX1prime[t].a.a.b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX2prime[t].a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Green, Opacity[prismAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX2prime[t].a.a.b], {t, 0, Pi/4},
PlotStyle -> {Blue, Opacity[prismAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX3prime[t].a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX3prime[t].a.a.b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAAB]}]],
(*descending manifolds AAAB*)
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX1prime[t].a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX1prime[t].a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX2prime[t].a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Green, Opacity[prismAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX2prime[t].a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Blue, Opacity[prismAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX3prime[t].a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX3prime[t].a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAAAB]}]],
(*descending manifolds AAAAB*)
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX1prime[t].a.a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX1prime[t].a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX2prime[t].a.a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Green, Opacity[prismAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX2prime[t].a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Blue, Opacity[prismAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX3prime[t].a.a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Blue, Opacity[prismAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX3prime[t].a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAAAAB]}]],
(*descending manifolds AAAAAB*)
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX1prime[t].a.a.a.a.a.b], {t, -Pi/4,
0}, PlotStyle -> {Blue, Opacity[prismAAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX1prime[t].a.a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX2prime[t].a.a.a.a.a.b], {t, -Pi/4,
0}, PlotStyle -> {Green, Opacity[prismAAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX2prime[t].a.a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Blue, Opacity[prismAAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX3prime[t].a.a.a.a.a.b], {t, -Pi/4,
0}, PlotStyle -> {Blue, Opacity[prismAAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[descendingX3prime[t].a.a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Green, Opacity[prismAAAAAB]}]],
(*---------------------------------------------------------\
ascending \
manifolds-------------------------------------------------------------\
*)
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t]], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t]], {t, 0, Pi/4},
PlotStyle -> {Darker[Green]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t]], {t, -Pi/4, 0},
PlotStyle -> {Darker[Green]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t]], {t, 0, Pi/4},
PlotStyle -> {Darker[Blue]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t]], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t]], {t, 0, Pi/4},
PlotStyle -> {Darker[Green]}]],
(*ascending manifolds A*)
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].a], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].a], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].a], {t, -Pi/4, 0},
PlotStyle -> {Darker[Green], Opacity[prismA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].a], {t, 0, Pi/4},
PlotStyle -> {Darker[Blue], Opacity[prismA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].a], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].a], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismA]}]],
(*ascending manifolds AAAAA*)
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX1[t].a.a.a.a.a], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAAAAA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].a.a.a.a.a], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAAAAA]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX2[t].a.a.a.a.a], {t, -Pi/4, 0},
PlotStyle -> {Darker[Green], Opacity[prismAAAAA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].a.a.a.a.a], {t, 0, Pi/4},
PlotStyle -> {Darker[Blue], Opacity[prismAAAAA]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX3[t].a.a.a.a.a], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAAAAA]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].a.a.a.a.a], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAAAAA]}]],
(*ascending manifolds B*)
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Green], Opacity[prismB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].b], {t, 0, Pi/4},
PlotStyle -> {Darker[Blue], Opacity[prismB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismB]}]],
(*ascending manifolds AB*)
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Green], Opacity[prismAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Blue], Opacity[prismAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAB]}]],
(*ascending manifolds AAB*)
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Green], Opacity[prismAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Blue], Opacity[prismAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAAB]}]],
(*ascending manifolds AAAB*)
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Green], Opacity[prismAAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Blue], Opacity[prismAAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAAAB]}]],
(*ascending manifolds AAAAB*)
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX1[t].a.a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAAAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX1[t].a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX2[t].a.a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Green], Opacity[prismAAAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX2[t].a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Blue], Opacity[prismAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX3[t].a.a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAAAAB]}]],
ParametricPlot3D[
Evaluate[stereographicSU2[ascendingX3[t].a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAAAAB]}]],
(*ascending manifolds AAAAAB*)
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX1[t].a.a.a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX1[t].a.a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX2[t].a.a.a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Green], Opacity[prismAAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX2[t].a.a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Blue], Opacity[prismAAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX3[t].a.a.a.a.a.b], {t, -Pi/4, 0},
PlotStyle -> {Darker[Blue], Opacity[prismAAAAAB]}]],
ParametricPlot3D[
Evaluate[
stereographicSU2[ascendingX3[t].a.a.a.a.a.b], {t, 0, Pi/4},
PlotStyle -> {Darker[Green], Opacity[prismAAAAAB]}]],
(*-----------------------------------------MORE POINTS--------------------------------------------------------------------------------------*)
\
(*plot deviation points*)
Graphics3D[{PointSize[Large],
Opacity[Max[showFront11GammaZero, showBack12GammaZero]],
pointDevPointFront11Back12}],
Graphics3D[{PointSize[Large],
Opacity[Max[showFront12GammaZero, showBack11GammaZero]],
pointDevPointFront12Back11}],
Graphics3D[{PointSize[Large],
Opacity[Max[showFront22GammaZero, showBack23GammaZero]],
pointDevPointFront22Back23}],
Graphics3D[{PointSize[Large],
Opacity[Max[showFront23GammaZero, showBack22GammaZero]],
pointDevPointFront23Back22}],
Graphics3D[{PointSize[Large],
Opacity[Max[showFront33GammaZero, showBack31GammaZero]],
pointDevPointFront33Back31}],
Graphics3D[{PointSize[Large],
Opacity[Max[showFront31GammaZero, showBack33GammaZero]],
pointDevPointFront31Back33}],
(*plot interception points*)
Graphics3D[{PointSize[Large], Opacity[showFront11GammaZero],
pointIntPointFront11}],
Graphics3D[{PointSize[Large], Opacity[showBack11GammaZero],
pointIntPointBack11}],
Graphics3D[{PointSize[Large], Opacity[showFront12GammaZero],
pointIntPointFront12}],
Graphics3D[{PointSize[Large], Opacity[showBack12GammaZero],
pointIntPointBack12}],
Graphics3D[{PointSize[Large], Opacity[showFront22GammaZero],
pointIntPointFront22}],
Graphics3D[{PointSize[Large], Opacity[showBack22GammaZero],
pointIntPointBack22}],
Graphics3D[{PointSize[Large], Opacity[showFront23GammaZero],
pointIntPointFront23}],
Graphics3D[{PointSize[Large], Opacity[showBack23GammaZero],
pointIntPointBack23}],
Graphics3D[{PointSize[Large], Opacity[showFront33GammaZero],
pointIntPointFront33}],
Graphics3D[{PointSize[Large], Opacity[showBack33GammaZero],
pointIntPointBack33}],
Graphics3D[{PointSize[Large], Opacity[showFront31GammaZero],
pointIntPointFront31}],
Graphics3D[{PointSize[Large], Opacity[showBack31GammaZero],
pointIntPointBack31}],
(*plot deviation points for return and return points*)
Graphics3D[{PointSize[Large],
Opacity[showFront11GammaOne], #}] & /@ \
{pointDevPointFront11GammaOne, pointReturnPointFront11},
Graphics3D[{PointSize[Large],
Opacity[showBack11GammaOne], #}] & /@ \
{pointDevPointBack11GammaOne, pointReturnPointBack11},
Graphics3D[{PointSize[Large],
Opacity[
showFront12GammaOne], #}] & /@ {pointDevPointFront12GammaOne,
pointReturnPointFront12},
Graphics3D[{PointSize[Large],
Opacity[showBack12GammaOne], #}] & /@ \
{pointDevPointBack12GammaOne, pointReturnPointBack12},
Graphics3D[{PointSize[Large],
Opacity[showFront22GammaOne], #}] & /@ \
{pointDevPointFront22GammaOne, pointReturnPointFront22},
Graphics3D[{PointSize[Large],
Opacity[showBack22GammaOne], #}] & /@ \
{pointDevPointBack22GammaOne, pointReturnPointBack22},
Graphics3D[{PointSize[Large],
Opacity[showFront23GammaOne], #}] & /@ \
{pointDevPointFront23GammaOne, pointReturnPointFront23},
Graphics3D[{PointSize[Large],
Opacity[showBack23GammaOne], #}] & /@ \
{pointDevPointBack23GammaOne, pointReturnPointBack23},
Graphics3D[{PointSize[Large],
Opacity[showFront33GammaOne], #}] & /@ \
{pointDevPointFront33GammaOne, pointReturnPointFront33},
Graphics3D[{PointSize[Large],
Opacity[
showBack33GammaOne], #}] & /@ {pointDevPointBack33GammaOne,
pointReturnPointBack33},
Graphics3D[{PointSize[Large],
Opacity[showFront31GammaOne], #}] & /@ \
{pointDevPointFront31GammaOne, pointReturnPointFront31},
Graphics3D[{PointSize[Large],
Opacity[showBack31GammaOne], #}] & /@ \
{pointDevPointBack31GammaOne, pointReturnPointBack31},
(*----------------------------------------------
plot SPLIT transition \
discs-----------------------------------------------*)
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront11GammaZero[t]]], {t,
0, t0}, PlotStyle -> {Yellow, Opacity[showFront11GammaZero]},
PlotRange -> All],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront11GammaOne[t]]], {t,
0, t1}, PlotStyle -> {Red, Opacity[showFront11GammaOne]},
PlotRange -> All],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack11GammaZero[t]]], {t,
0, t1}, PlotRange -> All,
PlotStyle -> {Yellow, Opacity[showBack11GammaZero]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack11GammaOne[t]]], {t,
0, t0}, PlotRange -> All,
PlotStyle -> {Red, Opacity[showBack11GammaOne]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront12GammaZero[t]]], {t,
0, t1}, PlotRange -> All,
PlotStyle -> {Yellow, Opacity[showFront12GammaZero]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront12GammaOne[t]]], {t,
0, t0}, PlotRange -> All,
PlotStyle -> {Red, Opacity[showFront12GammaOne]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack12GammaZero[t]]], {t,
0, t0}, PlotRange -> All,
PlotStyle -> {Yellow, Opacity[showBack12GammaZero]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack12GammaOne[t]]], {t,
0, t1}, PlotRange -> All,
PlotStyle -> {Red, Opacity[showBack12GammaOne]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront22GammaZero[t]]], {t,
0, t0}, PlotRange -> All,
PlotStyle -> {Yellow, Opacity[showFront22GammaZero]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront22GammaOne[t]]], {t,
0, t1}, PlotRange -> All,
PlotStyle -> {Red, Opacity[showFront22GammaOne]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack22GammaZero[t]]], {t,
0, t1}, PlotRange -> All,
PlotStyle -> {Yellow, Opacity[showBack22GammaZero]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack22GammaOne[t]]], {t,
0, t0}, PlotRange -> All,
PlotStyle -> {Red, Opacity[showBack22GammaOne]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront23GammaZero[t]]], {t,
0, t1}, PlotRange -> All,
PlotStyle -> {Yellow, Opacity[showFront23GammaZero]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront23GammaOne[t]]], {t,
0, t0}, PlotRange -> All,
PlotStyle -> {Red, Opacity[showFront23GammaOne]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack23GammaZero[t]]], {t,
0, t0}, PlotRange -> All,
PlotStyle -> {Yellow, Opacity[showBack23GammaZero]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack23GammaOne[t]]], {t,
0, t1}, PlotRange -> All,
PlotStyle -> {Red, Opacity[showBack23GammaOne]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront33GammaZero[t]]], {t,
0, t0}, PlotRange -> All,
PlotStyle -> {Yellow, Opacity[showFront33GammaZero]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront33GammaOne[t]]], {t,
0, t1}, PlotRange -> All,
PlotStyle -> {Red, Opacity[showFront33GammaOne]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack33GammaZero[t]]], {t,
0, t1}, PlotRange -> All,
PlotStyle -> {Yellow, Opacity[showBack33GammaZero]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack33GammaOne[t]]], {t,
0, t0}, PlotRange -> All,
PlotStyle -> {Red, Opacity[showBack33GammaOne]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront31GammaZero[t]]], {t,
0, t1}, PlotRange -> All,
PlotStyle -> {Yellow, Opacity[showFront31GammaZero]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscFront31GammaOne[t]]], {t,
0, t0}, PlotRange -> All,
PlotStyle -> {Red, Opacity[showFront31GammaOne]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack31GammaZero[t]]], {t,
0, t0}, PlotRange -> All,
PlotStyle -> {Yellow, Opacity[showBack31GammaZero]}],
ParametricPlot3D[
Evaluate[stereographicSU2[transitionDiscBack31GammaOne[t]]], {t,
0, t1}, PlotRange -> All,
PlotStyle -> {Red, Opacity[showBack31GammaOne]}],
ImageSize -> 1200],
{showFront11GammaZero, {0, 1}, Checkbox},
{showFront11GammaOne, {0, 1}, Checkbox},
{showBack11GammaZero, {0, 1}, Checkbox},
{showBack11GammaOne, {0, 1}, Checkbox},
{showFront12GammaZero, {0, 1}, Checkbox},
{showFront12GammaOne, {0, 1}, Checkbox},
{showBack12GammaZero, {0, 1}, Checkbox},
{showBack12GammaOne, {0, 1}, Checkbox},
{showFront22GammaZero, {0, 1}, Checkbox},
{showFront22GammaOne, {0, 1}, Checkbox},
{showBack22GammaZero, {0, 1}, Checkbox},
{showBack22GammaOne, {0, 1}, Checkbox},
{showFront23GammaZero, {0, 1}, Checkbox},
{showFront23GammaOne, {0, 1}, Checkbox},
{showBack23GammaZero, {0, 1}, Checkbox},
{showBack23GammaOne, {0, 1}, Checkbox},
{showFront33GammaZero, {0, 1}, Checkbox},
{showFront33GammaOne, {0, 1}, Checkbox},
{showBack33GammaZero, {0, 1}, Checkbox},
{showBack33GammaOne, {0, 1}, Checkbox},
{showFront31GammaZero, {0, 1}, Checkbox},
{showFront31GammaOne, {0, 1}, Checkbox},
{showBack31GammaZero, {0, 1}, Checkbox},
{showBack31GammaOne, {0, 1}, Checkbox},
{prismA, {0, 1}, Checkbox},
{prismAAAAA, {0, 1}, Checkbox},
{prismB, {0, 1}, Checkbox},
{prismAB, {0, 1}, Checkbox},
{prismAAB, {0, 1}, Checkbox},
{prismAAAB, {0, 1}, Checkbox},
{prismAAAAB, {0, 1}, Checkbox},
{prismAAAAAB, {0, 1}, Checkbox},
ControlPlacement -> Above
]