Rigid Foldability of the Augmented Square Twist

This Mathematica file contains animations that produced the graphics in the paper “Rigid Foldability of the Augmented Square Twist” by Thomas C. Hull and Michael T. Urbanski, published in Origami7: Proceedings of the 7th International Meeting on Origami Science, Mathematics, and Education, Tarquin (2018), pp. 533–543.  Inquiries should email Thomas Hull at:  thull@wne.edu

Crease pattern and rotation matrices

P1= {{0,0,0},{-1,0,0},{-1,-1,0},{1,-1,0}};
P2= {{0,0,0},{-1,0,0},{-1,2,0},{0,2,0}};
P3= {{0,0,0},{0,2,0},{1,2,0},{1,1,0}};
P4= {{0,0,0},{1,1,0},{2,0,0}};
P5= {{0,0,0},{1,-1,0},{2,0,0}};
P6={{1,-1,0},{1,-2,0},{-1,-2,0},{-1,-1,0}};
P7={{1,-1,0},{2,0,0},{2,-2,0},{1,-2,0}};
P8={{2,0,0},{3,0,0},{3,-2,0},{2,-2,0}};
P9={{2,0,0},{3,0,0},{3,1,0},{1,1,0}};
P10={{1,1,0},{1,2,0},{3,2,0},{3,1,0}};
Graphics3D[{EdgeForm[Thick],Polygon[P1],Polygon[P2],Polygon[P3],Polygon[P4],Polygon[P5],Polygon[P6],Polygon[P7],Polygon[P8],Polygon[P9],Polygon[P10]}]

RotX[t_]:={{1,0,0},{0,Cos[t],-Sin[t]},{0,Sin[t],Cos[t]}}
RotZ[t_]:={{Cos[t],-Sin[t],0},{Sin[t],Cos[t],0},{0,0,1}}

Case 1: Both degree-4 vertices are mode 1

First here is the graph of the ϕ1 and 2ArcTan[((Sqrt[2])-1)Tan[(Subscript[ϕ, 2])/2]] curves, where the intersection points A, B, and C are the possible rigid foldings.

Manipulate[Show[
Plot[{
Labeled[ArcTan[((1+Cos[u1]+Cos[z]-Cos[u1] Cos[z]+(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u1]+(-1+Cos[u1]) Sin[z])]-
ArcTan[((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),Sqrt[1-(((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 )))^2]],Style[(Subscript[ϕ, 1]^(+)),FontSize->12]],
Labeled[ArcTan[((1+Cos[u1]+Cos[z]-Cos[u1] Cos[z]+(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u1]+(-1+Cos[u1]) Sin[z])]-
ArcTan[((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),-Sqrt[1-(((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 )))^2]],Style[(Subscript[ϕ, 1]^(-)),FontSize->12]],
Labeled[2ArcTan[((Sqrt[2])-1)Tan[(ArcTan[(1/(2 (Sqrt[2])))(-1+Cos[u2]-Cos[z]-Cos[u2] Cos[z]+(Sqrt[2]) Sin[u2] Sin[z]),(1/2) ((Sqrt[2]) Cos[z] Sin[u2]+Sin[z]+Cos[u2] Sin[z])]-

ArcTan[((1-Cos[z]-Cos[u2] (1+Cos[z])+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),Sqrt[1-((1/(2 ))(-1+Cos[z]+Cos[u2] (1+Cos[z])-(Sqrt[2]) Sin[u2] Sin[z]))^2]])/2]]/.{u2->2ArcTan[(Sqrt[2]-1)Tan[u1/2]]},Style[2ArcTan[((Sqrt[2])-1)Tan[(Subscript[ϕ, 2]^(+))/2]],FontSize->12]],
Labeled[2ArcTan[((Sqrt[2])-1)Tan[(ArcTan[(1/(2 (Sqrt[2])))(-1+Cos[u2]-Cos[z]-Cos[u2] Cos[z]+(Sqrt[2]) Sin[u2] Sin[z]),(1/2) ((Sqrt[2]) Cos[z] Sin[u2]+Sin[z]+Cos[u2] Sin[z])]-

ArcTan[((1-Cos[z]-Cos[u2] (1+Cos[z])+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),-Sqrt[1-((1/(2 ))(-1+Cos[z]+Cos[u2] (1+Cos[z])-(Sqrt[2]) Sin[u2] Sin[z]))^2]])/2]]/.{u2->2ArcTan[(Sqrt[2]-1)Tan[u1/2]]},Style[2ArcTan[((Sqrt[2])-1)Tan[(Subscript[ϕ, 2]^(-))/2]],FontSize->12]]
},{z,-Pi,Pi},PlotRange->{{-Pi,Pi},{-Pi,Pi}},PlotStyle->{Blue,Purple,Red,Orange},
AxesLabel->{Style[ζ,FontSize->24],Style[(Subscript[ϕ, 1]),FontSize->24]},
(*PlotLabels->{Style[2ArcTan[((Sqrt[2])-1)Tan[(Subscript[ϕ, 2]^(+))/2]],FontSize->18],Style[2ArcTan[((Sqrt[2])-1)Tan[(Subscript[ϕ, 2]^(-))/2]],FontSize->18]}, *) ImageSize->700],
Plot[2ArcTan[((Sqrt[2])-1)Tan[u1/2]],{z,-Pi,Pi},PlotStyle->{Dashed}],
Plot[Labeled[-2ArcTan[((Sqrt[2])/2)Tan[(z/2)]],Style["(Subscript[ϕ, 1])=-2(Tan^(-1))[((Sqrt[2])/2)Tan[(z/2)]]",FontSize->14],{2,-2.5}],{z,-Pi,Pi},PlotStyle->{Dashed}],
Plot[Labeled[-2 ArcTan[(-2+(Sqrt[2])) Cot[(z/2)]],Style["(Subscript[ϕ, 1])=-2(Tan^(-1))[((Sqrt[2])-2)Cot[(z/2)]]",FontSize->14],{1.8,2.5}],{z,-Pi,Pi},PlotStyle->{Dashed}],
Graphics[{Text[Style["u1 =",Large],{-2.8,-3}],Text[Style[u1,Large],{-2.4,-3},{-1,0}],
PointSize[.03],Point[{-2 ArcTan[(Sqrt[2]) (-1+(Sqrt[2])) Tan[(u1/2)]],2ArcTan[((Sqrt[2])-1)Tan[u1/2]]}],
Point[{-2 ArcCot[(((-1+(Sqrt[2])) Tan[(u1/2)])/(-2+(Sqrt[2])))],2ArcTan[((Sqrt[2])-1)Tan[u1/2]]}],
Point[{0,-2ArcTan[(Sqrt[2]-1)Tan[u1/2]]}],
Text[Style[A,Large],{-2 ArcTan[(Sqrt[2]) (-1+(Sqrt[2])) Tan[(u1/2)]]+.2,2ArcTan[((Sqrt[2])-1)Tan[u1/2]]+.2}],
Text[Style[B,Large],{-2 ArcCot[(((-1+(Sqrt[2])) Tan[(u1/2)])/(-2+(Sqrt[2])))]+.2,2ArcTan[((Sqrt[2])-1)Tan[u1/2]]+.2}],
Text[Style[C,Large],{0.2,-2ArcTan[(Sqrt[2]-1)Tan[u1/2]]}]
}]
],{{u1,0},-Pi,Pi}]

Point A

First we plot the rigid folding for the A intersection point.

phi[u_,v_]:=-ArcCos[1+Cos[v]-Cos[u] Cos[v]-(Sqrt[2]) Sin[u] Sin[v]]
zeta[u_,v_]:=ArcTan[-(-(1/2)-((Cos[u])/2)) Cos[v]+((Sin[u] Sin[v])/(Sqrt[2])),-((Cos[v] Sin[u])/(Sqrt[2]))+Cos[u] Sin[v]]-ArcTan[(1/2)+((Cos[phi[u,v]])/2),((Sin[phi[u,v]])/(Sqrt[2]))]
zetaf[u_]:=If[u<0,zeta[u,Ve[u]],-zeta[-u,Ve[-u]]]
Ve[u_]:=ArcTan[(1/(2 (3+Cos[u])))((Csc[(u/2)])^2) (-1+Cos[u]+Cos[2 ArcTan[Tan[((45 °)/2)] Tan[(u/2)]]]-Cos[u] Cos[2 ArcTan[Tan[((45 °)/2)] Tan[(u/2)]]]+√(-(-2+4 Cos[u]+Cos[2 u]-4 Cos[2 ArcTan[Tan[((45 °)/2)] Tan[(u/2)]]]+Cos[4 ArcTan[Tan[((45 °)/2)] Tan[(u/2)]]]) ((Sin[u])^2))),(1/(2 (Sqrt[2]) (3+Cos[u])))Csc[(u/2)] Sec[(u/2)] (2+2 Cos[u]-Cos[u-2 ArcTan[Tan[((45 °)/2)] Tan[(u/2)]]]-2 Cos[2 ArcTan[Tan[((45 °)/2)] Tan[(u/2)]]]-Cos[u+2 ArcTan[Tan[((45 °)/2)] Tan[(u/2)]]]+√(-(-2+4 Cos[u]+Cos[2 u]-4 Cos[2 ArcTan[Tan[((45 °)/2)] Tan[(u/2)]]]+Cos[4 ArcTan[Tan[((45 °)/2)] Tan[(u/2)]]]) ((Sin[u])^2)))]
phif[u_]:=If[u<0,phi[u,Ve[u]],-phi[-u,Ve[-u]]]

Manipulate[
Graphics3D[{EdgeForm[Thick],
Polygon[P5],
Polygon[RotZ[-45°].RotX[-u].RotZ[45°].RotZ[-180°].RotX[-Ve[u]].RotZ[180°].#&/@P2],
Polygon[RotX[zetaf[u]].RotZ[45°].RotX[phif[u]].RotZ[-45°].#&/@P3],
Polygon[RotX[zetaf[u]].#&/@P4],
Polygon[RotZ[-45°].RotX[-u].RotZ[45°].#&/@P1],
Polygon[(RotZ[45°].RotX[2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[-u/2]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[-u].RotZ[45°].RotZ[180°].RotX[-2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[u/2]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[zetaf[u]].(RotZ[-45°].RotX[u].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[zetaf[u]].
((RotZ[-45°].RotX[u].RotZ[45°].RotX[-2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[u/2]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[RotX[zetaf[u]].
((RotZ[-45°].RotX[u].RotZ[45°].(#+{-1,-1,0})+{1,1,0}))&/@
((RotX[-Ve[u]].(#+{-2,0,0})+{2,0,0})&/@P8)]
},PlotRange->{{-1.5,3.25},{-2.5,2.5},{-2.25,2.25}},Boxed->False],{{u,0.01},-Pi,Pi}]

Let’s add to this animation the fold that gives us the classic square twist at the end:

A1=Table[
Graphics3D[{EdgeForm[Thick],
Polygon[P5],
Polygon[RotZ[-45°].RotX[-u].RotZ[45°].RotZ[-180°].RotX[-Ve[u]].RotZ[180°].#&/@P2],
Polygon[RotX[zetaf[u]].RotZ[45°].RotX[phif[u]].RotZ[-45°].#&/@P3],
Polygon[RotX[zetaf[u]].#&/@P4],
Polygon[RotZ[-45°].RotX[-u].RotZ[45°].#&/@P1],
Polygon[(RotZ[45°].RotX[2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[-u/2]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[-u].RotZ[45°].RotZ[180°].RotX[-2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[u/2]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[zetaf[u]].(RotZ[-45°].RotX[u].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[zetaf[u]].
((RotZ[-45°].RotX[u].RotZ[45°].RotX[-2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[u/2]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[RotX[zetaf[u]].
((RotZ[-45°].RotX[u].RotZ[45°].(#+{-1,-1,0})+{1,1,0}))&/@
((RotX[-Ve[u]].(#+{-2,0,0})+{2,0,0})&/@P8)]
},PlotRange->{{-1.5,3.25},{-2.5,2.5},{-2.25,2.25}},Boxed->False],{u,0.001,-Pi,-.05}];
A2=Table[
Graphics3D[{EdgeForm[Thick],
Polygon[P5],
Polygon[RotZ[-45°].RotX[-(-π)].RotZ[45°].RotZ[-180°].RotX[-Ve[(-3.1415)]].RotZ[180°].#&/@P2],
Polygon[RotX[-u].RotX[zetaf[(-3.1415)]].RotZ[45°].RotX[phif[(-3.1415)]].RotZ[-45°].#&/@P3],
Polygon[RotX[-u].RotX[zetaf[(-3.1415)]].#&/@P4],
Polygon[RotZ[-45°].RotX[-(-π)].RotZ[45°].#&/@P1],
Polygon[(RotZ[45°].RotX[2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[-(-3.1415)/2]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[-(-π)].RotZ[45°].RotZ[180°].RotX[-2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[(-3.1415)/2]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[-u].RotX[zetaf[(-3.1415)]].(RotZ[-45°].RotX[(-π)].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[-u].RotX[zetaf[(-3.1415)]].
((RotZ[-45°].RotX[(-π)].RotZ[45°].RotX[-2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[(-3.1415)/2]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[RotX[-u].RotX[zetaf[(-3.1415)]].
((RotZ[-45°].RotX[(-π)].RotZ[45°].(#+{-1,-1,0})+{1,1,0}))&/@
((RotX[-Ve[(-3.1415)]].(#+{-2,0,0})+{2,0,0})&/@P8)]
},PlotRange->{{-1.5,3.25},{-2.5,2.5},{-2.25,2.25}},Boxed->False],{u,0.001,Pi,.05}];

ListAnimate[Join[A1,A2]]

And that’s a rigid folding of the classic square twist!

Point B

Now let’s animate the point B’s trajectory.

Za[u_]:=-2 ArcCot[(-(1/(Sqrt[2]))) Tan[(u/2)]]
psa1[u1_]:=-ArcCos[((1-Cos[Za[u1]]+Cos[u1] (1+Cos[Za[u1]])-(Sqrt[2]) Sin[u1] Sin[Za[u1]])/(2 ))]
psa1f[u1_]:=If[u1>0,psa1[u1],-psa1[-u1]]
pha1[u1_]:=ArcTan[((1+Cos[u1]+Cos[Za[u1]]-Cos[u1] Cos[Za[u1]]+(Sqrt[2]) Sin[u1] Sin[Za[u1]])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[Za[u1]] Sin[u1]+(-1+Cos[u1]) Sin[Za[u1]])]-
ArcTan[((Cos[psa1f[u1]])/(Sqrt[2])),Sin[psa1f[u1]]]

Manipulate[
Graphics3D[{EdgeForm[Thick],
Polygon[P5],
Polygon[RotZ[-45°].RotX[-u].RotZ[45°].#&/@P1],
Polygon[RotX[Za[u]].RotZ[45°].RotX[pha1[u]].RotZ[-45°].RotZ[90°].RotX[psa1f[u]].RotZ[-90°].#&/@P2],
Polygon[RotX[Za[u]].RotZ[45°].RotX[pha1[u]].RotZ[-45°].#&/@P3],
Polygon[RotX[Za[u]].#&/@P4],
Polygon[(RotZ[45°].RotX[2ArcTan[((Sqrt[2])-1)*Tan[-u/2]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[-u].RotZ[45°].RotZ[180°].RotX[-2ArcTan[((Sqrt[2])-1)*Tan[u/2]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[Za[u]].(RotZ[-45°].RotX[u].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[Za[u]].
((RotZ[-45°].RotX[u].RotZ[45°].RotX[-2ArcTan[((Sqrt[2])-1)*Tan[u/2]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[
RotZ[45°].RotX[2ArcTan[((Sqrt[2])-1)*Tan[-u/2]]].RotZ[-45°].(#+{-1,1,0})+{1,-1,0}&/@
((RotZ[-90°].RotX[psa1f[u]].RotZ[90°].(#+{-2,0,0})+{2,0,0})&/@P8)
]
},PlotRange->{{-1.5,3.25},{-2.5,2.5},{-2.25,2.25}},Boxed->False]
,{{u,0.01},-Pi,Pi}]

Note that this makes sense because B’s curve never passes through the origin (the completely unfolded state).

Point C

Now let’s animate point C’s rigid folding.

phiv[u_,v_]:=ArcCos[1+Cos[v]-Cos[u] Cos[v]-(Sqrt[2]) Sin[u] Sin[v]]
phivf[u_]:=If[u<0,phiv[u,Ve[u]],-phiv[-u,Ve[-u]]]
zetav[u_,v_]:=ArcTan[-(-(1/2)-((Cos[u])/2)) Cos[v]+((Sin[u] Sin[v])/(Sqrt[2])),-((Cos[v] Sin[u])/(Sqrt[2]))+Cos[u] Sin[v]]-ArcTan[(1/2)+((Cos[phiv[u,v]])/2),((Sin[phiv[u,v]])/(Sqrt[2]))]
zetavf[u_]:=If[u<0,zetav[u,Ve[u]],-zetav[-u,Ve[-u]]]

Manipulate[
Graphics3D[{EdgeForm[Thick],
Polygon[P5],
Polygon[RotZ[-45°].RotX[-u].RotZ[45°].RotZ[-180°].RotX[-Ve[u]].RotZ[180°].#&/@P2],
Polygon[RotX[zetavf[u]].RotZ[45°].RotX[phivf[u]].RotZ[-45°].#&/@P3],
Polygon[RotX[zetavf[u]].#&/@P4],
Polygon[RotZ[-45°].RotX[-u].RotZ[45°].#&/@P1],
Polygon[(RotZ[45°].RotX[2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[-u/2]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[-u].RotZ[45°].RotZ[180°].RotX[-2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[u/2]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[zetavf[u]].(RotZ[-45°].RotX[-u].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[zetavf[u]].
((RotZ[-45°].RotX[-u].RotZ[45°].RotX[2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[u/2]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[RotX[zetavf[u]].
((RotZ[-45°].RotX[-u].RotZ[45°].(#+{-1,-1,0})+{1,1,0}))&/@
((RotX[Ve[u]].(#+{-2,0,0})+{2,0,0})&/@P8)]
},PlotRange->{{-1.5,3.25},{-2.5,2.5},{-2.25,2.25}},Boxed->False],{{u,0.01},-Pi,Pi}]

And here we see that the plot of the point C is just one of the rigid foldings of the square twist, which never use the “zeta” crease that we put in the middle.  This is a valid solution to our folding angle equations, but it doesn’t give us a new rigid fold.

Now here’s a fun animation with all of these Manipulates shown together!

Manipulate[GraphicsGrid[{{Show[
Plot[{
ArcTan[((1+Cos[u1]+Cos[z]-Cos[u1] Cos[z]+(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u1]+(-1+Cos[u1]) Sin[z])]-
ArcTan[((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),Sqrt[1-(((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 )))^2]],
ArcTan[((1+Cos[u1]+Cos[z]-Cos[u1] Cos[z]+(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u1]+(-1+Cos[u1]) Sin[z])]-
ArcTan[((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),-Sqrt[1-(((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 )))^2]],
2ArcTan[((Sqrt[2])-1)Tan[(ArcTan[(1/(2 (Sqrt[2])))(-1+Cos[u2]-Cos[z]-Cos[u2] Cos[z]+(Sqrt[2]) Sin[u2] Sin[z]),(1/2) ((Sqrt[2]) Cos[z] Sin[u2]+Sin[z]+Cos[u2] Sin[z])]-

ArcTan[((1-Cos[z]-Cos[u2] (1+Cos[z])+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),Sqrt[1-((1/(2 ))(-1+Cos[z]+Cos[u2] (1+Cos[z])-(Sqrt[2]) Sin[u2] Sin[z]))^2]])/2]]/.{u2->2ArcTan[(Sqrt[2]-1)Tan[u1/2]]},
2ArcTan[((Sqrt[2])-1)Tan[(ArcTan[(1/(2 (Sqrt[2])))(-1+Cos[u2]-Cos[z]-Cos[u2] Cos[z]+(Sqrt[2]) Sin[u2] Sin[z]),(1/2) ((Sqrt[2]) Cos[z] Sin[u2]+Sin[z]+Cos[u2] Sin[z])]-

ArcTan[((1-Cos[z]-Cos[u2] (1+Cos[z])+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),-Sqrt[1-((1/(2 ))(-1+Cos[z]+Cos[u2] (1+Cos[z])-(Sqrt[2]) Sin[u2] Sin[z]))^2]])/2]]/.{u2->2ArcTan[(Sqrt[2]-1)Tan[u1/2]]}
},{z,-Pi,Pi},PlotRange->{{-Pi,Pi},{-Pi,Pi}},PlotStyle->{Blue,Purple,Red,Orange},
AxesLabel->{Style[ζ,FontSize->18],Style[(Subscript[ϕ, 1]),FontSize->14]},
(*PlotLabels->{Style[2ArcTan[((Sqrt[2])-1)Tan[(Subscript[ϕ, 2]^(+))/2]],FontSize->18],Style[2ArcTan[((Sqrt[2])-1)Tan[(Subscript[ϕ, 2]^(-))/2]],FontSize->18]}, *) ImageSize->400],
Plot[2ArcTan[((Sqrt[2])-1)Tan[u1/2]],{z,-Pi,Pi},PlotStyle->{Dashed}],
(* Plot[Labeled[2ArcTan[((Sqrt[2])-1)Tan[u1/2]],Style["(Subscript[ϕ, 1])=2(Tan^(-1))[((Sqrt[2])-1)Tan[(Subscript[u, 1])/2]]",FontSize->14],-3],{z,-Pi,Pi},PlotStyle->{Dashed}], *)
Plot[Labeled[-2ArcTan[((Sqrt[2])/2)Tan[(z/2)]],Style["(Subscript[ϕ, 1])=-2(Tan^(-1))[((Sqrt[2])/2)Tan[(z/2)]]",FontSize->14],{2,-2.5}],{z,-Pi,Pi},PlotStyle->{Dashed}],
Plot[Labeled[-2 ArcTan[(-2+(Sqrt[2])) Cot[(z/2)]],Style["(Subscript[ϕ, 1])=-2(Tan^(-1))[((Sqrt[2])-2)Cot[(z/2)]]",FontSize->14],{1.8,2.5}],{z,-Pi,Pi},PlotStyle->{Dashed}],
Graphics[{Text[Style["u1 =",Medium],{-2.8,-3}],Text[Style[u1,Medium],{-2.6,-3},{-1,0}],
PointSize[.03],Point[{-2 ArcTan[(Sqrt[2]) (-1+(Sqrt[2])) Tan[(u1/2)]],2ArcTan[((Sqrt[2])-1)Tan[u1/2]]}],
Point[{-2 ArcCot[(((-1+(Sqrt[2])) Tan[(u1/2)])/(-2+(Sqrt[2])))],2ArcTan[((Sqrt[2])-1)Tan[u1/2]]}],
Point[{0,-2ArcTan[(Sqrt[2]-1)Tan[u1/2]]}],
Text[Style[A,Medium],{-2 ArcTan[(Sqrt[2]) (-1+(Sqrt[2])) Tan[(u1/2)]]+.2,2ArcTan[((Sqrt[2])-1)Tan[u1/2]]+.2}],
Text[Style[B,Medium],{-2 ArcCot[(((-1+(Sqrt[2])) Tan[(u1/2)])/(-2+(Sqrt[2])))]+.2,2ArcTan[((Sqrt[2])-1)Tan[u1/2]]+.2}],
Text[Style[C,Medium],{0.2,-2ArcTan[(Sqrt[2]-1)Tan[u1/2]]}]
}]
],Graphics3D[{EdgeForm[Thick],
Polygon[P5],
Polygon[RotZ[-45°].RotX[-u1].RotZ[45°].RotZ[-180°].RotX[-Ve[u1]].RotZ[180°].#&/@P2],
Polygon[RotX[zetaf[u1]].RotZ[45°].RotX[phif[u1]].RotZ[-45°].#&/@P3],
Polygon[RotX[zetaf[u1]].#&/@P4],
Polygon[RotZ[-45°].RotX[-u1].RotZ[45°].#&/@P1],
Polygon[(RotZ[45°].RotX[2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[-u1/2]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[-u1].RotZ[45°].RotZ[180°].RotX[-2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[u1/2]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[zetaf[u1]].(RotZ[-45°].RotX[u1].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[zetaf[u1]].
((RotZ[-45°].RotX[u1].RotZ[45°].RotX[-2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[u1/2]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[RotX[zetaf[u1]].
((RotZ[-45°].RotX[u1].RotZ[45°].(#+{-1,-1,0})+{1,1,0}))&/@
((RotX[-Ve[u1]].(#+{-2,0,0})+{2,0,0})&/@P8)],Text[Style[A,Large],{-2,-2,-2}]
},PlotRange->{{-1.5,3.25},{-2.5,2.5},{-2.25,2.25}},Boxed->False]},
{Graphics3D[{EdgeForm[Thick],
Polygon[P5],
Polygon[RotZ[-45°].RotX[-u1].RotZ[45°].#&/@P1],
Polygon[RotX[Za[u1]].RotZ[45°].RotX[pha1[u1]].RotZ[-45°].RotZ[90°].RotX[psa1f[u1]].RotZ[-90°].#&/@P2],
Polygon[RotX[Za[u1]].RotZ[45°].RotX[pha1[u1]].RotZ[-45°].#&/@P3],
Polygon[RotX[Za[u1]].#&/@P4],
Polygon[(RotZ[45°].RotX[2ArcTan[((Sqrt[2])-1)*Tan[-u1/2]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[-u1].RotZ[45°].RotZ[180°].RotX[-2ArcTan[((Sqrt[2])-1)*Tan[u1/2]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[Za[u1]].(RotZ[-45°].RotX[u1].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[Za[u1]].
((RotZ[-45°].RotX[u1].RotZ[45°].RotX[-2ArcTan[((Sqrt[2])-1)*Tan[u1/2]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[
RotZ[45°].RotX[2ArcTan[((Sqrt[2])-1)*Tan[-u1/2]]].RotZ[-45°].(#+{-1,1,0})+{1,-1,0}&/@
((RotZ[-90°].RotX[psa1f[u1]].RotZ[90°].(#+{-2,0,0})+{2,0,0})&/@P8)
],Text[Style[B,Large],{-2,-2,-2}]
},PlotRange->{{-1.5,3.25},{-2.5,2.5},{-2.25,2.25}},Boxed->False],

Graphics3D[{EdgeForm[Thick],
Polygon[P5],
Polygon[RotZ[-45°].RotX[-u1].RotZ[45°].RotZ[-180°].RotX[-Ve[u1]].RotZ[180°].#&/@P2],
Polygon[RotX[0].RotZ[45°].RotX[phivf[u1]].RotZ[-45°].#&/@P3],
Polygon[RotX[0].#&/@P4],
Polygon[RotZ[-45°].RotX[-u1].RotZ[45°].#&/@P1],
Polygon[(RotZ[45°].RotX[2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[-u1/2]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[-u1].RotZ[45°].RotZ[180°].RotX[-2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[u1/2]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[0].(RotZ[-45°].RotX[-u1].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[0].
((RotZ[-45°].RotX[-u1].RotZ[45°].RotX[2ArcTan[-Sin[(45°-90°)/2]/Sin[(45°+90°)/2]*Tan[u1/2]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[RotX[0].
((RotZ[-45°].RotX[-u1].RotZ[45°].(#+{-1,-1,0})+{1,1,0}))&/@
((RotX[Ve[u1]1].(#+{-2,0,0})+{2,0,0})&/@P8)],Text[Style[C,Large],{-2,-2,-2}]
},PlotRange->{{-1.5,3.25},{-2.5,2.5},{-2.25,2.25}},Boxed->False]
}
}],{{u1,0.01},-3.1415,3.1415}]

Case 2: Both degree-4 vertices are mode 2

Here is the graph of the ϕ1 and 2ArcTan[((Sqrt[2])-1)Tan[(Subscript[ϕ, 2])/2]] curves for this case, where the intersection points A, B, and C are the possible rigid foldings.

Manipulate[Show[
Plot[{
Labeled[ArcTan[((1+Cos[u1]+Cos[z]-Cos[u1] Cos[z]+(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u1]+(-1+Cos[u1]) Sin[z])]-
ArcTan[((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),Sqrt[1-(((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 )))^2]],Style[(Subscript[ϕ, 1]^(+)),FontSize->12]],
Labeled[ArcTan[((1+Cos[u1]+Cos[z]-Cos[u1] Cos[z]+(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u1]+(-1+Cos[u1]) Sin[z])]-
ArcTan[((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),-Sqrt[1-(((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 )))^2]],Style[(Subscript[ϕ, 1]^(-)),FontSize->12]],
Labeled[2ArcTan[-((Sqrt[2])+1)Tan[(ArcTan[((-1+Cos[u2]-Cos[z]-Cos[u2] Cos[z]+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u2]+Sin[z]+Cos[u2] Sin[z])]-

ArcTan[((1-Cos[z]-Cos[u2] (1+Cos[z])+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),Sqrt[1-(((-1+Cos[z]+Cos[u2] (1+Cos[z])-(Sqrt[2]) Sin[u2] Sin[z])/(2 )))^2]])/2]]/.{u2->2ArcTan[-(Sqrt[2]+1)Tan[u1/2]]},Style[-2ArcTan[((Sqrt[2])+1)Tan[(Subscript[ϕ, 2]^(+))/2]],FontSize->12]],
Labeled[2ArcTan[-((Sqrt[2])+1)Tan[(ArcTan[((-1+Cos[u2]-Cos[z]-Cos[u2] Cos[z]+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u2]+Sin[z]+Cos[u2] Sin[z])]-

ArcTan[((1-Cos[z]-Cos[u2] (1+Cos[z])+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),-Sqrt[1-(((-1+Cos[z]+Cos[u2] (1+Cos[z])-(Sqrt[2]) Sin[u2] Sin[z])/(2 )))^2]])/2]]/.{u2->2ArcTan[-(Sqrt[2]+1)Tan[u1/2]]},Style[-2ArcTan[((Sqrt[2])+1)Tan[(Subscript[ϕ, 2]^(-))/2]],FontSize->12]]
},{z,-Pi,Pi},PlotRange->{{-Pi,Pi},{-Pi,Pi}},PlotStyle->{Blue,Purple,Red,Orange},
AxesLabel->{Style[ζ,FontSize->24],Style[(Subscript[ϕ, 1]),FontSize->24]},
(*PlotLabels->{Style[2ArcTan[((Sqrt[2])-1)Tan[(Subscript[ϕ, 2]^(+))/2]],FontSize->18],Style[2ArcTan[((Sqrt[2])-1)Tan[(Subscript[ϕ, 2]^(-))/2]],FontSize->18]}, *) ImageSize->700],
Plot[-2ArcTan[((Sqrt[2])+1)Tan[u1/2]],{z,-Pi,Pi},PlotStyle->{Dashed}],
Plot[Labeled[-2ArcTan[((Sqrt[2])/2)Tan[(z/2)]],Style["(Subscript[ϕ, 1])=-2(Tan^(-1))[((Sqrt[2])/2)Tan[(z/2)]]",FontSize->12],{-2.2,3}],{z,-Pi,Pi},PlotStyle->{Dashed}],
Plot[Labeled[-2 ArcTan[(2+(Sqrt[2])) Cot[(z/2)]],Style["(Subscript[ϕ, 1])=-2(Tan^(-1))[((Sqrt[2])+2)Cot[(z/2)]]",FontSize->12],{1,3}],{z,-Pi,Pi},PlotStyle->{Dashed}],
Graphics[{Text[Style["u1 =",Large],{-2.8,-3}],Text[Style[u1,Large],{-2.4,-3},{-1,0}],
PointSize[.03],Point[{2 ArcTan[(Sqrt[2]) (1+(Sqrt[2])) Tan[(u1/2)]],-2ArcTan[((Sqrt[2])+1)Tan[u1/2]]}],
Point[{2 ArcCot[(((1+(Sqrt[2])) Tan[(u1/2)])/(2+(Sqrt[2])))],-2ArcTan[((Sqrt[2])+1)Tan[u1/2]]}],
Point[{0,2ArcTan[(Sqrt[2]+1)Tan[u1/2]]}],
Text[Style[A,Large],{2 ArcTan[(Sqrt[2]) (1+(Sqrt[2])) Tan[(u1/2)]]+.2,-2ArcTan[((Sqrt[2])+1)Tan[u1/2]]+.2}],
Text[Style[B,Large],{2 ArcCot[(((1+(Sqrt[2])) Tan[(u1/2)])/(2+(Sqrt[2])))]+.2,-2ArcTan[((Sqrt[2])+1)Tan[u1/2]]+.2}],
Text[Style[C,Large],{0.2,2ArcTan[(Sqrt[2]+1)Tan[u1/2]]}]
}]
],{{u1,0},-Pi,Pi}]

As you can see, point C is just another case where the “zeta” crease is never folded, so it’s a rigid folding of the non-augmented square twist, which we don’t need to consider.  Points A and B should be checked, tho.

Point A

Here is the plot of point A in the “both mode 2” graph.

Zi[u1_]:=2 ArcTan[(Sqrt[2]) (1+(Sqrt[2])) Tan[(u1/2)]]
ps1i[u1_]:=-ArcCos[(1/(2 ))(1-Cos[Zi[u1]]+Cos[u1] (1+Cos[Zi[u1]])-(Sqrt[2]) Sin[u1] Sin[Zi[u1]])]
ps1if[u1_]:=If[u1<0,ps1i[u1],-ps1i[-u1]]
ph1i[u1_]:=ArcTan[((1+Cos[u1]+Cos[Zi[u1]]-Cos[u1] Cos[Zi[u1]]+(Sqrt[2]) Sin[u1] Sin[Zi[u1]])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[Zi[u1]] Sin[u1]+(-1+Cos[u1]) Sin[Zi[u1]])]-
ArcTan[((Cos[ps1if[u1]])/(Sqrt[2])),Sin[ps1if[u1]]]

Manipulate[
Graphics3D[{EdgeForm[Thick],Magenta,
Polygon[P5],
Polygon[RotZ[-45°].RotX[u].RotZ[45°].#&/@P1],
Polygon[RotX[-Zi[u]].RotZ[45°].RotX[-ph1i[u]].RotZ[-45°].RotZ[90°].RotX[-ps1if[u]].RotZ[-90°].#&/@P2],
Polygon[RotX[-Zi[u]].RotZ[45°].RotX[-ph1i[u]].RotZ[-45°].#&/@P3],
Polygon[RotX[-Zi[u]].#&/@P4],
Polygon[(RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[u].RotZ[45°].RotZ[180°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[-Zi[u]].(RotZ[-45°].RotX[-u].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[-Zi[u]].
((RotZ[-45°].RotX[-u].RotZ[45°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[
RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-45°].(#+{-1,1,0})+{1,-1,0}&/@
((RotZ[-90°].RotX[-ps1if[u]].RotZ[90°].(#+{-2,0,0})+{2,0,0})&/@P8)
]
},PlotRange->{{-2.25,3.25},{-2.25,2.25},{-2.25,2.25}},Boxed->False]
,{{u,0.01},-Pi,Pi}]

That almost looks like an iso-area square twist, except it self-intersects near the end.  Huh!

Point B

Now for point B in the “both degree-4 vertices are in mode 2” curves.

Zb[u1_]:=2 (ArcCot[(( Tan[(u1/2)])/(Sqrt[2]))])
psb1[u1_]:=-ArcCos[((1-Cos[Zb[u1]]+Cos[u1] (1+Cos[Zb[u1]])-(Sqrt[2]) Sin[u1] Sin[Zb[u1]])/(2 ))]
psb1f[u1_]:=If[u1<0,psb1[u1],-psb1[-u1]]
phb1[u1_]:=ArcTan[((1+Cos[u1]+Cos[Zb[u1]]-Cos[u1] Cos[Zb[u1]]+(Sqrt[2]) Sin[u1] Sin[Zb[u1]])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[Zb[u1]] Sin[u1]+(-1+Cos[u1]) Sin[Zb[u1]])]-
ArcTan[((Cos[psb1f[u1]])/(Sqrt[2])),Sin[psb1f[u1]]]

Manipulate[
Graphics3D[{EdgeForm[Thick],Magenta,
Polygon[P5],
Polygon[RotZ[-45°].RotX[u].RotZ[45°].#&/@P1],
Polygon[RotX[-Zb[u]].RotZ[45°].RotX[-phb1[u]].RotZ[-45°].RotZ[90°].RotX[-psb1f[u]].RotZ[-90°].#&/@P2],
Polygon[RotX[-Zb[u]].RotZ[45°].RotX[-phb1[u]].RotZ[-45°].#&/@P3],
Polygon[RotX[-Zb[u]].#&/@P4],
Polygon[(RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[u].RotZ[45°].RotZ[180°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[-Zb[u]].(RotZ[-45°].RotX[-u].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[-Zb[u]].
((RotZ[-45°].RotX[-u].RotZ[45°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[
RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-45°].(#+{-1,1,0})+{1,-1,0}&/@
((RotZ[-90°].RotX[-psb1f[u]].RotZ[90°].(#+{-2,0,0})+{2,0,0})&/@P8)
]
},PlotRange->{{-2.25,3.25},{-2.25,2.25},{-2.25,2.25}},Boxed->False]
,{{u,0.01},-Pi,Pi}]

That one never unfolds completely, since B never goes to the origin.

But since the points A and B actually come together for the same u1 value in the folding angle curves, we can concatenate the curves and get ... well, this:

Zbi[u_]:=If[u<2 (-ArcTan[(1/(Sqrt[1+(Sqrt[2])]))]),Zb[u],
If[u>2 (ArcTan[(1/(Sqrt[1+(Sqrt[2])]))]),Zb[u],Zi[u]]]
psbi1[u1_]:=-ArcCos[((1-Cos[Zbi[u1]]+Cos[u1] (1+Cos[Zbi[u1]])-(Sqrt[2]) Sin[u1] Sin[Zbi[u1]])/(2 ))]
psbi1f[u1_]:=If[u1<0,psbi1[u1],-psbi1[-u1]]
phbi1[u1_]:=ArcTan[((1+Cos[u1]+Cos[Zbi[u1]]-Cos[u1] Cos[Zbi[u1]]+(Sqrt[2]) Sin[u1] Sin[Zbi[u1]])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[Zbi[u1]] Sin[u1]+(-1+Cos[u1]) Sin[Zbi[u1]])]-
ArcTan[((Cos[psbi1f[u1]])/(Sqrt[2])),Sin[psbi1f[u1]]]

Manipulate[
Graphics3D[{EdgeForm[Thick],Magenta,
Polygon[P5],
Polygon[RotZ[-45°].RotX[u].RotZ[45°].#&/@P1],
Polygon[RotX[-Zbi[u]].RotZ[45°].RotX[-phbi1[u]].RotZ[-45°].RotZ[90°].RotX[-psbi1f[u]].RotZ[-90°].#&/@P2],
Polygon[RotX[-Zbi[u]].RotZ[45°].RotX[-phbi1[u]].RotZ[-45°].#&/@P3],
Polygon[RotX[-Zbi[u]].#&/@P4],
Polygon[(RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[u].RotZ[45°].RotZ[180°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[-Zbi[u]].(RotZ[-45°].RotX[-u].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[-Zbi[u]].
((RotZ[-45°].RotX[-u].RotZ[45°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[
RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-45°].(#+{-1,1,0})+{1,-1,0}&/@
((RotZ[-90°].RotX[-psbi1f[u]].RotZ[90°].(#+{-2,0,0})+{2,0,0})&/@P8)
]
},PlotRange->{{-2.25,3.25},{-2.25,2.25},{-2.25,2.25}},Boxed->False]
,{{u,0.01},-Pi,Pi}]

And THAT, my friends, is an iso-area square twist rigidly folding!

Want to see that last animation along with the curve it’s following on the graph?  Here it is!

Manipulate[
GraphicsGrid[{{Show[
Plot[{
2ArcTan[-((Sqrt[2])+1)Tan[(ArcTan[((-1+Cos[u2]-Cos[z]-Cos[u2] Cos[z]+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u2]+Sin[z]+Cos[u2] Sin[z])]-

ArcTan[((1-Cos[z]-Cos[u2] (1+Cos[z])+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),-Sqrt[1-(((-1+Cos[z]+Cos[u2] (1+Cos[z])-(Sqrt[2]) Sin[u2] Sin[z])/(2 )))^2]])/2]]/.{u2->2ArcTan[-(Sqrt[2]+1)Tan[u1/2]]}
},{z,-Pi,Pi},PlotRange->{{-Pi,Pi},{-Pi,Pi}},PlotStyle->{Blue,Purple,Red,Orange},
AxesLabel->{Style[ζ,FontSize->18],Style[(Subscript[ϕ, 1]),FontSize->18]},
 ImageSize->400],
Plot[Labeled[-2ArcTan[((Sqrt[2])/2)Tan[(z/2)]],Style["(Subscript[ϕ, 1])=-2(Tan^(-1))[((Sqrt[2])/2)Tan[(z/2)]]",FontSize->12],{-1.9,2.7}],{z,-Pi,Pi},PlotStyle->{Dashed}],
Plot[Labeled[-2 ArcTan[(2+(Sqrt[2])) Cot[(z/2)]],Style["(Subscript[ϕ, 1])=-2(Tan^(-1))[((Sqrt[2])+2)Cot[(z/2)]]",FontSize->12],{1.1,2.8}],{z,-Pi,Pi},PlotStyle->{Dashed}],
Graphics[{Text[Style["u1 =",Medium],{-2.8,-3}],Text[Style[u1,Medium],{-2.6,-3},{-1,0}],
PointSize[.03],Point[{ Zbi[u1],-2ArcTan[((Sqrt[2])+1)Tan[u1/2]]}],
Text[Style[A,Medium],{ Zbi[u1]+.2,-2ArcTan[((Sqrt[2])+1)Tan[u1/2]]+.2}] 
}] ]  ,
Graphics3D[{EdgeForm[Thick],Magenta,
Polygon[P5],
Polygon[RotZ[-45°].RotX[u1].RotZ[45°].#&/@P1],
Polygon[RotX[-Zbi[u1]].RotZ[45°].RotX[-phbi1[u1]].RotZ[-45°].RotZ[90°].RotX[-psbi1f[u1]].RotZ[-90°].#&/@P2],
Polygon[RotX[-Zbi[u1]].RotZ[45°].RotX[-phbi1[u1]].RotZ[-45°].#&/@P3],
Polygon[RotX[-Zbi[u1]].#&/@P4],
Polygon[(RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u1/2)]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[u1].RotZ[45°].RotZ[180°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u1/2)]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[-Zbi[u1]].(RotZ[-45°].RotX[-u1].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[-Zbi[u1]].
((RotZ[-45°].RotX[-u1].RotZ[45°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u1/2)]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[
RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u1/2)]]].RotZ[-45°].(#+{-1,1,0})+{1,-1,0}&/@
((RotZ[-90°].RotX[-psbi1f[u1]].RotZ[90°].(#+{-2,0,0})+{2,0,0})&/@P8)
]
},PlotRange->{{-2.25,3.25},{-2.25,2.25},{-2.25,2.25}},Boxed->False]}}]/.{u1->Mod[x,2Pi]-Pi}
,{x,Pi,3Pi}]

Case 3: One degree-4 vertex is mode 1 and the other is mode 2

If we mix the modes at the degree-4 vertices, then we get a combination of Case 1 and Case 2.  Here’s the graphs together with the animation of the “point A curve.”

psi3[u_]:=ArcCos[(1/(2 ))(1-Cos[Zi[u]]+Cos[2ArcTan[1/(Sqrt[2]-1)Tan[ph1i[u]/2]]] (1+Cos[Zi[u]])-(Sqrt[2]) Sin[2ArcTan[1/(Sqrt[2]-1)Tan[ph1i[u]/2]]] Sin[Zi[u]])]
psi3f[u_]:=If[u<0,psi3[u],-psi3[-u]]

Manipulate[GraphicsGrid[{{Show[
Plot[{
ArcTan[((1+Cos[u1]+Cos[z]-Cos[u1] Cos[z]+(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u1]+(-1+Cos[u1]) Sin[z])]-
ArcTan[((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),Sqrt[1-(((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 )))^2]],
ArcTan[((1+Cos[u1]+Cos[z]-Cos[u1] Cos[z]+(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u1]+(-1+Cos[u1]) Sin[z])]-
ArcTan[((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 (Sqrt[2]))),-Sqrt[1-(((1-Cos[z]+Cos[u1] (1+Cos[z])-(Sqrt[2]) Sin[u1] Sin[z])/(2 )))^2]],
2ArcTan[-((Sqrt[2])+1)Tan[(ArcTan[((-1+Cos[u2]-Cos[z]-Cos[u2] Cos[z]+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u2]+Sin[z]+Cos[u2] Sin[z])]-

ArcTan[((1-Cos[z]-Cos[u2] (1+Cos[z])+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),Sqrt[1-(((-1+Cos[z]+Cos[u2] (1+Cos[z])-(Sqrt[2]) Sin[u2] Sin[z])/(2 )))^2]])/2]]/.{u2->  2ArcTan[((Sqrt[2])-1) Tan[u1/2]] },
2ArcTan[-((Sqrt[2])+1)Tan[(ArcTan[((-1+Cos[u2]-Cos[z]-Cos[u2] Cos[z]+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),(1/2) ((Sqrt[2]) Cos[z] Sin[u2]+Sin[z]+Cos[u2] Sin[z])]-

ArcTan[((1-Cos[z]-Cos[u2] (1+Cos[z])+(Sqrt[2]) Sin[u2] Sin[z])/(2 (Sqrt[2]))),-Sqrt[1-(((-1+Cos[z]+Cos[u2] (1+Cos[z])-(Sqrt[2]) Sin[u2] Sin[z])/(2 )))^2]])/2]]/.{u2->2ArcTan[((Sqrt[2])-1) Tan[u1/2]]}
},{z,-Pi,Pi},PlotRange->{{-Pi,Pi},{-Pi,Pi}},PlotStyle->{Blue,Purple,Red,Orange},
AxesLabel->{Style[ζ,FontSize->18],Style[(Subscript[ϕ, 1]),FontSize->18]},
 ImageSize->400],
Plot[-2ArcTan[((Sqrt[2])+1)Tan[u1/2]],{z,-Pi,Pi},PlotStyle->{Dashed}],
Plot[Labeled[-2ArcTan[((Sqrt[2])/2)Tan[(z/2)]],Style["(Subscript[ϕ, 1])=-2(Tan^(-1))[((Sqrt[2])/2)Tan[(z/2)]]",FontSize->12],{-1.9,2.6}],{z,-Pi,Pi},PlotStyle->{Dashed}],
Plot[Labeled[-2 ArcTan[(2+(Sqrt[2])) Cot[(z/2)]],Style["(Subscript[ϕ, 1])=-2(Tan^(-1))[((Sqrt[2])+2)Cot[(z/2)]]",FontSize->12],{1.1,2.7}],{z,-Pi,Pi},PlotStyle->{Dashed}],
Graphics[{Text[Style["u1 =",Medium],{-2.8,-3}],Text[Style[u1,Medium],{-2.6,-3},{-1,0}],
PointSize[.03],Point[{-2 ArcTan[(Sqrt[2]) (-1+(Sqrt[2])) Tan[(u1/2)]],2ArcTan[((Sqrt[2])-1)Tan[u1/2]]}],
Point[{2 ArcCot[(((1+(Sqrt[2])) Tan[(u1/2)])/(2+(Sqrt[2])))],-2ArcTan[((Sqrt[2])+1)Tan[u1/2]]}],
Point[{0,2ArcTan[(Sqrt[2]+1)Tan[u1/2]]}],
Text[Style[A,Medium],{-2 ArcTan[(Sqrt[2]) (-1+(Sqrt[2])) Tan[(u1/2)]]+.2,2ArcTan[((Sqrt[2])-1)Tan[u1/2]]+.2}],
Text[Style[B,Medium],{2 ArcCot[(((1+(Sqrt[2])) Tan[(u1/2)])/(2+(Sqrt[2])))]+.2,-2ArcTan[((Sqrt[2])+1)Tan[u1/2]]+.2}],
Text[Style[C,Medium],{0.2,2ArcTan[(Sqrt[2]+1)Tan[u1/2]]}]
}] ]  ,
Graphics3D[{EdgeForm[Thick],Cyan,
Polygon[P5],
Polygon[RotZ[-45°].RotX[u1].RotZ[45°].#&/@P1],
Polygon[RotX[-Zi[u1]].RotZ[45°].RotX[-ph1i[u1]].RotZ[-45°].RotZ[90°].RotX[-ps1if[u1]].RotZ[-90°].#&/@P2],
Polygon[RotX[-Zi[u1]].RotZ[45°].RotX[-ph1i[u1]].RotZ[-45°].#&/@P3],
Polygon[RotX[-Zi[u1]].#&/@P4],
Polygon[(RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u1/2)]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[u1].RotZ[45°].RotZ[180°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u1/2)]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[-Zi[u1]].(RotZ[-45°].RotX[-2ArcTan[1/(Sqrt[2]-1)Tan[ph1i[u1]/2]]].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[-Zi[u1]].
((RotZ[-45°].RotX[-2ArcTan[1/(Sqrt[2]-1)Tan[ph1i[u1]/2]]].RotZ[45°].RotX[ph1i[u1]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[
RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u1/2)]]].RotZ[-45°].(#+{-1,1,0})+{1,-1,0}&/@
((RotZ[-90°].RotX[-psi3f[u1]].RotZ[90°].(#+{-2,0,0})+{2,0,0})&/@P8)
],Black,Text[Style[A,Large],{-2,-2,-2}]
},PlotRange->{{-1.5,3.25},{-2.5,2.5},{-2.25,2.25}},Boxed->False]
}  (* The following shows the Point B curve, if you want to see it.  But it's no different than the one in Case 2.  *)

(* ,{
Graphics3D[{EdgeForm[Thick],
Polygon[P5],
Polygon[RotZ[-45°].RotX[u1].RotZ[45°].#&/@P1],
Polygon[RotX[-Zb[u1]].RotZ[45°].RotX[-phb1[u1]].RotZ[-45°].RotZ[90°].RotX[-psb1f[u1]].RotZ[-90°].#&/@P2],
Polygon[RotX[-Zb[u1]].RotZ[45°].RotX[-phb1[u1]].RotZ[-45°].#&/@P3],
Polygon[RotX[-Zb[u1]].#&/@P4],
Polygon[(RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u1/2)]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[u1].RotZ[45°].RotZ[180°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u1/2)]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[-Zb[u1]].(RotZ[-45°].RotX[-u1].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[-Zb[u1]].
((RotZ[-45°].RotX[-u1].RotZ[45°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u1/2)]]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[
RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u1/2)]]].RotZ[-45°].(#+{-1,1,0})+{1,-1,0}&/@
((RotZ[-90°].RotX[-psb1f[u1]].RotZ[90°].(#+{-2,0,0})+{2,0,0})&/@P8)
],Text[Style[B,Large],{-2,-2,-2}]  
},PlotRange->{{-1.5,3.25},{-2.5,2.5},{-2.25,2.25}},Boxed->False]     }   *)
 }]
,{{u1,0},-Pi,Pi}]

Notice that in this case the points A and B never intersect at the same u1-value.  Therefore we cannot do the same trick of concatenating two curves to avoid the self-intersection that is present at the end of the A curve.  Thus, curve A is a legitimate, different rigid folding of the square twist, but it does not fold completely flat without self-intersecting.

Here is a Manipulate with just the Case 3 rigid folding:

Manipulate[
Graphics3D[{EdgeForm[Thick],Cyan,
Polygon[P5],
Polygon[RotZ[-45°].RotX[u].RotZ[45°].#&/@P1],
Polygon[RotX[-Zi[u]].RotZ[45°].RotX[-ph1i[u]].RotZ[-45°].RotZ[90°].RotX[-ps1if[u]].RotZ[-90°].#&/@P2],
Polygon[RotX[-Zi[u]].RotZ[45°].RotX[-ph1i[u]].RotZ[-45°].#&/@P3],
Polygon[RotX[-Zi[u]].#&/@P4],
Polygon[(RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-45°].(#+{-1,1,0}))+{1,-1,0}&/@P7],
Polygon[(RotZ[-45°].RotX[u].RotZ[45°].RotZ[180°].RotX[2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-180°].(#+{-1,1,0}))+{1,-1,0}&/@P6],
Polygon[RotX[-Zi[u]].(RotZ[-45°].RotX[-2ArcTan[1/(Sqrt[2]-1)Tan[ph1i[u]/2]]].RotZ[45°].(#+{-1,-1,0})+{1,1,0})&/@P9],
Polygon[RotX[-Zi[u]].
((RotZ[-45°].RotX[-2ArcTan[1/(Sqrt[2]-1)Tan[ph1i[u]/2]]].RotZ[45°].RotX[ph1i[u]].(#+{-1,-1,0})+{1,1,0}))&/@P10],
Polygon[
RotZ[45°].RotX[-2 ArcTan[(1+(Sqrt[2])) Tan[(u/2)]]].RotZ[-45°].(#+{-1,1,0})+{1,-1,0}&/@
((RotZ[-90°].RotX[-psi3f[u]].RotZ[90°].(#+{-2,0,0})+{2,0,0})&/@P8)
]
},PlotRange->{{-1.5,3.25},{-2.5,2.5},{-2.25,2.25}},Boxed->False]
,{{u,0.01},-Pi,Pi}]