(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 10.3' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] NotebookDataLength[ 483859, 12352] NotebookOptionsPosition[ 472264, 12008] NotebookOutlinePosition[ 474724, 12097] CellTagsIndexPosition[ 474153, 12076] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[TextData[{ StyleBox["MovingSofas", FontFamily->"Times New Roman", FontSize->18, FontSlant->"Italic", FontColor->RGBColor[1, 0, 0], Background->None], StyleBox[":", FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0], Background->None], StyleBox[" ", FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[0, 0, 1], Background->None], StyleBox["A companion ", FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[0., 0.5019607843137255, 0.], Background->None], StyleBox["Mathematica", FontFamily->"Times New Roman", FontSize->18, FontSlant->"Italic", FontColor->RGBColor[0., 0.5019607843137255, 0.], Background->None], StyleBox[" package to the paper \[OpenCurlyDoubleQuote]Differential \ equations and exact solutions in the moving sofa problem\ \[CloseCurlyDoubleQuote]", FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[0., 0.5019607843137255, 0.], Background->None], StyleBox["\n", FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[0, 0, 1], Background->None], StyleBox["\nDan Romik\nDepartment of Mathematics\nUniversity of California, \ Davis\n", FontFamily->"Times New Roman", FontSize->18, Background->None], StyleBox["romik@math.ucdavis.edu", FontFamily->"Times New Roman", FontSize->18, FontSlant->"Italic", Background->None], StyleBox["\n\nPackage version: 1.3 (released July 10, 2016)\nSee the end of \ the notebook for a log of changes from earlier versions\nCreated with ", FontFamily->"Times New Roman", FontSize->18, Background->None], StyleBox["Mathematica", FontFamily->"Times New Roman", FontSize->18, FontSlant->"Italic", Background->None], StyleBox[" version 10.3", FontFamily->"Times New Roman", FontSize->18, Background->None] }], "Text", CellChangeTimes->{{3.674735812893545*^9, 3.674735876097064*^9}, { 3.674735992190444*^9, 3.674736019256816*^9}, {3.6747827340386868`*^9, 3.6747827443693237`*^9}, {3.674788340028613*^9, 3.674788340711725*^9}, { 3.6747954035162983`*^9, 3.674795419935768*^9}, {3.6748416581029863`*^9, 3.6748416753797007`*^9}, 3.675142041715335*^9, {3.6753976445742207`*^9, 3.675397644858016*^9}, {3.675830407401298*^9, 3.6758304100991383`*^9}, { 3.675850425460031*^9, 3.6758504330169067`*^9}, {3.675898678583029*^9, 3.67589867903729*^9}, {3.676087217077162*^9, 3.676087219575259*^9}, { 3.676211338894669*^9, 3.676211364508634*^9}, {3.676752523881315*^9, 3.676752527165969*^9}, {3.677091003084896*^9, 3.677091007428812*^9}, { 3.6771841667160053`*^9, 3.677184168511807*^9}}, Background->RGBColor[0.87, 0.94, 1]], Cell[TextData[{ StyleBox["\n\n\n", FontWeight->"Bold"], StyleBox["Table of contents", FontSize->16, FontWeight->"Bold"], StyleBox["\n", FontWeight->"Bold"], "\n1.\t", ButtonBox["Introduction", BaseStyle->"Hyperlink", ButtonData->"Section1"], "\n2.\t", ButtonBox["Initialization code", BaseStyle->"Hyperlink", ButtonData->"Section2"], StyleBox["\n3.\t", Background->GrayLevel[1]], ButtonBox["Formulas for the contact paths in Gerver\[CloseCurlyQuote]s sofa", BaseStyle->"Hyperlink", ButtonData->"Section3"], StyleBox["\n4.\t", Background->GrayLevel[1]], ButtonBox["Formulas for the contact paths in the shape \[CapitalSigma]", BaseStyle->"Hyperlink", ButtonData->"Section4"], StyleBox["\n5.\t", Background->GrayLevel[1]], ButtonBox["Verifying the ODE general form solutions", BaseStyle->"Hyperlink", ButtonData->"Section5"], StyleBox["\n6.\t", Background->GrayLevel[1]], ButtonBox["Solving the equations for Gerver\[CloseCurlyQuote]s sofa (quick \ and easy, purely numerical method)", BaseStyle->"Hyperlink", ButtonData->"Section6"], StyleBox["\n7.\t", Background->GrayLevel[1]], ButtonBox["Solving the equations for Gerver\[CloseCurlyQuote]s sofa (second, \ more algebraic method)", BaseStyle->"Hyperlink", ButtonData->"Section7"], StyleBox["\n8.\t", Background->GrayLevel[1]], ButtonBox["Computing the area of Gerver\[CloseCurlyQuote]s sofa", BaseStyle->"Hyperlink", ButtonData->"Section8"], StyleBox["\n9.\t", Background->GrayLevel[1]], ButtonBox["Solving the equations for the shape \[CapitalSigma] (quick and \ easy numerical method)", BaseStyle->"Hyperlink", ButtonData->"Section9"], StyleBox["\n10.\t", Background->GrayLevel[1]], ButtonBox["Solving the equations for the shape \[CapitalSigma] (algebraic, \ closed form solutions)", BaseStyle->"Hyperlink", ButtonData->"Section10"], StyleBox["\n11.\t", Background->GrayLevel[1]], ButtonBox["Closed form evaluation of the area of the shape \[CapitalSigma]", BaseStyle->"Hyperlink", ButtonData->"Section11"], StyleBox["\n12.\t", Background->GrayLevel[1]], ButtonBox["Computation of the minimal polynomials of the parameters of the \ shape \[CapitalSigma]\n", BaseStyle->"Hyperlink", ButtonData->"Section12"], "13.\t", ButtonBox["Verification of the algebraic curve formulas for boundary \ segments of \[CapitalSigma]", BaseStyle->"Hyperlink", ButtonData->"Section13"], StyleBox["\n14.\t", Background->GrayLevel[1]], ButtonBox["Some fun interactive visualizations", BaseStyle->"Hyperlink", ButtonData->"Section14"], StyleBox["\n15.\t", Background->GrayLevel[1]], ButtonBox["Package documentation", BaseStyle->"Hyperlink", ButtonData->"Section15"], "\n16.\t", ButtonBox["Change log", BaseStyle->"Hyperlink", ButtonData->"Section16"] }], "Text", CellChangeTimes->{{3.675863988175435*^9, 3.675864191041287*^9}, { 3.675864594925013*^9, 3.67586461397263*^9}, {3.6758646455231867`*^9, 3.6758647340754433`*^9}, {3.6758647786997433`*^9, 3.675864779510439*^9}, { 3.675864883779223*^9, 3.67586497561206*^9}, {3.6759024765871553`*^9, 3.6759024820779467`*^9}, {3.6760869670170927`*^9, 3.676086969760674*^9}, { 3.676343016405312*^9, 3.676343047177156*^9}, {3.6763431285294724`*^9, 3.6763432139763412`*^9}, {3.676343304033552*^9, 3.6763433983859453`*^9}, { 3.676728634006173*^9, 3.676728641708362*^9}, {3.676728798075964*^9, 3.676728824579*^9}, {3.676728860319598*^9, 3.676728893734584*^9}}], Cell["", "PageBreak", PageBreakBelow->True], Cell[CellGroupData[{ Cell["1. Introduction", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.6758277728355*^9, 3.675827774638047*^9}}, CellTags->"Section1"], Cell[TextData[{ "The moving sofa problem asks for the planar shape of maximal area that can \ be moved around a right-angled corner in a hallway of unit width. The history \ and mathematical background to the problem is described in my paper \ \[OpenCurlyDoubleQuote]Differential equations and exact solutions in the \ moving sofa problem\[CloseCurlyDoubleQuote], which also contains new results \ on the problem. This ", StyleBox["Mathematica", FontSlant->"Italic"], " package includes code and computations that give a way of verifying some \ of the claims I make in my paper. The package also includes interactive \ visualizations that make it possible to acquire a good understanding of the \ moving sofa problem, Hammersley\[CloseCurlyQuote]s sofa, Gerver\ \[CloseCurlyQuote]s sofa conjectured to be the solution of the moving sofa \ problem, and the new shape \[CapitalSigma] I construct in my paper and that \ may be a solution to a version of the problem called the \ \[OpenCurlyDoubleQuote]ambidextrous moving sofa problem,\ \[CloseCurlyDoubleQuote] where the clas of shapes over which we try to \ maximize the areas are shapes that can be moved around right-angled corners \ both to the right and to the left.\n\nHere\[CloseCurlyQuote]s how to use the \ package: first, evaluate the initialization code in Section 2 below to load \ various function and variable definitions. There is a lot of code and the \ initialization involves some algebraic simplifications, so it may take ", StyleBox["Mathematica ", FontSlant->"Italic"], "a few seconds. Once this is done, open any of the sections and evaluate the \ code there, reading the explanations of what the code is doing and how the \ computation relates to the claims made in the paper.\n\nSection 14 is not \ related to specific claims from the paper but includes interactive graphical \ visualizations that illustrate the process of moving different sofa shapes \ around a corner. \n\nSection 15 includes some documentation of the code (in \ case you want to modify or extend it, although it is not necessary to look at \ the code to read and understand the notebook). Section 16 lists a log of the \ changes since the initial version release.\n\nEnjoy!" }], "Text", CellChangeTimes->{{3.675829847640564*^9, 3.675830100666155*^9}, { 3.675830132451043*^9, 3.67583040148892*^9}, {3.675850374089014*^9, 3.6758503928862267`*^9}, {3.675882430145791*^9, 3.6758824315716257`*^9}, { 3.676752805796361*^9, 3.676752873693966*^9}}] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["2. Initialization code", Background->GrayLevel[1]]], "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.674269217304099*^9, 3.674269219694371*^9}, { 3.674357031899707*^9, 3.674357032331422*^9}, {3.675827775906115*^9, 3.675827776043038*^9}}, CellTags->"Section2"], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{"IMPORTANT", " ", RowBox[{"NOTE", ":", " ", RowBox[{ "Evaluate", " ", "this", " ", "code", " ", "before", " ", "running", " ", "anything", " ", "else", " ", "in", " ", "the", " ", "other", " ", "sections"}]}]}], " ", "*)"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "1"], RowBox[{"Cos", "[", "t", "]"}]}], "+", RowBox[{ SubscriptBox["a", "2"], RowBox[{"Sin", "[", "t", "]"}]}], "-", "1"}], ",", RowBox[{ RowBox[{ RowBox[{"-", SubscriptBox["a", "2"]}], RowBox[{"Cos", "[", "t", "]"}]}], "+", RowBox[{ SubscriptBox["a", "1"], RowBox[{"Sin", "[", "t", "]"}]}], "-", FractionBox["1", "2"]}]}], "}"}]}], "+", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]]}], "}"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "2"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", FractionBox["1", "4"]}], SuperscriptBox["t", "2"]}], "+", RowBox[{ SubscriptBox["b", "1"], "t"}], "+", SubscriptBox["b", "2"]}], ",", RowBox[{ RowBox[{ FractionBox["1", "2"], "t"}], "-", SubscriptBox["b", "1"], "-", "1"}]}], "}"}]}], "+", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"2", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "2"}]]}], "}"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "3"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"{", RowBox[{ RowBox[{ SubscriptBox["c", "1"], "-", "t"}], ",", RowBox[{ SubscriptBox["c", "2"], "+", "t"}]}], "}"}]}], "+", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"3", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "2"}]]}], "}"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "4"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", FractionBox["1", "2"]}], "t"}], "+", SubscriptBox["d", "1"], "-", "1"}], ",", RowBox[{ RowBox[{ RowBox[{"-", FractionBox["1", "4"]}], SuperscriptBox["t", "2"]}], "+", RowBox[{ SubscriptBox["d", "1"], "t"}], "+", SubscriptBox["d", "2"]}]}], "}"}]}], "+", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"4", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "2"}]]}], "}"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "5"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["e", "1"], RowBox[{"Cos", "[", "t", "]"}]}], "+", RowBox[{ SubscriptBox["e", "2"], RowBox[{"Sin", "[", "t", "]"}]}], "-", FractionBox["1", "2"]}], ",", RowBox[{ RowBox[{ RowBox[{"-", SubscriptBox["e", "2"]}], RowBox[{"Cos", "[", "t", "]"}]}], "+", RowBox[{ SubscriptBox["e", "1"], RowBox[{"Sin", "[", "t", "]"}]}], "-", "1"}]}], "}"}]}], "+", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]]}], "}"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "6"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["f", "1"], RowBox[{"Cos", "[", RowBox[{"t", "/", "2"}], "]"}]}], "+", RowBox[{ SubscriptBox["f", "2"], RowBox[{"Sin", "[", RowBox[{"t", "/", "2"}], "]"}]}], "-", "1"}], ",", RowBox[{ RowBox[{ RowBox[{"-", SubscriptBox["f", "2"]}], RowBox[{"Cos", "[", RowBox[{"t", "/", "2"}], "]"}]}], "+", RowBox[{ SubscriptBox["f", "1"], RowBox[{"Sin", "[", RowBox[{"t", "/", "2"}], "]"}]}], "-", "1"}]}], "}"}]}], "+", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]]}], "}"}]}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"\[Mu]", "[", "t_", "]"}], ":=", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{"\[Nu]", "[", "t_", "]"}], ":=", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{"Sin", "[", "t", "]"}]}], ",", RowBox[{"Cos", "[", "t", "]"}]}], "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "j_"], "[", "t_", "]"}], ":=", RowBox[{"Collect", "[", RowBox[{ RowBox[{"Simplify", "[", RowBox[{ RowBox[{ SubscriptBox["x", "j"], "[", "t", "]"}], "+", RowBox[{"\[Mu]", "[", "t", "]"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "j"], "'"}], "[", "t", "]"}], ".", RowBox[{"\[Mu]", "[", "t", "]"}]}], ")"}], RowBox[{"\[Nu]", "[", "t", "]"}]}]}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["B", "j_"], "[", "t_", "]"}], ":=", RowBox[{"Collect", "[", RowBox[{ RowBox[{"Simplify", "[", RowBox[{ RowBox[{ SubscriptBox["x", "j"], "[", "t", "]"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "j"], "'"}], "[", "t", "]"}], ".", RowBox[{"\[Mu]", "[", "t", "]"}]}], ")"}], RowBox[{"\[Nu]", "[", "t", "]"}]}]}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["C", "j_"], "[", "t_", "]"}], ":=", RowBox[{"Collect", "[", RowBox[{ RowBox[{"Simplify", "[", RowBox[{ RowBox[{ SubscriptBox["x", "j"], "[", "t", "]"}], "+", RowBox[{"\[Nu]", "[", "t", "]"}], "-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "j"], "'"}], "[", "t", "]"}], ".", RowBox[{"\[Nu]", "[", "t", "]"}]}], ")"}], RowBox[{"\[Mu]", "[", "t", "]"}]}]}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["D", "j_"], "[", "t_", "]"}], ":=", RowBox[{"Collect", "[", RowBox[{ RowBox[{"Simplify", "[", RowBox[{ RowBox[{ SubscriptBox["x", "j"], "[", "t", "]"}], "-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "j"], "'"}], "[", "t", "]"}], ".", RowBox[{"\[Nu]", "[", "t", "]"}]}], ")"}], RowBox[{"\[Mu]", "[", "t", "]"}]}]}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"Gerverx", "[", "t_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{ SubscriptBox["x", "1"], "[", "t", "]"}], RowBox[{"0", "\[LessEqual]", "t", "<", "\[Phi]"}]}, { RowBox[{ SubscriptBox["x", "2"], "[", "t", "]"}], RowBox[{"\[Phi]", "\[LessEqual]", "t", "<", "\[Theta]"}]}, { RowBox[{ SubscriptBox["x", "3"], "[", "t", "]"}], RowBox[{"\[Theta]", "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}]}]}, { RowBox[{ SubscriptBox["x", "4"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}]}]}, { RowBox[{ SubscriptBox["x", "5"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "\[LessEqual]", "t", "\[LessEqual]", RowBox[{"\[Pi]", "/", "2"}]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", RowBox[{ RowBox[{"GerverA", "[", "t_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{ SubscriptBox["A", "1"], "[", "t", "]"}], RowBox[{"0", "\[LessEqual]", "t", "<", "\[Phi]"}]}, { RowBox[{ SubscriptBox["A", "2"], "[", "t", "]"}], RowBox[{"\[Phi]", "\[LessEqual]", "t", "<", "\[Theta]"}]}, { RowBox[{ SubscriptBox["A", "3"], "[", "t", "]"}], RowBox[{"\[Theta]", "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}]}]}, { RowBox[{ SubscriptBox["A", "4"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}]}]}, { RowBox[{ SubscriptBox["A", "5"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "\[LessEqual]", "t", "\[LessEqual]", RowBox[{"\[Pi]", "/", "2"}]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", RowBox[{ RowBox[{"GerverB", "[", "t_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{ SubscriptBox["B", "1"], "[", "t", "]"}], RowBox[{"0", "\[LessEqual]", "t", "<", "\[Phi]"}]}, { RowBox[{ SubscriptBox["B", "2"], "[", "t", "]"}], RowBox[{"\[Phi]", "\[LessEqual]", "t", "<", "\[Theta]"}]}, { RowBox[{ SubscriptBox["B", "3"], "[", "t", "]"}], RowBox[{"\[Theta]", "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}]}]}, { RowBox[{ SubscriptBox["B", "4"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}]}]}, { RowBox[{ SubscriptBox["B", "5"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "\[LessEqual]", "t", "\[LessEqual]", RowBox[{"\[Pi]", "/", "2"}]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", RowBox[{ RowBox[{"GerverC", "[", "t_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{ SubscriptBox["C", "1"], "[", "t", "]"}], RowBox[{"0", "\[LessEqual]", "t", "<", "\[Phi]"}]}, { RowBox[{ SubscriptBox["C", "2"], "[", "t", "]"}], RowBox[{"\[Phi]", "\[LessEqual]", "t", "<", "\[Theta]"}]}, { RowBox[{ SubscriptBox["C", "3"], "[", "t", "]"}], RowBox[{"\[Theta]", "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}]}]}, { RowBox[{ SubscriptBox["C", "4"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}]}]}, { RowBox[{ SubscriptBox["C", "5"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "\[LessEqual]", "t", "\[LessEqual]", RowBox[{"\[Pi]", "/", "2"}]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", RowBox[{ RowBox[{"GerverD", "[", "t_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{ SubscriptBox["D", "1"], "[", "t", "]"}], RowBox[{"0", "\[LessEqual]", "t", "<", "\[Phi]"}]}, { RowBox[{ SubscriptBox["D", "2"], "[", "t", "]"}], RowBox[{"\[Phi]", "\[LessEqual]", "t", "<", "\[Theta]"}]}, { RowBox[{ SubscriptBox["D", "3"], "[", "t", "]"}], RowBox[{"\[Theta]", "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}]}]}, { RowBox[{ SubscriptBox["D", "4"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}]}]}, { RowBox[{ SubscriptBox["D", "5"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "\[LessEqual]", "t", "\[LessEqual]", RowBox[{"\[Pi]", "/", "2"}]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", "\n", RowBox[{ RowBox[{"Ambix", "[", "t_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{ SubscriptBox["x", "1"], "[", "t", "]"}], RowBox[{"0", "\[LessEqual]", "t", "<", "\[Beta]"}]}, { RowBox[{ SubscriptBox["x", "6"], "[", "t", "]"}], RowBox[{"\[Beta]", "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}]}]}, { RowBox[{ SubscriptBox["x", "5"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "\[LessEqual]", "t", "\[LessEqual]", RowBox[{"\[Pi]", "/", "2"}]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", "\n", RowBox[{ RowBox[{"AmbiA", "[", "t_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{ SubscriptBox["A", "1"], "[", "t", "]"}], RowBox[{"0", "\[LessEqual]", "t", "<", "\[Beta]"}]}, { RowBox[{ SubscriptBox["A", "6"], "[", "t", "]"}], RowBox[{"\[Beta]", "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}]}]}, { RowBox[{ SubscriptBox["A", "5"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "\[LessEqual]", "t", "\[LessEqual]", RowBox[{"\[Pi]", "/", "2"}]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", "\n", RowBox[{ RowBox[{"AmbiB", "[", "t_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{ SubscriptBox["B", "1"], "[", "t", "]"}], RowBox[{"0", "\[LessEqual]", "t", "<", "\[Beta]"}]}, { RowBox[{ SubscriptBox["B", "6"], "[", "t", "]"}], RowBox[{"\[Beta]", "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}]}]}, { RowBox[{ SubscriptBox["B", "5"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "\[LessEqual]", "t", "\[LessEqual]", RowBox[{"\[Pi]", "/", "2"}]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", "\n", RowBox[{ RowBox[{"AmbiC", "[", "t_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{ SubscriptBox["C", "1"], "[", "t", "]"}], RowBox[{"0", "\[LessEqual]", "t", "<", "\[Beta]"}]}, { RowBox[{ SubscriptBox["C", "6"], "[", "t", "]"}], RowBox[{"\[Beta]", "\[LessEqual]", "t", "\[LessEqual]", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}]}]}, { RowBox[{ SubscriptBox["C", "5"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "\[LessEqual]", "t", "\[LessEqual]", RowBox[{"\[Pi]", "/", "2"}]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", "\n", RowBox[{ RowBox[{"AmbiD", "[", "t_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{ SubscriptBox["D", "1"], "[", "t", "]"}], RowBox[{"0", "\[LessEqual]", "t", "<", "\[Beta]"}]}, { RowBox[{ SubscriptBox["D", "6"], "[", "t", "]"}], RowBox[{"\[Beta]", "\[LessEqual]", "t", "<", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}]}]}, { RowBox[{ SubscriptBox["D", "5"], "[", "t", "]"}], RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "\[LessEqual]", "t", "\[LessEqual]", RowBox[{"\[Pi]", "/", "2"}]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", "\n", RowBox[{ RowBox[{"GerverEquations", "=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{ SubscriptBox["e", "1"], "\[Equal]", SubscriptBox["a", "1"]}], ",", "\n", " ", RowBox[{ SubscriptBox["e", "2"], "\[Equal]", RowBox[{"-", SubscriptBox["a", "2"]}]}], ",", "\n", " ", RowBox[{ SubscriptBox["d", "1"], "\[Equal]", RowBox[{ FractionBox["\[Pi]", "4"], "-", SubscriptBox["b", "1"]}]}], ",", "\n", " ", RowBox[{ SubscriptBox["d", "2"], "\[Equal]", RowBox[{ SubscriptBox["b", "2"], "+", RowBox[{ FractionBox["\[Pi]", "4"], RowBox[{"(", RowBox[{ RowBox[{"2", SubscriptBox["b", "1"]}], "-", FractionBox["\[Pi]", "4"]}], ")"}]}]}]}], ",", "\n", " ", RowBox[{ SubscriptBox["c", "2"], "\[Equal]", RowBox[{ SubscriptBox["c", "1"], "-", FractionBox["\[Pi]", "2"]}]}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], "\[Equal]", RowBox[{"1", "-", SubscriptBox["a", "1"]}]}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], "\[Equal]", RowBox[{ RowBox[{"1", "/", "2"}], "+", SubscriptBox["a", "2"]}]}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], "\[Equal]", RowBox[{"-", SubscriptBox["a", "2"]}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "[", "\[Phi]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "2"], "[", "\[Phi]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "[", "\[Phi]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "2"], "[", "\[Phi]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "'"}], "[", "\[Phi]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "2"], "'"}], "[", "\[Phi]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "'"}], "[", "\[Phi]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "2"], "'"}], "[", "\[Phi]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "2"], "[", "\[Theta]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "3"], "[", "\[Theta]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "2"], "[", "\[Theta]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "3"], "[", "\[Theta]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "2"], "'"}], "[", "\[Theta]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "3"], "'"}], "[", "\[Theta]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "2"], "'"}], "[", "\[Theta]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "3"], "'"}], "[", "\[Theta]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "3"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "4"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "3"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "4"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "3"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "4"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "3"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "4"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "4"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "5"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "4"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "5"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "4"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "5"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "4"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "5"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "[", "\[Phi]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["B", "3"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "[", "\[Phi]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["B", "3"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "5"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["D", "2"], "[", "\[Theta]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "5"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["D", "2"], "[", "\[Theta]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"AmbidextrousEquations", "=", RowBox[{"{", "\n", " ", RowBox[{"(*", " ", RowBox[{"equation", " ", RowBox[{"(", "48", ")"}], " ", "in", " ", "the", " ", "paper"}], " ", "*)"}], " ", RowBox[{ RowBox[{ SubscriptBox["e", "1"], "\[Equal]", SubscriptBox["a", "1"]}], ",", " ", "\n", " ", RowBox[{"(*", " ", RowBox[{"equation", " ", RowBox[{"(", "49", ")"}], " ", "in", " ", "the", " ", "paper"}], " ", "*)"}], " ", RowBox[{ SubscriptBox["e", "2"], "\[Equal]", RowBox[{"-", SubscriptBox["a", "2"]}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"equation", " ", RowBox[{"(", "50", ")"}], " ", "in", " ", "the", " ", "paper"}], " ", "*)"}], " ", RowBox[{ SubscriptBox["f", "2"], "\[Equal]", RowBox[{ RowBox[{"(", RowBox[{"1", "-", SqrtBox["2"]}], ")"}], SubscriptBox["f", "1"]}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"equation", " ", RowBox[{"(", "51", ")"}], " ", "in", " ", "the", " ", "paper"}], " ", "*)"}], " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], "\[Equal]", RowBox[{"1", "-", SubscriptBox["a", "1"]}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"equation", " ", RowBox[{"(", "52", ")"}], " ", "in", " ", "the", " ", "paper"}], " ", "*)"}], " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], "\[Equal]", RowBox[{ RowBox[{"1", "/", "2"}], "+", SubscriptBox["a", "2"]}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"equation", " ", RowBox[{"(", "53", ")"}], " ", "in", " ", "the", " ", "paper"}], " ", "*)"}], " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], "\[Equal]", RowBox[{ RowBox[{"1", "/", "2"}], "-", SubscriptBox["a", "2"]}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"x", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "54", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "6"], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"y", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "54", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "6"], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"x", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "55", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "'"}], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "6"], "'"}], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"y", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "55", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "'"}], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "6"], "'"}], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"x", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "56", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "6"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "5"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"y", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "56", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "6"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["x", "5"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"x", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "57", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "6"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "5"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"y", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "57", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "6"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "5"], "'"}], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"x", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "58", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["B", "1"], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"y", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "58", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["B", "1"], "[", "\[Beta]", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"x", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "59", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "5"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["D", "2"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"y", "-", RowBox[{"component", " ", "of", " ", "equation", " ", RowBox[{"(", "59", ")"}], " ", "in", " ", "the", " ", "paper"}]}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "5"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], " ", "\[Equal]", " ", RowBox[{ RowBox[{ SubscriptBox["D", "2"], "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", "\n", " ", RowBox[{"(*", " ", RowBox[{"equation", " ", RowBox[{"(", "60", ")"}], " ", "in", " ", "the", " ", "paper"}], " ", "*)"}], " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "'"}], "[", "\[Beta]", "]"}], ".", RowBox[{"\[Mu]", "[", "\[Beta]", "]"}]}], "\[Equal]", "0"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"GerverAngle\[Phi]", "=", "0.0391773647900836418632178752424"}], ";"}], "\n", RowBox[{ RowBox[{"GerverAngle\[Theta]", "=", "0.681301509382724894473855757083"}], ";"}], "\n", RowBox[{ RowBox[{ "GerverPrecomputedNumericalArea", "=", "2.21953166887196742554628410079679"}], ";"}], "\n", " ", "\n", RowBox[{ RowBox[{"GerverPrecomputedNumericalConstants", "=", " ", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\[Phi]", "\[Rule]", "0.0391773647900836418632178752424"}], ",", " ", "\n", " ", RowBox[{"\[Theta]", "\[Rule]", "0.681301509382724894473855757083"}], ",", " ", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], "\[Rule]", RowBox[{"-", "0.210322422072688751416185718488"}]}], ",", " ", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], "\[Rule]", RowBox[{"1", "/", "4"}]}], ",", " ", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"2", ",", "1"}]], "\[Rule]", RowBox[{"-", "0.919179292771593322274696102894"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"2", ",", "2"}]], "\[Rule]", "0.472406619750805465181760762512"}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"3", ",", "1"}]], "\[Rule]", RowBox[{"-", "0.613763229430251668554914291318"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"3", ",", "2"}]], "\[Rule]", "0.889626479003221860727043050048"}], ",", " ", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"4", ",", "1"}]], "\[Rule]", RowBox[{"-", "0.308347166088910014835132479741"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"4", ",", "2"}]], "\[Rule]", "0.472406619750805465181760762512"}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], "\[Rule]", RowBox[{"-", "1.01720403678781458569364286415"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], "\[Rule]", RowBox[{"1", "/", "4"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["a", "1"], "\[Rule]", "1.21032242207268875141618571849"}], ",", "\n", " ", RowBox[{ SubscriptBox["a", "2"], "\[Rule]", RowBox[{ RowBox[{"-", "1"}], "/", "4"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["b", "1"], "\[Rule]", RowBox[{"-", "0.527624598026784624160503809373"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["b", "2"], "\[Rule]", "0.920258385160637622893705795012"}], ",", "\n", " ", RowBox[{ SubscriptBox["c", "1"], "\[Rule]", "0.626045522848465867552329310386"}], ",", "\n", " ", RowBox[{ SubscriptBox["c", "2"], "\[Rule]", RowBox[{"-", "0.944750803946430751678992381254"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["d", "1"], "\[Rule]", "1.31302276142423293377616465519"}], ",", "\n", " ", RowBox[{ SubscriptBox["d", "2"], "\[Rule]", RowBox[{"-", "0.525382670414554437202836294305"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["e", "1"], "->", "1.21032242207268875141618571849"}], ",", "\n", " ", RowBox[{ SubscriptBox["e", "2"], "\[Rule]", RowBox[{"1", "/", "4"}]}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ "AmbidextrousAngle\[Beta]", "=", "0.289653820817320941743521611736"}], ";"}], "\n", "\n", RowBox[{ RowBox[{"AmbidextrousPrecomputedNumericalConstants", " ", "=", " ", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\[Beta]", "\[Rule]", "0.289653820817320941743521611736"}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], "\[Rule]", "0.124712637587267758739932415305"}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], "\[Rule]", RowBox[{"1", "/", "2"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], "\[Rule]", RowBox[{"-", "0.167049816550309655013423446260"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]], "\[Rule]", RowBox[{"1", "/", "2"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], "\[Rule]", RowBox[{"-", "0.458812270687887068766779307825"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], "\[Rule]", RowBox[{"1", "/", "2"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["a", "1"], "\[Rule]", "0.875287362412732241260067584695"}], ",", "\n", " ", RowBox[{ SubscriptBox["a", "2"], "\[Rule]", "0"}], ",", "\n", " ", RowBox[{ SubscriptBox["f", "1"], "\[Rule]", "1.20293890815691138907022280034"}], ",", "\n", " ", RowBox[{ SubscriptBox["f", "2"], "\[Rule]", RowBox[{"-", "0.498273610464875672029397859080"}]}], ",", "\n", " ", RowBox[{ SubscriptBox["e", "1"], "\[Rule]", "0.875287362412732241260067584695"}], ",", "\n", " ", RowBox[{ SubscriptBox["e", "2"], "\[Rule]", "0"}]}], "\n", "}"}]}], ";"}], "\n", "\n", "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicBeta", "=", RowBox[{"ArcTan", "[", RowBox[{ FractionBox["1", "2"], RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "+", "1"}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "-", "1"}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicBetaAlternative", "=", RowBox[{ RowBox[{"ArcTan", "[", SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "+", "1"}], ")"}], RowBox[{"1", "/", "3"}]], "]"}], "-", RowBox[{"ArcTan", "[", SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "-", "1"}], ")"}], RowBox[{"1", "/", "3"}]], "]"}]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicTanBeta", "=", RowBox[{ FractionBox["1", "2"], RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "+", "1"}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "-", "1"}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicCosineBeta", "=", RowBox[{ FractionBox["1", "2"], " ", RowBox[{"(", RowBox[{ RowBox[{"-", SqrtBox["2"]}], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicCosineBetaOverTwo", "=", RowBox[{ FractionBox["1", "2"], " ", SqrtBox[ RowBox[{"2", "-", SqrtBox["2"], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicSineBetaOverTwo", "=", RowBox[{ FractionBox["1", "2"], " ", SqrtBox[ RowBox[{"2", "+", SqrtBox["2"], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicaOne", "=", RowBox[{ FractionBox["1", "4"], SqrtBox[ RowBox[{"4", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"71", "+", RowBox[{"8", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"71", "-", RowBox[{"8", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicKappaOneOne", "=", RowBox[{"1", "-", "AmbidextrousSymbolicaOne"}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicKappaSixOne", "=", RowBox[{"1", "-", RowBox[{ FractionBox["4", "3"], "AmbidextrousSymbolicaOne"}]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicKappaFiveOne", "=", RowBox[{"1", "-", RowBox[{ FractionBox["5", "3"], "AmbidextrousSymbolicaOne"}]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicfOne", "=", RowBox[{ FractionBox["1", RowBox[{"3", SqrtBox[ RowBox[{"2", RowBox[{"(", RowBox[{"2", "-", SqrtBox["2"]}], ")"}]}]]}]], SuperscriptBox[ RowBox[{"(", RowBox[{"83", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "+", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "-", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}], RowBox[{"1", "/", "4"}]]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicfTwo", "=", RowBox[{ RowBox[{"-", FractionBox[ SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], "6"]}], SuperscriptBox[ RowBox[{"(", RowBox[{"83", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "+", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "-", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}], RowBox[{"1", "/", "4"}]]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicAreaMinusBeta", "=", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"3", "-", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"3", "+", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", "1"}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicArea", "=", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"3", "+", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"3", "-", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", "1", "+", RowBox[{"ArcTan", "[", RowBox[{ FractionBox["1", "2"], RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "+", "1"}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "-", "1"}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}]}], "]"}]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicaSofaLength", "=", RowBox[{ FractionBox["2", "3"], SqrtBox[ RowBox[{"4", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"71", "+", RowBox[{"8", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"71", "-", RowBox[{"8", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], ";"}], "\n", "\n", "\n", RowBox[{ RowBox[{"GerverxNumerical", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{ RowBox[{"Gerverx", "[", "t", "]"}], "/.", "GerverPrecomputedNumericalConstants"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"GerverANumerical", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{ RowBox[{"GerverA", "[", "t", "]"}], "/.", "GerverPrecomputedNumericalConstants"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"GerverBNumerical", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{ RowBox[{"GerverB", "[", "t", "]"}], "/.", "GerverPrecomputedNumericalConstants"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"GerverCNumerical", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{ RowBox[{"GerverC", "[", "t", "]"}], "/.", "GerverPrecomputedNumericalConstants"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"GerverDNumerical", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{ RowBox[{"GerverD", "[", "t", "]"}], "/.", "GerverPrecomputedNumericalConstants"}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"AmbixNumerical", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{ RowBox[{"Ambix", "[", "t", "]"}], "/.", "AmbidextrousPrecomputedNumericalConstants"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbiANumerical", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{ RowBox[{"AmbiA", "[", "t", "]"}], "/.", "AmbidextrousPrecomputedNumericalConstants"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbiBNumerical", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{ RowBox[{"AmbiB", "[", "t", "]"}], "/.", "AmbidextrousPrecomputedNumericalConstants"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbiCNumerical", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{ RowBox[{"AmbiC", "[", "t", "]"}], "/.", "AmbidextrousPrecomputedNumericalConstants"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbiDNumerical", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{ RowBox[{"AmbiD", "[", "t", "]"}], "/.", "AmbidextrousPrecomputedNumericalConstants"}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"SofaDefaultNumSubdivisionPoints", "=", "300"}], ";"}], "\n", RowBox[{ RowBox[{"SofaDefaultFillingColor", "=", RowBox[{"RGBColor", "[", RowBox[{"1", ",", "1", ",", "0.87"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"SofaHallwayDefaultFillingColor", "=", RowBox[{"GrayLevel", "[", "0.75", "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"SquareSofaDefaultFillingColor", "=", RowBox[{"RGBColor", "[", RowBox[{"0.95", ",", "1", ",", "0.9"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"SemicircleSofaDefaultFillingColor", "=", RowBox[{"RGBColor", "[", RowBox[{"1", ",", "1", ",", "0.85"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"HammersleySofaDefaultFillingColor", "=", RowBox[{"RGBColor", "[", RowBox[{"0.9", ",", "0.9", ",", "1"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"GerverSofaDefaultFillingColor", "=", RowBox[{"RGBColor", "[", RowBox[{"0.9", ",", "0.83", ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaDefaultFillingColor", "=", RowBox[{"RGBColor", "[", RowBox[{"1", ",", "0.8", ",", "0.7"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\n", RowBox[{ RowBox[{ RowBox[{"SofaHallway", "[", "armlength_", "]"}], ":=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"EdgeForm", "[", "None", "]"}], ",", "\n", " ", "SofaHallwayDefaultFillingColor", ",", "\n", " ", RowBox[{"AbsoluteThickness", "[", "1.5", "]"}], ",", "\n", " ", RowBox[{"Polygon", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "armlength"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", "armlength"}]}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{"-", "armlength"}]}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "armlength"}], ",", "1"}], "}"}]}], "}"}], "]"}], ",", "\n", " ", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "armlength"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", "armlength"}]}], "}"}]}], "}"}], "]"}], ",", "\n", " ", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "armlength"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{"-", "armlength"}]}], "}"}]}], "}"}], "]"}]}], "}"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"SofaHallwayTwoCorners", "[", "armlength_", "]"}], ":=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"EdgeForm", "[", "None", "]"}], ",", "\n", " ", "SofaHallwayDefaultFillingColor", ",", "\n", " ", RowBox[{"AbsoluteThickness", "[", "1.5", "]"}], ",", "\n", " ", RowBox[{"Polygon", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "armlength"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", "armlength"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"armlength", "+", "1"}], ",", RowBox[{"-", "armlength"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"armlength", "+", "1"}], ",", RowBox[{ RowBox[{"-", "armlength"}], "+", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{ RowBox[{"-", "armlength"}], "+", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "armlength"}], ",", "1"}], "}"}]}], "}"}], "]"}], ",", "\n", " ", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "armlength"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", "armlength"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"armlength", "+", "1"}], ",", RowBox[{"-", "armlength"}]}], "}"}]}], "}"}], "]"}], ",", "\n", " ", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "armlength"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{ RowBox[{"-", "armlength"}], "+", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"armlength", "+", "1"}], ",", RowBox[{ RowBox[{"-", "armlength"}], "+", "1"}]}], "}"}]}], "}"}], "]"}]}], "}"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"SquareSofa", "=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"EdgeForm", "[", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"AbsoluteThickness", "[", "2", "]"}]}], "}"}], "]"}], ",", "\n", " ", "SofaDefaultFillingColor", ",", "\n", " ", RowBox[{"Polygon", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}]}], "}"}], "]"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"SemicircleSofa", "=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"EdgeForm", "[", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"AbsoluteThickness", "[", "2", "]"}]}], "}"}], "]"}], ",", "\n", " ", "SofaDefaultFillingColor", ",", "\n", " ", RowBox[{"Disk", "[", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", "1", ",", RowBox[{"{", RowBox[{"0", ",", "\[Pi]"}], "}"}]}], "]"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"SemicircleSofaRotationPath", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"HammersleyGeneralizedSofa", "[", "innerradius_", "]"}], ":=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"EdgeForm", "[", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"AbsoluteThickness", "[", "1.5", "]"}]}], "}"}], "]"}], ",", "\n", " ", "SofaDefaultFillingColor", ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"innerradius", "\[Equal]", "0"}], ",", "SemicircleSofa", ",", "\n", " ", RowBox[{"Polygon", "[", "\n", " ", RowBox[{"Join", "[", "\n", " ", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"t", ",", "0.0", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", SuperscriptBox["10", RowBox[{"-", "8"}]]}], ",", FractionBox[ RowBox[{"\[Pi]", "/", "2"}], "SofaDefaultNumSubdivisionPoints"]}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "2"}], "innerradius"}], ",", "1"}], "}"}]}], "}"}], ",", "\n", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "2"}], "innerradius"}], "+", RowBox[{"Cos", "[", "t", "]"}]}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{"\[Pi]", "/", "2"}], ",", RowBox[{"\[Pi]", "-", SuperscriptBox["10", RowBox[{"-", "8"}]]}], ",", FractionBox[ RowBox[{"\[Pi]", "/", "2"}], "SofaDefaultNumSubdivisionPoints"]}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "2"}], "innerradius"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "2"}], "innerradius"}], ",", "0"}], "}"}]}], "}"}], ",", "\n", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "innerradius"}], "+", RowBox[{"innerradius", " ", RowBox[{"Cos", "[", "t", "]"}]}]}], ",", RowBox[{"innerradius", " ", RowBox[{"Sin", "[", "t", "]"}]}]}], "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{"t", ",", RowBox[{"\[Pi]", "-", FractionBox["\[Pi]", RowBox[{"Ceiling", "[", RowBox[{ "innerradius", "\[Times]", "SofaDefaultNumSubdivisionPoints"}], "]"}]]}], ",", "0", ",", RowBox[{"-", FractionBox["\[Pi]", RowBox[{"Ceiling", "[", RowBox[{ "innerradius", "\[Times]", "SofaDefaultNumSubdivisionPoints"}], "]"}]]}]}], "}"}]}], "]"}]}], "\n", " ", "]"}], "\n", " ", "]"}]}], "\n", " ", "]"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"HammersleySofa", ":=", RowBox[{"HammersleyGeneralizedSofa", "[", RowBox[{"2", "/", "\[Pi]"}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{ "HammersleyGeneralizedSofaRotationPath", "[", "innerradius_", "]"}], ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "innerradius"}], "+", RowBox[{"innerradius", " ", RowBox[{"Cos", "[", RowBox[{"2", "t"}], "]"}]}]}], ",", RowBox[{"innerradius", " ", RowBox[{"Sin", "[", RowBox[{"2", "t"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"HammersleySofaRotationPath", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", FractionBox["2", "\[Pi]"]}], "+", RowBox[{ FractionBox["2", "\[Pi]"], " ", RowBox[{"Cos", "[", RowBox[{"2", "t"}], "]"}]}]}], ",", RowBox[{ FractionBox["2", "\[Pi]"], " ", RowBox[{"Sin", "[", RowBox[{"2", "t"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"HammersleyGeneralizedSofaArea", "[", "r_", "]"}], ":=", RowBox[{ FractionBox["\[Pi]", "2"], "+", RowBox[{"r", RowBox[{"(", RowBox[{"2", "-", RowBox[{ FractionBox["\[Pi]", "2"], "r"}]}], ")"}]}]}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"HammersleyGeneralizedSofaContactPoints", "[", RowBox[{"r_", ",", "angle_"}], "]"}], ":=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "2"}], "r"}], ",", "0"}], "}"}], ",", "\n", " ", RowBox[{"r", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", RowBox[{"2", "angle"}], "]"}], "-", "1"}], ",", RowBox[{"Sin", "[", RowBox[{"2", "angle"}], "]"}]}], "}"}]}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "angle", "]"}], ",", RowBox[{"Sin", "[", "angle", "]"}]}], "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "2"}], "r"}], "-", RowBox[{"Sin", "[", "angle", "]"}]}], ",", RowBox[{"Cos", "[", "angle", "]"}]}], "}"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"HammersleySofaContactPoints", "[", "angle_", "]"}], ":=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "4"}], "/", "\[Pi]"}], ",", "0"}], "}"}], ",", "\n", " ", RowBox[{ FractionBox["2", "\[Pi]"], RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", RowBox[{"2", "angle"}], "]"}], "-", "1"}], ",", RowBox[{"Sin", "[", RowBox[{"2", "angle"}], "]"}]}], "}"}]}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "angle", "]"}], ",", RowBox[{"Sin", "[", "angle", "]"}]}], "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "4"}], "/", "\[Pi]"}], "-", RowBox[{"Sin", "[", "angle", "]"}]}], ",", RowBox[{"Cos", "[", "angle", "]"}]}], "}"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"SofaRotatedWithHallwayGraphics", "[", RowBox[{ "armlength_", ",", "sofagraphics_", ",", "rotationpath_", ",", "angle_"}], "]"}], ":=", RowBox[{"Graphics", "[", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"SofaHallway", "[", "armlength", "]"}], ",", "\n", " ", RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"sofagraphics", ",", RowBox[{"-", RowBox[{"rotationpath", "[", "angle", "]"}]}]}], "]"}], ",", RowBox[{"-", "angle"}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}]}], "\n", "}"}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"SofaWithRotatedHallwayGraphics", "[", RowBox[{ "armlength_", ",", "sofagraphics_", ",", "rotationpath_", ",", "angle_", ",", "plotrange_"}], "]"}], ":=", RowBox[{"Graphics", "[", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"SofaHallway", "[", "armlength", "]"}], ",", "angle", ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", RowBox[{"rotationpath", "[", "angle", "]"}]}], "]"}], ",", "\n", " ", "sofagraphics"}], "\n", "}"}], ",", RowBox[{"PlotRange", "\[Rule]", "plotrange"}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"SofaMovieWithHallway", "[", RowBox[{ "armlength_", ",", "xinitial_", ",", "sofagraphics_", ",", "rotationpath_", ",", "time_"}], "]"}], ":=", RowBox[{"Graphics", "[", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"SofaHallway", "[", "armlength", "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "1"}], ",", RowBox[{"Translate", "[", RowBox[{"sofagraphics", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"1", "-", "time"}], ")"}]}], ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "2"}], ",", RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"sofagraphics", ",", RowBox[{"-", RowBox[{"rotationpath", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], "]"}]}]}], "]"}], ",", RowBox[{ RowBox[{"-", FractionBox["\[Pi]", "2"]}], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"sofagraphics", ",", RowBox[{"-", RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}]}]}], "]"}], ",", RowBox[{"-", FractionBox["\[Pi]", "2"]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"{", RowBox[{"0", ",", RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"time", "-", "2"}], ")"}]}]}], "}"}]}], "]"}]}], "\n", " ", "]"}]}], "\n", " ", "]"}]}], "\n", "}"}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"SofaMovieWithHallwayTwoCorners", "[", RowBox[{ "armlength_", ",", "leftendpoint_", ",", "sofagraphics_", ",", "rotationpath_", ",", "time_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"basebpoint", ",", "xinitial"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"xinitial", "=", RowBox[{"armlength", "+", "leftendpoint"}]}], ";", "\[IndentingNewLine]", RowBox[{"Graphics", "[", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"SofaHallwayTwoCorners", "[", "armlength", "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "1"}], ",", RowBox[{"Translate", "[", RowBox[{"sofagraphics", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"1", "-", "time"}], ")"}]}], ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "2"}], ",", RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"sofagraphics", ",", RowBox[{"-", RowBox[{"rotationpath", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], "]"}]}]}], "]"}], ",", RowBox[{ RowBox[{"-", FractionBox["\[Pi]", "2"]}], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "3"}], ",", RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"sofagraphics", ",", RowBox[{"-", RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}]}]}], "]"}], ",", RowBox[{"-", FractionBox["\[Pi]", "2"]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"{", RowBox[{"0", ",", RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"time", "-", "2"}], ")"}]}]}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "4"}], ",", "\[IndentingNewLine]", " ", RowBox[{ RowBox[{"basepoint", "=", RowBox[{"rotationpath", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"4", "-", "time"}], ")"}]}], "]"}]}], ";", "\[IndentingNewLine]", " ", RowBox[{ RowBox[{"basepoint", "[", RowBox[{"[", "1", "]"}], "]"}], "=", RowBox[{ RowBox[{ RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], "-", RowBox[{"basepoint", "[", RowBox[{"[", "1", "]"}], "]"}]}]}], ";", " ", RowBox[{ RowBox[{"basepoint", "[", RowBox[{"[", "2", "]"}], "]"}], "=", RowBox[{"1", "-", RowBox[{"basepoint", "[", RowBox[{"[", "2", "]"}], "]"}]}]}], ";", "\[IndentingNewLine]", " ", RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"sofagraphics", ",", RowBox[{"-", "basepoint"}]}], "]"}], ",", RowBox[{ RowBox[{"-", FractionBox["\[Pi]", "2"]}], RowBox[{"(", RowBox[{"4", "-", "time"}], ")"}]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{ RowBox[{"-", "armlength"}], "+", "1"}]}], "}"}]}], "]"}]}], ",", "\[IndentingNewLine]", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "5"}], ",", RowBox[{"Translate", "[", RowBox[{"sofagraphics", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{ RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], "+", "1", "+", RowBox[{"xinitial", "\[Times]", RowBox[{"(", RowBox[{"time", "-", "4"}], ")"}]}]}], ",", RowBox[{"-", "armlength"}]}], "}"}]}], "]"}], ",", RowBox[{"{", "}"}]}], "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\n", "}"}], "]"}]}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"GerverSofaCurveSegment1", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"GerverxNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "GerverAngle\[Phi]", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], ")"}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "5"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"GerverSofaCurveSegment2", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"GerverDNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "GerverAngle\[Theta]", ",", "0", ",", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Theta]"}], ")"}]}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "5"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"GerverSofaCurveSegment3", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"GerverCNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{"\[Pi]", "/", "2"}], ",", "GerverAngle\[Phi]", ",", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], ")"}]}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "5"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"GerverSofaCurveSegment4", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"GerverANumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{"\[Pi]", "/", "2"}], ",", "GerverAngle\[Phi]", ",", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], ")"}]}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "5"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"GerverSofaCurveSegment5", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"GerverBNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{"\[Pi]", "/", "2"}], ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Theta]"}], ",", RowBox[{ RowBox[{"-", "GerverAngle\[Theta]"}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "5"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"GerverSofaCurveSegmentsCombined", "=", RowBox[{"Join", "[", RowBox[{ "GerverSofaCurveSegment1", ",", "GerverSofaCurveSegment2", ",", "GerverSofaCurveSegment3", ",", "GerverSofaCurveSegment4", ",", "GerverSofaCurveSegment5"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"GerverSofaRotationPathDashedSegment1", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"GerverxNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "GerverAngle\[Phi]", ",", RowBox[{"GerverAngle\[Phi]", "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "5"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"GerverSofaRotationPathDashedSegment2", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"GerverxNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], ",", RowBox[{"\[Pi]", "/", "2"}], ",", RowBox[{"GerverAngle\[Phi]", "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "5"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"GerverSofa", ":=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"EdgeForm", "[", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"AbsoluteThickness", "[", "1.5", "]"}]}], "}"}], "]"}], ",", "\n", " ", "SofaDefaultFillingColor", ",", "\n", " ", RowBox[{"Polygon", "[", "GerverSofaCurveSegmentsCombined", "]"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"GerverSofaRotationPathDashedSegments", ":=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"AbsoluteThickness", "[", "1.5", "]"}], ",", RowBox[{"Dashing", "[", "Tiny", "]"}], ",", "Black", ",", RowBox[{"Line", "[", "GerverSofaRotationPathDashedSegment1", "]"}], ",", RowBox[{"Line", "[", "GerverSofaRotationPathDashedSegment2", "]"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"GerverSofaRotationPath", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{"GerverxNumerical", "[", "t", "]"}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"GerverSofaNormalTickMarkData", " ", "=", " ", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"GerverxNumerical", "[", "GerverAngle\[Phi]", "]"}], ",", RowBox[{"-", RowBox[{"{", RowBox[{ RowBox[{"Sin", "[", "GerverAngle\[Theta]", "]"}], ",", RowBox[{"Cos", "[", "GerverAngle\[Theta]", "]"}]}], "}"}]}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverxNumerical", "[", "GerverAngle\[Theta]", "]"}], ",", RowBox[{"-", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "1.35", "]"}], ",", RowBox[{"Sin", "[", "1.35", "]"}]}], "}"}]}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverxNumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Theta]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "1.35", "]"}], ",", RowBox[{"-", RowBox[{"Sin", "[", "1.35", "]"}]}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverxNumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Sin", "[", "GerverAngle\[Theta]", "]"}], ",", RowBox[{"-", RowBox[{"Cos", "[", "GerverAngle\[Theta]", "]"}]}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"GerverBNumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], "]"}], ",", RowBox[{"-", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], "]"}], ",", RowBox[{"Sin", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], "]"}]}], "}"}]}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverBNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", "1"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverDNumerical", "[", "GerverAngle\[Phi]", "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Sin", "[", "GerverAngle\[Phi]", "]"}], ",", RowBox[{"-", RowBox[{"Cos", "[", "GerverAngle\[Phi]", "]"}]}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverDNumerical", "[", "0", "]"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", "1"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverANumerical", "[", "GerverAngle\[Theta]", "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "GerverAngle\[Theta]", "]"}], ",", RowBox[{"Sin", "[", "GerverAngle\[Theta]", "]"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverANumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Theta]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Theta]"}], "]"}], ",", RowBox[{"Sin", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Theta]"}], "]"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverANumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], "]"}], ",", RowBox[{"Sin", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], "]"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverANumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], ",", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverCNumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Theta]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{"Sin", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Theta]"}], "]"}]}], ",", RowBox[{"Cos", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Theta]"}], "]"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverCNumerical", "[", "GerverAngle\[Theta]", "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{"Sin", "[", "GerverAngle\[Theta]", "]"}]}], ",", RowBox[{"Cos", "[", "GerverAngle\[Theta]", "]"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverCNumerical", "[", "GerverAngle\[Phi]", "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{"Cos", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], "]"}]}], ",", RowBox[{"Sin", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "GerverAngle\[Phi]"}], "]"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverCNumerical", "[", "0", "]"}], ",", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0.707", ",", RowBox[{"-", "0.707"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GerverCNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], ",", RowBox[{"-", RowBox[{"{", RowBox[{"0.707", ",", "0.707"}], "}"}]}]}], "}"}]}], "\[IndentingNewLine]", "}"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"GerverSofaNormalTickMarks", "=", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], "-", RowBox[{"0.03", RowBox[{"(", RowBox[{ RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], "/", RowBox[{"Norm", "[", RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], "]"}]}], ")"}]}]}], ",", RowBox[{ RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], "+", RowBox[{"0", RowBox[{"(", RowBox[{ RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], "/", RowBox[{"Norm", "[", RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], "]"}]}], ")"}]}]}]}], "}"}], "]"}], "&"}], ",", "GerverSofaNormalTickMarkData"}], "]"}]}], "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"GerverSofaContactPoints", "[", "angle_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "0"}], "}"}], ",", RowBox[{"GerverCNumerical", "[", "angle", "]"}], ",", RowBox[{"GerverDNumerical", "[", "angle", "]"}]}], "}"}], RowBox[{"angle", "<", "GerverAngle\[Phi]"}]}, { RowBox[{"{", RowBox[{ RowBox[{"GerverxNumerical", "[", "angle", "]"}], ",", RowBox[{"GerverANumerical", "[", "angle", "]"}], ",", RowBox[{"GerverCNumerical", "[", "angle", "]"}], ",", RowBox[{"GerverDNumerical", "[", "angle", "]"}]}], "}"}], RowBox[{ "GerverAngle\[Phi]", "\[LessEqual]", "angle", "\[LessEqual]", "GerverAngle\[Theta]"}]}, { RowBox[{"{", RowBox[{ RowBox[{"GerverxNumerical", "[", "angle", "]"}], ",", RowBox[{"GerverANumerical", "[", "angle", "]"}], ",", RowBox[{"GerverCNumerical", "[", "angle", "]"}]}], "}"}], RowBox[{"GerverAngle\[Theta]", "<", "angle", "<", RowBox[{ FractionBox["\[Pi]", "2"], "-", "GerverAngle\[Theta]"}]}]}, { RowBox[{"{", RowBox[{ RowBox[{"GerverxNumerical", "[", "angle", "]"}], ",", RowBox[{"GerverANumerical", "[", "angle", "]"}], ",", RowBox[{"GerverBNumerical", "[", "angle", "]"}], ",", RowBox[{"GerverCNumerical", "[", "angle", "]"}]}], "}"}], RowBox[{ RowBox[{ FractionBox["\[Pi]", "2"], "-", "GerverAngle\[Theta]"}], "\[LessEqual]", "angle", "\[LessEqual]", RowBox[{ FractionBox["\[Pi]", "2"], "-", "GerverAngle\[Phi]"}]}]}, { RowBox[{"{", RowBox[{ RowBox[{"GerverANumerical", "[", "angle", "]"}], ",", RowBox[{"GerverBNumerical", "[", "angle", "]"}], ",", RowBox[{"GerverCNumerical", "[", "angle", "]"}]}], "}"}], RowBox[{ RowBox[{ FractionBox["\[Pi]", "2"], "-", "GerverAngle\[Phi]"}], "<", "angle", "\[LessEqual]", FractionBox["\[Pi]", "2"]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"AmbiReflection", "[", "pt_", "]"}], ":=", RowBox[{"{", RowBox[{ RowBox[{"pt", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"1", "-", RowBox[{"pt", "[", RowBox[{"[", "2", "]"}], "]"}]}]}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment1", "=", RowBox[{"Rest", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbixNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "AmbidextrousAngle\[Beta]", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ")"}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment2", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbiDNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ",", "0", ",", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ")"}]}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment3", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbiCNumerical", "[", "t", "]"}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ")"}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment4", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbiCNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ",", "0", ",", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ")"}]}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment5", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbiDNumerical", "[", "t", "]"}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ")"}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment6", "=", RowBox[{"Most", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbixNumerical", "[", "t", "]"}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ",", "AmbidextrousAngle\[Beta]", ",", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ")"}]}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment7", "=", RowBox[{"Rest", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbiBNumerical", "[", "t", "]"}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "AmbidextrousAngle\[Beta]", ",", RowBox[{"\[Pi]", "/", "2"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ")"}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment8", "=", RowBox[{"Append", "[", RowBox[{ RowBox[{"Most", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbiANumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{"\[Pi]", "/", "2"}], ",", "AmbidextrousAngle\[Beta]", ",", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ")"}]}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}], "]"}], ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{"1", "/", "2"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment9", "=", RowBox[{"Rest", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbiANumerical", "[", "t", "]"}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "AmbidextrousAngle\[Beta]", ",", RowBox[{"\[Pi]", "/", "2"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ")"}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment10", "=", RowBox[{"Most", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbiBNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{"\[Pi]", "/", "2"}], ",", "AmbidextrousAngle\[Beta]", ",", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ")"}]}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaRotationPathDashedSegment1", "=", RowBox[{"Most", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbixNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "AmbidextrousAngle\[Beta]", ",", RowBox[{"AmbidextrousAngle\[Beta]", "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSofaRotationPathDashedSegment2", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbixNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], ",", RowBox[{"\[Pi]", "/", "2"}], ",", RowBox[{"AmbidextrousAngle\[Beta]", "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegmentsCombined", "=", RowBox[{"Join", "[", RowBox[{ "AmbidextrousSofaCurveSegment1", ",", "AmbidextrousSofaCurveSegment2", ",", "AmbidextrousSofaCurveSegment3", ",", "AmbidextrousSofaCurveSegment4", ",", "AmbidextrousSofaCurveSegment5", ",", "AmbidextrousSofaCurveSegment6", ",", "AmbidextrousSofaCurveSegment7", ",", "AmbidextrousSofaCurveSegment8", ",", "AmbidextrousSofaCurveSegment9", ",", "AmbidextrousSofaCurveSegment10"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofa", ":=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"EdgeForm", "[", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"AbsoluteThickness", "[", "1.5", "]"}]}], "}"}], "]"}], ",", "\n", " ", "SofaDefaultFillingColor", ",", "\n", " ", RowBox[{ "Polygon", "[", "AmbidextrousSofaCurveSegmentsCombined", "]"}]}], "\n", "}"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaRotationPathDashedSegments", ":=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"AbsoluteThickness", "[", "1.5", "]"}], ",", RowBox[{"Dashing", "[", "Tiny", "]"}], ",", "Black", ",", RowBox[{ "Line", "[", "AmbidextrousSofaRotationPathDashedSegment1", "]"}], ",", RowBox[{ "Line", "[", "AmbidextrousSofaRotationPathDashedSegment2", "]"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"OneSidedAmbidextrousSofaCurve", "=", RowBox[{"Join", "[", RowBox[{ "AmbidextrousSofaCurveSegment1", ",", "AmbidextrousSofaCurveSegment2", ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment4", "[", RowBox[{"[", "1", "]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], ",", "0"}], "}"}], "}"}], ",", "AmbidextrousSofaCurveSegment4", ",", "AmbidextrousSofaCurveSegment8", ",", RowBox[{"{", RowBox[{"{", RowBox[{"1", ",", "0"}], "}"}], "}"}], ",", "AmbidextrousSofaCurveSegment10"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"OneSidedAmbidextrousSofa", ":=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"EdgeForm", "[", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"AbsoluteThickness", "[", "1.5", "]"}]}], "}"}], "]"}], ",", "\n", " ", "SofaDefaultFillingColor", ",", "\n", " ", RowBox[{"Polygon", "[", "OneSidedAmbidextrousSofaCurve", "]"}]}], "\n", "}"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"OneSidedAmbidextrousSofaWithReflection", ":=", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"EdgeForm", "[", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"AbsoluteThickness", "[", "1.5", "]"}]}], "}"}], "]"}], ",", "\n", " ", "SofaDefaultFillingColor", ",", "\n", " ", RowBox[{"Polygon", "[", "OneSidedAmbidextrousSofaCurve", "]"}], ",", "\n", " ", RowBox[{"{", RowBox[{"Black", ",", "Dashed", ",", "\n", " ", RowBox[{"Line", "[", "AmbidextrousSofaCurveSegment3", "]"}], ",", "\n", " ", RowBox[{"Line", "[", RowBox[{"Join", "[", RowBox[{ "AmbidextrousSofaCurveSegment5", ",", "\n", " ", "AmbidextrousSofaCurveSegment6", ",", "\n", " ", "AmbidextrousSofaCurveSegment7"}], "]"}], "]"}], ",", "\n", " ", RowBox[{"Line", "[", "AmbidextrousSofaCurveSegment9", "]"}], ",", "\n", " ", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"AmbiCNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"1", "/", "2"}]}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{"1", "/", "2"}]}], "}"}]}], "}"}], "]"}]}], "}"}]}], "\n", "}"}]}], ";"}], "\n", "\n", "\n", RowBox[{ RowBox[{"AmbidextrousSofaContactPoints", "[", "angle_", "]"}], ":=", TagBox[GridBox[{ {"\[Piecewise]", GridBox[{ { RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", RowBox[{"1", "/", "2"}]}], "}"}], ",", RowBox[{"AmbiCNumerical", "[", "angle", "]"}], ",", RowBox[{"AmbiDNumerical", "[", "angle", "]"}]}], "}"}], RowBox[{"angle", "<", "AmbidextrousAngle\[Beta]"}]}, { RowBox[{"{", RowBox[{ RowBox[{"AmbixNumerical", "[", "angle", "]"}], ",", RowBox[{"AmbiANumerical", "[", "angle", "]"}], ",", RowBox[{"AmbiBNumerical", "[", "angle", "]"}], ",", RowBox[{"AmbiCNumerical", "[", "angle", "]"}], ",", RowBox[{"AmbiDNumerical", "[", "angle", "]"}]}], "}"}], RowBox[{"AmbidextrousAngle\[Beta]", "<", "angle", "<", RowBox[{ FractionBox["\[Pi]", "2"], "-", "AmbidextrousAngle\[Beta]"}]}]}, { RowBox[{"{", RowBox[{ RowBox[{"AmbiANumerical", "[", "angle", "]"}], ",", RowBox[{"AmbiBNumerical", "[", "angle", "]"}], ",", RowBox[{"AmbiCNumerical", "[", "angle", "]"}]}], "}"}], RowBox[{ RowBox[{ FractionBox["\[Pi]", "2"], "-", "AmbidextrousAngle\[Beta]"}], "<", "angle", "\[LessEqual]", FractionBox["\[Pi]", "2"]}]} }, AllowedDimensions->{2, Automatic}, Editable->True, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.84]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}, Selectable->True]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize->{ "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.35]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "Piecewise", DeleteWithContents->True, Editable->False, SelectWithContents->True, Selectable->False]}], "\n", "\n", RowBox[{ RowBox[{"AmbidextrousSofaRotationPath", ":=", RowBox[{"Function", "[", RowBox[{"t", ",", RowBox[{"AmbixNumerical", "[", "t", "]"}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"AmbidextrousSofaNormalTickMarkData", " ", "=", " ", RowBox[{"{", "\[IndentingNewLine]", " ", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"AmbixNumerical", "[", "AmbidextrousAngle\[Beta]", "]"}], ",", RowBox[{"-", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "AmbidextrousAngle\[Beta]", "]"}], ",", RowBox[{"Sin", "[", "AmbidextrousAngle\[Beta]", "]"}]}], "}"}]}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbixNumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Sin", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], ",", RowBox[{"-", RowBox[{"Cos", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}]}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbixNumerical", "[", "AmbidextrousAngle\[Beta]", "]"}], "]"}], ",", RowBox[{"-", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "AmbidextrousAngle\[Beta]", "]"}], ",", RowBox[{"-", RowBox[{"Sin", "[", "AmbidextrousAngle\[Beta]", "]"}]}]}], "}"}]}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbixNumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Sin", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], ",", RowBox[{"Cos", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiDNumerical", "[", "AmbidextrousAngle\[Beta]", "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Sin", "[", "AmbidextrousAngle\[Beta]", "]"}], ",", RowBox[{"-", RowBox[{"Cos", "[", "AmbidextrousAngle\[Beta]", "]"}]}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbiDNumerical", "[", "AmbidextrousAngle\[Beta]", "]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Sin", "[", "AmbidextrousAngle\[Beta]", "]"}], ",", RowBox[{"Cos", "[", "AmbidextrousAngle\[Beta]", "]"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiDNumerical", "[", "0", "]"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", "1"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbiDNumerical", "[", "0", "]"}], "]"}], ",", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiBNumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], ",", RowBox[{"-", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], ",", RowBox[{"Sin", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}]}], "}"}]}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbiBNumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], "]"}], ",", RowBox[{"-", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], ",", RowBox[{"-", RowBox[{"Sin", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}]}]}], "}"}]}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiBNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", "1"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbiBNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "]"}], ",", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiCNumerical", "[", "AmbidextrousAngle\[Beta]", "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{"Sin", "[", "AmbidextrousAngle\[Beta]", "]"}]}], ",", RowBox[{"Cos", "[", "AmbidextrousAngle\[Beta]", "]"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbiCNumerical", "[", "AmbidextrousAngle\[Beta]", "]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{"Sin", "[", "AmbidextrousAngle\[Beta]", "]"}]}], ",", RowBox[{"-", RowBox[{"Cos", "[", "AmbidextrousAngle\[Beta]", "]"}]}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiANumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], ",", RowBox[{"Sin", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"AmbiReflection", "[", RowBox[{"AmbiANumerical", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}], ",", RowBox[{"-", RowBox[{"Sin", "[", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "AmbidextrousAngle\[Beta]"}], "]"}]}]}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", RowBox[{"1", "/", "2"}]}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0"}], "}"}]}], "}"}], ",", "\[IndentingNewLine]", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"AmbiCNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"1", "/", "2"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "0"}], "}"}]}], "}"}]}], "\[IndentingNewLine]", "}"}]}], ";"}], "\n", "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaNormalTickMarks", "=", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], "-", RowBox[{"0.025", RowBox[{"(", RowBox[{ RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], "/", RowBox[{"Norm", "[", RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], "]"}]}], ")"}]}]}], ",", RowBox[{ RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], "+", RowBox[{"0", RowBox[{"(", RowBox[{ RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], "/", RowBox[{"Norm", "[", RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], "]"}]}], ")"}]}]}]}], "}"}], "]"}], "&"}], ",", "AmbidextrousSofaNormalTickMarkData"}], "]"}]}], "}"}]}], ";"}], "\n", "\n", RowBox[{"(*", " ", RowBox[{ "Code", " ", "to", " ", "draw", " ", "figures", " ", "for", " ", "the", " ", "paper"}], " ", "*)"}], "\n", "\n", RowBox[{ RowBox[{"SofaPaperFigureSquareSemicircle", " ", "=", " ", RowBox[{"Graphics", "[", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"SofaHallway", "[", "3", "]"}], ",", "\n", " ", RowBox[{"{", RowBox[{"Dashed", ",", RowBox[{"Arrow", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"0.85", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{ RowBox[{"-", "\[Pi]"}], "/", "10"}], "-", RowBox[{"\[Pi]", "/", "20"}]}], ",", RowBox[{ RowBox[{ RowBox[{"-", "\[Pi]"}], "/", "2"}], "+", RowBox[{"\[Pi]", "/", "20"}]}], ",", RowBox[{"-", "0.01"}]}], "}"}]}], "]"}], "]"}]}], "}"}], ",", "\n", " ", RowBox[{"Rotate", "[", RowBox[{"SemicircleSofa", ",", RowBox[{ RowBox[{"-", "\[Pi]"}], "/", "10"}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", RowBox[{"Translate", "[", RowBox[{"SquareSofa", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "2.5"}], ",", "0"}], "}"}]}], "]"}]}], "}"}], "\n", "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"SofaPaperFigureGerverSofaWithTicks", " ", "=", " ", RowBox[{"Graphics", "[", RowBox[{"{", "\n", " ", RowBox[{"GerverSofa", ",", " ", "GerverSofaNormalTickMarks"}], "\n", "}"}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"SofaPaperFigureAmbidextrousSofaWithTicks", " ", "=", " ", RowBox[{"Graphics", "[", RowBox[{"{", "\n", " ", RowBox[{ "AmbidextrousSofa", ",", " ", "AmbidextrousSofaNormalTickMarks"}], "\n", "}"}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ "SofaPaperFigureOneSidedAmbidextrousSofaWithReflection", " ", "=", " ", RowBox[{ "Graphics", "[", "OneSidedAmbidextrousSofaWithReflection", "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment8Modified", "=", RowBox[{"Most", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbiANumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "1.4", ",", "0.5", ",", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{"1.4", "-", "0.5"}], ")"}]}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSofaCurveSegment4Modified", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"AmbiCNumerical", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{"1.4", "-", "0.5"}], ",", "0", ",", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{"1.4", "-", "0.5"}], ")"}]}], "/", RowBox[{"Floor", "[", RowBox[{"SofaDefaultNumSubdivisionPoints", "/", "3"}], "]"}]}]}], "}"}]}], "]"}]}], ";", RowBox[{"SofaPaperContactPathsFigureAngle", "=", "0.65"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaPaperContactPathsFigureRightDashedcurve", "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.9354166666666666`", ",", "0.6479166666666667`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.0145833333333332`", ",", "0.4104166666666669`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.0229166666666665`", ",", "0.16041666666666687`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.9937500000000001`", ",", "0.05208333333333348`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.8520833333333331`", ",", RowBox[{"-", "0.002083333333333215`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.5770833333333332`", ",", RowBox[{"-", "0.010416666666666519`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.423", ",", "0"}], "}"}]}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaPaperContactPathsFigureLeftDashedcurve", "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "0.7729166666666667`"}], ",", "0.002083333333333215`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.1062500000000002`"}], ",", "0.002083333333333215`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.1812500000000001`"}], ",", "0.04791666666666661`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.2270833333333333`"}], ",", "0.2729166666666665`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.2437500000000001`"}], ",", "0.6229166666666666`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.2104166666666667`"}], ",", "0.7312499999999997`"}], "}"}]}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaPaperContactPathsFigureTopDashedcurve", "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "0.7395833333333334`"}], ",", "1.0020833333333332`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.4770833333333332`", ",", "0.9937499999999999`"}], "}"}]}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ "SofaPaperContactPathsFigureRightDashedcurveContactPathColorA", "=", RowBox[{"RGBColor", "[", RowBox[{"0.7", ",", "0", ",", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ "SofaPaperContactPathsFigureRightDashedcurveContactPathColorB", "=", RowBox[{"RGBColor", "[", RowBox[{"0", ",", "0.5", ",", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ "SofaPaperContactPathsFigureRightDashedcurveContactPathColorC", "=", "Blue"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ "SofaPaperContactPathsFigureRightDashedcurveContactPathColorD", "=", "Purple"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ "SofaPaperContactPathsFigureRightDashedcurveContactPathColorx", "=", RowBox[{"RGBColor", "[", RowBox[{"0.9", ",", "0.45", ",", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaPaperContactPathsFigure", "=", "\[IndentingNewLine]", RowBox[{"Graphics", "[", RowBox[{ RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"SofaHallway", "[", "2", "]"}], ",", "SofaPaperContactPathsFigureAngle", ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{ "AmbixNumerical", "[", "SofaPaperContactPathsFigureAngle", "]"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"SofaDefaultFillingColor", ",", RowBox[{"FilledCurve", "[", "\[IndentingNewLine]", RowBox[{"BSplineCurve", "[", "\[IndentingNewLine]", RowBox[{"Join", "[", "\[IndentingNewLine]", RowBox[{ "AmbidextrousSofaCurveSegment10", ",", "AmbidextrousSofaCurveSegment1", ",", "AmbidextrousSofaCurveSegment2", ",", "SofaPaperContactPathsFigureLeftDashedcurve", ",", "AmbidextrousSofaCurveSegment4Modified", ",", "\[IndentingNewLine]", "SofaPaperContactPathsFigureTopDashedcurve", ",", "AmbidextrousSofaCurveSegment8Modified", ",", "SofaPaperContactPathsFigureRightDashedcurve"}], "\[IndentingNewLine]", "]"}], "\[IndentingNewLine]", "]"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"AbsoluteThickness", "[", "2", "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "SofaPaperContactPathsFigureRightDashedcurveContactPathColorB", ",", RowBox[{"Line", "[", RowBox[{"Join", "[", "AmbidextrousSofaCurveSegment10", "]"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "SofaPaperContactPathsFigureRightDashedcurveContactPathColorx", ",", RowBox[{"Line", "[", RowBox[{"Join", "[", "AmbidextrousSofaCurveSegment1", "]"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "SofaPaperContactPathsFigureRightDashedcurveContactPathColorD", ",", RowBox[{"Line", "[", RowBox[{"Join", "[", "AmbidextrousSofaCurveSegment2", "]"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "SofaPaperContactPathsFigureRightDashedcurveContactPathColorA", ",", RowBox[{ "Line", "[", "AmbidextrousSofaCurveSegment8Modified", "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "SofaPaperContactPathsFigureRightDashedcurveContactPathColorC", ",", RowBox[{ "Line", "[", "AmbidextrousSofaCurveSegment4Modified", "]"}]}], "}"}]}], "\[IndentingNewLine]", "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"Dashing", "[", RowBox[{"{", RowBox[{"0.003", ",", "0.01"}], "}"}], "]"}], ",", RowBox[{"AbsoluteThickness", "[", "1.5", "]"}], ",", RowBox[{ "Line", "[", "SofaPaperContactPathsFigureTopDashedcurve", "]"}], ",", RowBox[{ "BSplineCurve", "[", "SofaPaperContactPathsFigureLeftDashedcurve", "]"}], ",", RowBox[{ "BSplineCurve", "[", "SofaPaperContactPathsFigureRightDashedcurve", "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"AbsolutePointSize", "[", "6", "]"}], ",", "\[IndentingNewLine]", RowBox[{"Point", "[", RowBox[{ "AmbixNumerical", "[", "SofaPaperContactPathsFigureAngle", "]"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Point", "[", RowBox[{ "AmbiANumerical", "[", "SofaPaperContactPathsFigureAngle", "]"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Point", "[", RowBox[{ "AmbiBNumerical", "[", "SofaPaperContactPathsFigureAngle", "]"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Point", "[", RowBox[{ "AmbiCNumerical", "[", "SofaPaperContactPathsFigureAngle", "]"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Point", "[", RowBox[{ "AmbiDNumerical", "[", "SofaPaperContactPathsFigureAngle", "]"}], "]"}]}], "\[IndentingNewLine]", "}"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"0.94", ",", "0.77"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{ "18", ",", "SofaPaperContactPathsFigureRightDashedcurveContactPathColorA", ",", "Bold"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.02"}], ",", "0.09"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{ "18", ",", "SofaPaperContactPathsFigureRightDashedcurveContactPathColorB", ",", "Bold"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.09"}], ",", "0.44"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{ "18", ",", "SofaPaperContactPathsFigureRightDashedcurveContactPathColorx", ",", "Bold"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.41"}], ",", "0.04"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{ "18", ",", "SofaPaperContactPathsFigureRightDashedcurveContactPathColorD", ",", "Bold"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.19"}], ",", "0.92"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{ "18", ",", "SofaPaperContactPathsFigureRightDashedcurveContactPathColorC", ",", "Bold"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\<(t)\>\"", ",", RowBox[{"{", RowBox[{"1.005", ",", "0.77"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{ "18", ",", "SofaPaperContactPathsFigureRightDashedcurveContactPathColorA", ",", "Italic"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\<(t)\>\"", ",", RowBox[{"{", RowBox[{"0.045", ",", "0.09"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{ "18", ",", "SofaPaperContactPathsFigureRightDashedcurveContactPathColorB", ",", "Italic"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\<(t)\>\"", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.03"}], ",", "0.44"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{ "18", ",", "SofaPaperContactPathsFigureRightDashedcurveContactPathColorx", ",", "Italic"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\<(t)\>\"", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.345"}], ",", "0.04"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{ "18", ",", "SofaPaperContactPathsFigureRightDashedcurveContactPathColorD", ",", "Italic"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\<(t)\>\"", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.125"}], ",", "0.92"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{ "18", ",", "SofaPaperContactPathsFigureRightDashedcurveContactPathColorC", ",", "Italic"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"Black", ",", " ", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.06561575948419139`", ",", "0.22152003469603787`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.041657189264183714`", ",", "0.21437952259864868`"}], "}"}]}], "}"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "0.3997153945203201`"}], ",", "0.22152002820182118`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ "-", "0.37575682430031242051509084749700119417`18.\ 79934718963173"}], ",", "0.2143795161044319779301884245624498240300202134184892311637`\ 18.67899172106783"}], "}"}]}], "}"}], "]"}]}], "}"}]}], "\[IndentingNewLine]", "}"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1.4"}], ",", "1.1"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.1"}], ",", "1.2"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", "600"}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"rotationpathspecialx", "[", "t_", "]"}], ":=", RowBox[{"{", RowBox[{ RowBox[{"0.613763", RowBox[{"(", RowBox[{ RowBox[{"Cos", "[", RowBox[{"2", "t"}], "]"}], "-", "1"}], ")"}]}], ",", RowBox[{"0.75", RowBox[{"Sin", "[", RowBox[{"2", "t"}], "]"}]}]}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"rotationpathspecialA", "[", "t_", "]"}], ":=", RowBox[{"Collect", "[", RowBox[{ RowBox[{"Simplify", "[", RowBox[{ RowBox[{"rotationpathspecialx", "[", "t", "]"}], "+", RowBox[{"\[Mu]", "[", "t", "]"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"rotationpathspecialx", "'"}], "[", "t", "]"}], ".", RowBox[{"\[Mu]", "[", "t", "]"}]}], ")"}], RowBox[{"\[Nu]", "[", "t", "]"}]}]}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{"rotationpathspecialB", "[", "t_", "]"}], ":=", RowBox[{"Collect", "[", RowBox[{ RowBox[{"Simplify", "[", RowBox[{ RowBox[{"rotationpathspecialx", "[", "t", "]"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"rotationpathspecialx", "'"}], "[", "t", "]"}], ".", RowBox[{"\[Mu]", "[", "t", "]"}]}], ")"}], RowBox[{"\[Nu]", "[", "t", "]"}]}]}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{"rotationpathspecialC", "[", "t_", "]"}], ":=", RowBox[{"Collect", "[", RowBox[{ RowBox[{"Simplify", "[", RowBox[{ RowBox[{"rotationpathspecialx", "[", "t", "]"}], "+", RowBox[{"\[Nu]", "[", "t", "]"}], "-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"rotationpathspecialx", "'"}], "[", "t", "]"}], ".", RowBox[{"\[Nu]", "[", "t", "]"}]}], ")"}], RowBox[{"\[Mu]", "[", "t", "]"}]}]}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{"rotationpathspecialD", "[", "t_", "]"}], ":=", RowBox[{"Collect", "[", RowBox[{ RowBox[{"Simplify", "[", RowBox[{ RowBox[{"rotationpathspecialx", "[", "t", "]"}], "-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"rotationpathspecialx", "'"}], "[", "t", "]"}], ".", RowBox[{"\[Nu]", "[", "t", "]"}]}], ")"}], RowBox[{"\[Mu]", "[", "t", "]"}]}]}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rotationpathfigurepointsx", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"rotationpathspecialx", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0.103", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "0.103"}], ",", RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "/", "SofaDefaultNumSubdivisionPoints"}], "/", "5"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rotationpathfigurepointsxdashed1", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"rotationpathspecialx", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "0.103", ",", RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "/", "SofaDefaultNumSubdivisionPoints"}], "/", "5"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rotationpathfigurepointsxdashed2", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"rotationpathspecialx", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "0.103"}], ",", RowBox[{"\[Pi]", "/", "2"}], ",", RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "/", "SofaDefaultNumSubdivisionPoints"}], "/", "5"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rotationpathfigurepointsD", "=", RowBox[{"Reverse", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"rotationpathspecialD", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "0.736"}], ",", RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "/", "SofaDefaultNumSubdivisionPoints"}], "/", "5"}]}], "}"}]}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rotationpathfigurepointsC", "=", RowBox[{"Reverse", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"rotationpathspecialC", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", RowBox[{"\[Pi]", "/", "2"}], ",", RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "/", "SofaDefaultNumSubdivisionPoints"}], "/", "5"}]}], "}"}]}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rotationpathfigurepointsA", "=", RowBox[{"Reverse", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"rotationpathspecialA", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", RowBox[{"\[Pi]", "/", "2"}], ",", RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "/", "SofaDefaultNumSubdivisionPoints"}], "/", "5"}]}], "}"}]}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rotationpathfigurepointsB", "=", RowBox[{"Reverse", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"rotationpathspecialB", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0.736", ",", RowBox[{"\[Pi]", "/", "2"}], ",", RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "/", "SofaDefaultNumSubdivisionPoints"}], "/", "5"}]}], "}"}]}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rotationpathfiguredashedpath", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"rotationpathspecialx", "[", RowBox[{"\[Pi]", "/", "4"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], ",", "0"}], "}"}], "+", RowBox[{"0.86", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"rotationpathspecialx", "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], "-", RowBox[{ RowBox[{"rotationpathspecialx", "[", RowBox[{"\[Pi]", "/", "4"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{ RowBox[{"rotationpathspecialx", "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], "}"}]}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0.04", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "0.04"}], ",", RowBox[{ RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "/", "SofaDefaultNumSubdivisionPoints"}], "/", "5"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rotationpathfigurehighlightedhallwaytime", "=", RowBox[{"6", "*", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "/", "20"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rotationpathfigurerotatedhallwayhighlighted", "=", RowBox[{"{", RowBox[{"SofaHallwayDefaultFillingColor", ",", RowBox[{"EdgeForm", "[", "Black", "]"}], ",", RowBox[{"Table", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Polygon", "[", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", "3"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"1", ",", RowBox[{"-", "3"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "1"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "0"}], "}"}]}], "\[IndentingNewLine]", "}"}], "]"}], ",", "t", ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", RowBox[{"rotationpathspecialx", "[", "t", "]"}]}], "]"}], "\[IndentingNewLine]", ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{"{", "rotationpathfigurehighlightedhallwaytime", "}"}]}], "}"}]}], "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rotationpathfigurerotatedhallways2", "=", RowBox[{"{", RowBox[{ RowBox[{"RGBColor", "[", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "]"}], ",", RowBox[{"EdgeForm", "[", RowBox[{"RGBColor", "[", RowBox[{"0.4", ",", "0.4", ",", "0.4", ",", "0.6"}], "]"}], "]"}], ",", RowBox[{"Table", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Polygon", "[", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", "3"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"1", ",", RowBox[{"-", "3"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "1"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "0"}], "}"}]}], "\[IndentingNewLine]", "}"}], "]"}], ",", "t", ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", RowBox[{"rotationpathspecialx", "[", "t", "]"}]}], "]"}], "\[IndentingNewLine]", ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", RowBox[{"\[Pi]", "/", "2"}], ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "/", "20"}]}], "}"}]}], "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaPaperRotationPathFigure", "=", RowBox[{"Graphics", "[", RowBox[{ RowBox[{"{", "\[IndentingNewLine]", RowBox[{ "rotationpathfigurerotatedhallwayhighlighted", ",", "\[IndentingNewLine]", "rotationpathfigurerotatedhallways2", ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"EdgeForm", "[", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"AbsoluteThickness", "[", "1.5", "]"}]}], "}"}], "]"}], ",", "SofaDefaultFillingColor", ",", RowBox[{"AbsoluteThickness", "[", "2", "]"}], ",", "\[IndentingNewLine]", RowBox[{"Polygon", "[", RowBox[{"Join", "[", RowBox[{ "rotationpathfigurepointsx", ",", "rotationpathfigurepointsD", ",", "rotationpathfigurepointsC", ",", "rotationpathfigurepointsA", ",", "rotationpathfigurepointsB"}], "]"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"Dashing", "[", "Tiny", "]"}], ",", RowBox[{"Line", "[", "rotationpathfigurepointsxdashed1", "]"}], ",", RowBox[{"Line", "[", "rotationpathfigurepointsxdashed2", "]"}]}], "}"}]}], "\[IndentingNewLine]", "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"RGBColor", "[", RowBox[{"0", ",", "0", ",", "0.7"}], "]"}], ",", "Dashed", ",", RowBox[{"Arrowheads", "[", "0.02", "]"}], ",", RowBox[{"Arrow", "[", "rotationpathfiguredashedpath", "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Point", "[", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], "]"}], ",", RowBox[{"Point", "[", RowBox[{ "rotationpathspecialx", "[", "rotationpathfigurehighlightedhallwaytime", "]"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\<(0,0)\>\"", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.12"}], ",", RowBox[{"-", "0.08"}]}], "}"}]}], "]"}], ",", "14"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.21"}], ",", "0.68"}], "}"}]}], "]"}], ",", "14", ",", "Bold"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"\"\<(t)\>\"", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.13"}], ",", "0.68"}], "}"}]}], "]"}], ",", "14"}], "]"}]}], "\[IndentingNewLine]", "}"}]}], "\[IndentingNewLine]", "}"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"rotationpathspecialC", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], "-", "0.3"}], ",", "1.3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.3"}], ",", "1.3"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", "600"}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"SofaPaperFigureHammersleySofa", "=", RowBox[{"Graphics", "[", RowBox[{"{", "\[IndentingNewLine]", RowBox[{"HammersleySofa", ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"GrayLevel", "[", "0.7", "]"}], ",", "Dashed", ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "4"}], "/", "\[Pi]"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "4"}], "/", "\[Pi]"}], ",", "1"}], "}"}]}], "}"}], "]"}]}], "}"}]}], "\[IndentingNewLine]", "}"}], "]"}]}], ";"}], "\n", "\n", RowBox[{"(*", " ", RowBox[{"Code", " ", "for", " ", "interactive", " ", "visualizations"}], " ", "*)"}], "\n", "\n", RowBox[{ RowBox[{"SofaVisualizationGeneralizedHammersleySofasAreas", ":=", RowBox[{"Manipulate", "[", "\n", RowBox[{ RowBox[{"Column", "[", RowBox[{"{", "\[IndentingNewLine]", " ", RowBox[{ RowBox[{"Row", "[", RowBox[{"{", "\[IndentingNewLine]", " ", RowBox[{ RowBox[{"Show", "[", RowBox[{ RowBox[{"Plot", "[", RowBox[{ RowBox[{"HammersleyGeneralizedSofaArea", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}], ",", RowBox[{"ImageSize", "\[Rule]", "240"}], ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\""}], "}"}]}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"{", RowBox[{"Black", ",", RowBox[{"Thickness", "[", "0.005", "]"}]}], "}"}]}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{"1.5", ",", "2.3"}], "}"}]}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "6", "]"}], ",", RowBox[{"Point", "[", RowBox[{"{", RowBox[{"r", ",", RowBox[{ "HammersleyGeneralizedSofaArea", "[", "r", "]"}]}], "}"}], "]"}]}], "}"}], "]"}]}], "]"}], ",", "\[IndentingNewLine]", " ", "\"\< \>\"", ",", "\[IndentingNewLine]", " ", RowBox[{"Graphics", "[", RowBox[{ RowBox[{"HammersleyGeneralizedSofa", "[", "r", "]"}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"{", RowBox[{"Automatic", ",", "160"}], "}"}]}]}], "]"}]}], "\[IndentingNewLine]", "}"}], "]"}], ",", "\"\<\>\"", ",", RowBox[{"\"\\"", "<>", RowBox[{"ToString", "[", "r", "]"}]}], ",", RowBox[{"\"\\"", "<>", RowBox[{"ToString", "[", RowBox[{"HammersleyGeneralizedSofaArea", "[", "r", "]"}], "]"}]}]}], "\[IndentingNewLine]", "}"}], "]"}], ",", RowBox[{"{", RowBox[{"r", ",", "0.0", ",", "1.0"}], "}"}], ",", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<\>\"", ",", "\"\<\>\"", ",", RowBox[{"Style", "[", RowBox[{ "\"\\"", ",", "14", ",", "Bold"}], "]"}]}], "}"}]}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"SofaVisualizationGeneralizedHammersleySofasInHallway", ":=", RowBox[{"Manipulate", "[", RowBox[{ RowBox[{"Show", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaMovieWithHallway", "[", RowBox[{ RowBox[{"Max", "[", RowBox[{"4", ",", RowBox[{"2.5", "+", RowBox[{"2", "r"}]}]}], "]"}], ",", "1.5", ",", RowBox[{"HammersleyGeneralizedSofa", "[", "r", "]"}], ",", RowBox[{"HammersleyGeneralizedSofaRotationPath", "[", "r", "]"}], ",", "t"}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "\[IndentingNewLine]", "]"}], ",", RowBox[{"{", RowBox[{"r", ",", "0.00000000001", ",", "1.0"}], "}"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "3", ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "}"}], ",", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<\>\"", ",", "\"\<\>\"", ",", RowBox[{"Style", "[", RowBox[{ "\"\\"", ",", "14", ",", "Bold"}], "]"}]}], "}"}]}]}], "]"}]}], ";"}], " ", "\n", RowBox[{"(*", RowBox[{ RowBox[{"**", RowBox[{ "*", " ", "A", " ", "small", " ", "bug", " ", "here", " ", "with", " ", "r"}]}], "=", "0"}], " ", "****)"}], "\n", "\n", RowBox[{ RowBox[{ RowBox[{"SofaMovieWithHallwayMultiPOV", "[", RowBox[{ "armlength_", ",", "xinitial_", ",", "sofagraphics_", ",", "rotationpath_", ",", "time_", ",", "pov_", ",", "plotrangepov1_", ",", "plotrangepov2_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"sofatrans", ",", "hallwaytrans"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"sofatrans", "=", RowBox[{"Function", "[", RowBox[{"graphx", ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "1"}], ",", RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"1", "-", "time"}], ")"}]}], ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "2"}], ",", RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"-", RowBox[{"rotationpath", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], "]"}]}]}], "]"}], ",", RowBox[{ RowBox[{"-", FractionBox["\[Pi]", "2"]}], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"-", RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}]}]}], "]"}], ",", RowBox[{"-", FractionBox["\[Pi]", "2"]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"{", RowBox[{"0", ",", RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"time", "-", "2"}], ")"}]}]}], "}"}]}], "]"}]}], "]"}]}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"hallwaytrans", "=", RowBox[{"Function", "[", RowBox[{"graphx", ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "1"}], ",", RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"-", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"1", "-", "time"}], ")"}]}], ",", "0"}], "}"}]}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "2"}], ",", RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{"graphx", ",", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", RowBox[{"rotationpath", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], "]"}]}], "]"}], ",", "\n", " ", RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"-", RowBox[{"{", RowBox[{"0", ",", RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"time", "-", "2"}], ")"}]}]}], "}"}]}]}], "]"}], ",", FractionBox["\[Pi]", "2"], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}]}], "]"}]}], "]"}]}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"pov", "!=", "\"\\""}], ",", "\[IndentingNewLine]", RowBox[{"Graphics", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"SofaHallway", "[", "armlength", "]"}], ",", RowBox[{"sofatrans", "[", "sofagraphics", "]"}]}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", "plotrangepov1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Graphics", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"hallwaytrans", "[", RowBox[{"SofaHallway", "[", "armlength", "]"}], "]"}], ",", "sofagraphics"}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", "plotrangepov2"}]}], "]"}]}], "]"}]}]}], "\n", "]"}]}], ";"}], "\[IndentingNewLine]", "\n", RowBox[{ RowBox[{"SofaVisualizationGerverSofaInHallway", ":=", RowBox[{"Manipulate", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"pov", "\[Equal]", "\"\\""}], ",", "\[IndentingNewLine]", RowBox[{"Show", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaMovieWithHallwayMultiPOV", "[", RowBox[{"4", ",", "1.7", ",", "\n", RowBox[{"{", RowBox[{"GerverSofa", ",", RowBox[{"If", "[", RowBox[{ "showrotationpath", ",", "GerverSofaRotationPathDashedSegments", ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"1", "\[LessEqual]", "t", "\[LessEqual]", "2"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{"Point", ",", RowBox[{"GerverSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "1"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ "showtickmarks", ",", "GerverSofaNormalTickMarks", ",", RowBox[{"{", "}"}]}], "]"}]}], "}"}], ",", "\n", "GerverSofaRotationPath", ",", "t", ",", "\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "0.5"}], "+", RowBox[{ RowBox[{"GerverCNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "1.5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5"}], ",", "1.5"}], "}"}]}], "}"}]}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "\[IndentingNewLine]", "]"}], ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"pov", "\[Equal]", "\"\\""}], ",", "\[IndentingNewLine]", RowBox[{"Show", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaMovieWithHallwayMultiPOV", "[", RowBox[{"4", ",", "1.7", ",", "\n", RowBox[{"{", RowBox[{"GerverSofa", ",", RowBox[{"If", "[", RowBox[{ "showrotationpath", ",", "GerverSofaRotationPathDashedSegments", ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"1", "\[LessEqual]", "t", "\[LessEqual]", "2"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{"Point", ",", RowBox[{"GerverSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "1"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ "showtickmarks", ",", "GerverSofaNormalTickMarks", ",", RowBox[{"{", "}"}]}], "]"}]}], "}"}], ",", "\n", "GerverSofaRotationPath", ",", "t", ",", "\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "0.5"}], "+", RowBox[{ RowBox[{"GerverCNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "1.5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5"}], ",", "1.5"}], "}"}]}], "}"}]}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "\[IndentingNewLine]", "]"}], ",", "\[IndentingNewLine]", RowBox[{"Row", "[", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"Show", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaMovieWithHallwayMultiPOV", "[", RowBox[{"4", ",", "1.7", ",", "\n", RowBox[{"{", RowBox[{"GerverSofa", ",", RowBox[{"If", "[", RowBox[{ "showrotationpath", ",", "GerverSofaRotationPathDashedSegments", ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"1", "\[LessEqual]", "t", "\[LessEqual]", "2"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{"Point", ",", RowBox[{"GerverSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "1"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ "showtickmarks", ",", "GerverSofaNormalTickMarks", ",", RowBox[{"{", "}"}]}], "]"}]}], "}"}], ",", "\n", "GerverSofaRotationPath", ",", "t", ",", "\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "0.5"}], "+", RowBox[{ RowBox[{"GerverCNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "1.5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5"}], ",", "1.5"}], "}"}]}], "}"}]}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "\[IndentingNewLine]", "]"}], ",", "\"\< \>\"", ",", "\[IndentingNewLine]", RowBox[{"Show", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaMovieWithHallwayMultiPOV", "[", RowBox[{"4", ",", "1.7", ",", "\n", RowBox[{"{", RowBox[{"GerverSofa", ",", RowBox[{"If", "[", RowBox[{ "showrotationpath", ",", "GerverSofaRotationPathDashedSegments", ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"1", "\[LessEqual]", "t", "\[LessEqual]", "2"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{"Point", ",", RowBox[{"GerverSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "1"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ "showtickmarks", ",", "GerverSofaNormalTickMarks", ",", RowBox[{"{", "}"}]}], "]"}]}], "}"}], ",", "\n", "GerverSofaRotationPath", ",", "t", ",", "\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "0.5"}], "+", RowBox[{ RowBox[{"GerverCNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "1.5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5"}], ",", "1.5"}], "}"}]}], "}"}]}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "}"}], "]"}]}], "\[IndentingNewLine]", "]"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"t", ",", "0", ",", "3", ",", RowBox[{"ImageSize", "\[Rule]", "300"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "showcontactpoints", ",", "False", ",", "\"\\""}], "}"}], ",", "Checkbox"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "showtickmarks", ",", "False", ",", "\"\\""}], "}"}], ",", "Checkbox"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "showrotationpath", ",", "False", ",", "\"\\""}], "}"}], ",", "Checkbox"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "pov", ",", "\"\\"", ",", "\"\\""}], "}"}], ",", RowBox[{"{", RowBox[{ "\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}], "}"}], ",", "\n", " ", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<\>\"", ",", "\"\<\>\"", ",", RowBox[{"Style", "[", RowBox[{ "\"\\"", ",", "14", ",", "Bold"}], "]"}]}], "}"}]}]}], "]"}]}], ";"}], "\n", "\n", "\n", RowBox[{ RowBox[{ RowBox[{"SofaMovieWithHallwayTwoCornersMultiPOV", "[", RowBox[{ "armlength_", ",", "leftendpoint_", ",", "sofagraphics_", ",", "rotationpath_", ",", "time_", ",", "pov_", ",", "plotrange1_", ",", "plotrange2_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ "basebpoint", ",", "xinitial", ",", "sofatrans", ",", "hallwaytrans"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"xinitial", "=", RowBox[{"armlength", "+", "leftendpoint"}]}], ";", "\[IndentingNewLine]", RowBox[{"sofatrans", "=", RowBox[{"Function", "[", RowBox[{"graphx", ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "1"}], ",", RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"1", "-", "time"}], ")"}]}], ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "2"}], ",", RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"-", RowBox[{"rotationpath", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], "]"}]}]}], "]"}], ",", RowBox[{ RowBox[{"-", FractionBox["\[Pi]", "2"]}], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "3"}], ",", RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"-", RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}]}]}], "]"}], ",", RowBox[{"-", FractionBox["\[Pi]", "2"]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"{", RowBox[{"0", ",", RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"time", "-", "2"}], ")"}]}]}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "4"}], ",", "\[IndentingNewLine]", " ", RowBox[{ RowBox[{"basepoint", "=", RowBox[{"rotationpath", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"4", "-", "time"}], ")"}]}], "]"}]}], ";", "\[IndentingNewLine]", " ", RowBox[{ RowBox[{"basepoint", "[", RowBox[{"[", "1", "]"}], "]"}], "=", RowBox[{ RowBox[{ RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], "-", RowBox[{"basepoint", "[", RowBox[{"[", "1", "]"}], "]"}]}]}], ";", " ", RowBox[{ RowBox[{"basepoint", "[", RowBox[{"[", "2", "]"}], "]"}], "=", RowBox[{"1", "-", RowBox[{"basepoint", "[", RowBox[{"[", "2", "]"}], "]"}]}]}], ";", "\[IndentingNewLine]", " ", RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"-", "basepoint"}]}], "]"}], ",", RowBox[{ RowBox[{"-", FractionBox["\[Pi]", "2"]}], RowBox[{"(", RowBox[{"4", "-", "time"}], ")"}]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{ RowBox[{"-", "armlength"}], "+", "1"}]}], "}"}]}], "]"}]}], ",", "\[IndentingNewLine]", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "5"}], ",", RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{ RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], "+", "1", "+", RowBox[{"xinitial", "\[Times]", RowBox[{"(", RowBox[{"time", "-", "4"}], ")"}]}]}], ",", RowBox[{"-", "armlength"}]}], "}"}]}], "]"}], ",", RowBox[{"{", "}"}]}], "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\[IndentingNewLine]", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"hallwaytrans", "=", RowBox[{"Function", "[", RowBox[{"graphx", ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "1"}], ",", RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"-", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"1", "-", "time"}], ")"}]}], ",", "0"}], "}"}]}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "2"}], ",", RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{"graphx", ",", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", RowBox[{"rotationpath", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"time", "-", "1"}], ")"}]}], "]"}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "3"}], ",", RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"graphx", ",", " ", RowBox[{"-", RowBox[{"{", RowBox[{"0", ",", RowBox[{ RowBox[{"-", "xinitial"}], "\[Times]", RowBox[{"(", RowBox[{"time", "-", "2"}], ")"}]}]}], "}"}]}]}], "]"}], ",", FractionBox["\[Pi]", "2"], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "\n", " ", RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}]}], "]"}], ",", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "4"}], ",", "\[IndentingNewLine]", " ", RowBox[{ RowBox[{"basepoint", "=", RowBox[{"rotationpath", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"4", "-", "time"}], ")"}]}], "]"}]}], ";", "\[IndentingNewLine]", " ", RowBox[{ RowBox[{"basepoint", "[", RowBox[{"[", "1", "]"}], "]"}], "=", RowBox[{ RowBox[{ RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], "-", RowBox[{"basepoint", "[", RowBox[{"[", "1", "]"}], "]"}]}]}], ";", " ", RowBox[{ RowBox[{"basepoint", "[", RowBox[{"[", "2", "]"}], "]"}], "=", RowBox[{"1", "-", RowBox[{"basepoint", "[", RowBox[{"[", "2", "]"}], "]"}]}]}], ";", "\[IndentingNewLine]", " ", RowBox[{"Translate", "[", RowBox[{ RowBox[{"Rotate", "[", RowBox[{ RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"-", RowBox[{"{", RowBox[{"1", ",", RowBox[{ RowBox[{"-", "armlength"}], "+", "1"}]}], "}"}]}]}], "]"}], ",", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"4", "-", "time"}], ")"}]}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ",", "basepoint"}], "]"}]}], ",", "\[IndentingNewLine]", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"time", "\[LessEqual]", "5"}], ",", RowBox[{"Translate", "[", RowBox[{"graphx", ",", RowBox[{"-", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{ RowBox[{"rotationpath", "[", FractionBox["\[Pi]", "2"], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], "+", "1", "+", RowBox[{"xinitial", "\[Times]", RowBox[{"(", RowBox[{"time", "-", "4"}], ")"}]}]}], ",", RowBox[{"-", "armlength"}]}], "}"}]}]}], "]"}], ",", RowBox[{"{", "}"}]}], "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\[IndentingNewLine]", " ", "]"}]}], "\[IndentingNewLine]", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"pov", "\[NotEqual]", " ", "\"\\""}], ",", "\[IndentingNewLine]", RowBox[{"Graphics", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"SofaHallwayTwoCorners", "[", "armlength", "]"}], ",", RowBox[{"sofatrans", "[", "sofagraphics", "]"}]}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", "plotrange1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Graphics", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"hallwaytrans", "[", RowBox[{"SofaHallwayTwoCorners", "[", "armlength", "]"}], "]"}], ",", "sofagraphics"}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", "plotrange2"}]}], "]"}]}], "\[IndentingNewLine]", "]"}]}]}], "]"}]}], ";"}], "\n", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaVisualizationAmbidextrousSofaInHallway", ":=", RowBox[{"Manipulate", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"pov", "\[Equal]", "\"\\""}], ",", "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{ RowBox[{"SofaMovieWithHallwayTwoCornersMultiPOV", "[", RowBox[{"4", ",", RowBox[{"-", "1.334099633"}], ",", "\n", RowBox[{"{", RowBox[{"AmbidextrousSofa", ",", RowBox[{"If", "[", RowBox[{"showrotationpath", ",", RowBox[{"{", RowBox[{"AmbidextrousSofaRotationPathDashedSegments", ",", RowBox[{"Rotate", "[", RowBox[{ "AmbidextrousSofaRotationPathDashedSegments", ",", "\[Pi]", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"AmbixNumerical", "[", RowBox[{"\[Pi]", "/", "4"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"1", "/", "2"}]}], "}"}]}], "]"}]}], "}"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"1", "\[LessEqual]", "t", "\[LessEqual]", "2"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{"Point", ",", RowBox[{"AmbidextrousSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "1"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"3", "\[LessEqual]", "t", "\[LessEqual]", "4"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"Point", "[", RowBox[{"AmbiReflection", "[", "#", "]"}], "]"}], "&"}], ",", RowBox[{"AmbidextrousSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "3"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", "}"}]}], "]"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ "showtickmarks", ",", "AmbidextrousSofaNormalTickMarks", ",", RowBox[{"{", "}"}]}], "]"}]}], "}"}], ",", "\n", "AmbidextrousSofaRotationPath", ",", "t", ",", "pov", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "0.5"}], "+", RowBox[{ RowBox[{"AmbiCNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "1.5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.25"}], ",", "1.25"}], "}"}]}], "}"}]}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "600"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"pov", "\[Equal]", "\"\\""}], ",", RowBox[{"Show", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaMovieWithHallwayTwoCornersMultiPOV", "[", RowBox[{"4", ",", RowBox[{"-", "1.334099633"}], ",", "\n", RowBox[{"{", RowBox[{"AmbidextrousSofa", ",", RowBox[{"If", "[", RowBox[{"showrotationpath", ",", RowBox[{"{", RowBox[{"AmbidextrousSofaRotationPathDashedSegments", ",", RowBox[{"Rotate", "[", RowBox[{ "AmbidextrousSofaRotationPathDashedSegments", ",", "\[Pi]", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"AmbixNumerical", "[", RowBox[{"\[Pi]", "/", "4"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"1", "/", "2"}]}], "}"}]}], "]"}]}], "}"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"1", "\[LessEqual]", "t", "\[LessEqual]", "2"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{"Point", ",", RowBox[{"AmbidextrousSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "1"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"3", "\[LessEqual]", "t", "\[LessEqual]", "4"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"Point", "[", RowBox[{"AmbiReflection", "[", "#", "]"}], "]"}], "&"}], ",", RowBox[{"AmbidextrousSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "3"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", "}"}]}], "]"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ "showtickmarks", ",", "AmbidextrousSofaNormalTickMarks", ",", RowBox[{"{", "}"}]}], "]"}]}], "}"}], ",", "\n", "AmbidextrousSofaRotationPath", ",", "t", ",", "pov", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "0.5"}], "+", RowBox[{ RowBox[{"AmbiCNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "1.5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.25"}], ",", "1.25"}], "}"}]}], "}"}]}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "600"}]}], "\[IndentingNewLine]", "]"}], ",", RowBox[{"Row", "[", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"Show", "[", RowBox[{ RowBox[{"SofaMovieWithHallwayTwoCornersMultiPOV", "[", RowBox[{"4", ",", RowBox[{"-", "1.334099633"}], ",", "\n", RowBox[{"{", RowBox[{"AmbidextrousSofa", ",", RowBox[{"If", "[", RowBox[{"showrotationpath", ",", RowBox[{"{", RowBox[{"AmbidextrousSofaRotationPathDashedSegments", ",", RowBox[{"Rotate", "[", RowBox[{ "AmbidextrousSofaRotationPathDashedSegments", ",", "\[Pi]", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"AmbixNumerical", "[", RowBox[{"\[Pi]", "/", "4"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"1", "/", "2"}]}], "}"}]}], "]"}]}], "}"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"1", "\[LessEqual]", "t", "\[LessEqual]", "2"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{"Point", ",", RowBox[{"AmbidextrousSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "1"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"3", "\[LessEqual]", "t", "\[LessEqual]", "4"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"Point", "[", RowBox[{"AmbiReflection", "[", "#", "]"}], "]"}], "&"}], ",", RowBox[{"AmbidextrousSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "3"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", "}"}]}], "]"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ "showtickmarks", ",", "AmbidextrousSofaNormalTickMarks", ",", RowBox[{"{", "}"}]}], "]"}]}], "}"}], ",", "\n", "AmbidextrousSofaRotationPath", ",", "t", ",", "\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "0.5"}], "+", RowBox[{ RowBox[{"AmbiCNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "1.5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.25"}], ",", "1.25"}], "}"}]}], "}"}]}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "450"}]}], "]"}], ",", "\"\< \>\"", ",", "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{ RowBox[{"SofaMovieWithHallwayTwoCornersMultiPOV", "[", RowBox[{"4", ",", RowBox[{"-", "1.334099633"}], ",", "\n", RowBox[{"{", RowBox[{"AmbidextrousSofa", ",", RowBox[{"If", "[", RowBox[{"showrotationpath", ",", RowBox[{"{", RowBox[{"AmbidextrousSofaRotationPathDashedSegments", ",", RowBox[{"Rotate", "[", RowBox[{ "AmbidextrousSofaRotationPathDashedSegments", ",", "\[Pi]", ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"AmbixNumerical", "[", RowBox[{"\[Pi]", "/", "4"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"1", "/", "2"}]}], "}"}]}], "]"}]}], "}"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"1", "\[LessEqual]", "t", "\[LessEqual]", "2"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{"Point", ",", RowBox[{"AmbidextrousSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "1"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"showcontactpoints", "&&", RowBox[{"3", "\[LessEqual]", "t", "\[LessEqual]", "4"}]}], ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"AbsolutePointSize", "[", "5", "]"}], ",", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"Point", "[", RowBox[{"AmbiReflection", "[", "#", "]"}], "]"}], "&"}], ",", RowBox[{"AmbidextrousSofaContactPoints", "[", RowBox[{ FractionBox["\[Pi]", "2"], RowBox[{"(", RowBox[{"t", "-", "3"}], ")"}]}], "]"}]}], "]"}]}], "}"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", "}"}]}], "]"}]}], "]"}], ",", "\n", RowBox[{"If", "[", RowBox[{ "showtickmarks", ",", "AmbidextrousSofaNormalTickMarks", ",", RowBox[{"{", "}"}]}], "]"}]}], "}"}], ",", "\n", "AmbidextrousSofaRotationPath", ",", "t", ",", "\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "1"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "0.5"}], "+", RowBox[{ RowBox[{"AmbiCNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", "1.5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.25"}], ",", "1.25"}], "}"}]}], "}"}]}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "450"}]}], "]"}]}], "\[IndentingNewLine]", "}"}], "]"}]}], "]"}]}], "]"}], "\[IndentingNewLine]", ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "5", ",", RowBox[{"ImageSize", "\[Rule]", "500"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "showcontactpoints", ",", "False", ",", "\"\\""}], "}"}], ",", "Checkbox"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "showtickmarks", ",", "False", ",", "\"\\""}], "}"}], ",", "Checkbox"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "showrotationpath", ",", "False", ",", "\"\\""}], "}"}], ",", "Checkbox"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "pov", ",", "\"\\"", ",", "\"\\""}], "}"}], ",", RowBox[{"{", RowBox[{ "\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}], "}"}], ",", "\n", " ", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<\>\"", ",", "\"\<\>\"", ",", RowBox[{"Style", "[", RowBox[{ "\"\\"", ",", "14", ",", "Bold"}], "]"}]}], "}"}]}]}], "]"}]}], ";"}], "\n", "\n", RowBox[{ RowBox[{"SofaVisualizationSquareSofaInHallway", ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "r", "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"r", "=", "0.0001"}], ";", "\[IndentingNewLine]", RowBox[{"Manipulate", "[", RowBox[{ RowBox[{"Graphics", "[", RowBox[{ RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaHallway", "[", "3", "]"}], ",", RowBox[{"Translate", "[", RowBox[{ RowBox[{"SquareSofa", "/.", RowBox[{"{", RowBox[{ "SofaDefaultFillingColor", "\[Rule]", "SquareSofaDefaultFillingColor"}], "}"}]}], ",", RowBox[{"Piecewise", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"2.5", RowBox[{"{", RowBox[{ RowBox[{"t", "-", "1"}], ",", "0"}], "}"}]}], ",", RowBox[{"t", "\[LessEqual]", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"2.5", RowBox[{"{", RowBox[{"0", ",", RowBox[{"1", "-", "t"}]}], "}"}]}], ",", RowBox[{"t", "\[LessEqual]", "2"}]}], "}"}]}], "}"}], "]"}]}], "]"}]}], "\[IndentingNewLine]", "}"}], ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "2", ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "}"}], ",", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<\>\"", ",", "\"\<\>\"", ",", RowBox[{"Style", "[", RowBox[{ "\"\\"", ",", "14", ",", "Bold"}], "]"}]}], "}"}]}]}], "]"}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ "SofaVisualizationSemicircularSofaInHallway", ":=", "\[IndentingNewLine]", RowBox[{"Manipulate", "[", RowBox[{ RowBox[{"Show", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaMovieWithHallway", "[", RowBox[{"4", ",", "1.5", ",", RowBox[{"HammersleyGeneralizedSofa", "[", "0.0001", "]"}], ",", RowBox[{ "HammersleyGeneralizedSofaRotationPath", "[", "0.0001", "]"}], ",", "t"}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "\[IndentingNewLine]", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "3", ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "}"}], ",", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<\>\"", ",", "\"\<\>\"", ",", RowBox[{"Style", "[", RowBox[{ "\"\\"", ",", "14", ",", "Bold"}], "]"}]}], "}"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ "SofaVisualizationHammersleySofaInHallway", ":=", "\[IndentingNewLine]", RowBox[{"Manipulate", "[", RowBox[{ RowBox[{"Show", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaMovieWithHallway", "[", RowBox[{"4", ",", "1.5", ",", RowBox[{"HammersleyGeneralizedSofa", "[", RowBox[{"2", "/", "\[Pi]"}], "]"}], ",", RowBox[{"HammersleyGeneralizedSofaRotationPath", "[", RowBox[{"2", "/", "\[Pi]"}], "]"}], ",", "t"}], "]"}], ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "\[IndentingNewLine]", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "3", ",", RowBox[{"ImageSize", "\[Rule]", "400"}]}], "}"}], ",", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<\>\"", ",", "\"\<\>\"", ",", RowBox[{"Style", "[", RowBox[{ "\"\\"", ",", "14", ",", "Bold"}], "]"}]}], "}"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"SofaVisualizationsCombined", "=", RowBox[{"Manipulate", "[", RowBox[{ RowBox[{"Piecewise", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"SofaVisualizationSquareSofaInHallway", ",", RowBox[{"vis", "\[Equal]", "\"\\""}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"SofaVisualizationSemicircularSofaInHallway", ",", RowBox[{"vis", "\[Equal]", "\"\\""}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"SofaVisualizationHammersleySofaInHallway", ",", RowBox[{"vis", "\[Equal]", "\"\\""}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "SofaVisualizationGeneralizedHammersleySofasInHallway", ",", RowBox[{"vis", "\[Equal]", "\"\\""}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"SofaVisualizationGerverSofaInHallway", ",", RowBox[{"vis", "\[Equal]", "\"\\""}]}], "}"}], ",", "\n", RowBox[{"{", RowBox[{"SofaVisualizationAmbidextrousSofaInHallway", ",", RowBox[{"vis", "\[Equal]", "\"\\""}]}], "}"}]}], "}"}], "]"}], ",", "\n", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "vis", ",", "\"\\"", ",", "\"\\""}], "}"}], ",", "\n", RowBox[{"{", RowBox[{ "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}], "}"}]}], "]"}]}], ";"}]}]}]], "Code", CellChangeTimes->{{3.674160292476678*^9, 3.6741604908854628`*^9}, { 3.6741605236791077`*^9, 3.6741606562391872`*^9}, {3.674160692811895*^9, 3.674160755824778*^9}, {3.6741624046980667`*^9, 3.674162419626536*^9}, { 3.674162992877365*^9, 3.6741631435908737`*^9}, {3.6741632821843233`*^9, 3.674163300727083*^9}, {3.674163331844532*^9, 3.674163414439719*^9}, { 3.6741634957398167`*^9, 3.674163547754117*^9}, {3.6741636845501547`*^9, 3.674163780157792*^9}, {3.674163863740645*^9, 3.674163882123053*^9}, { 3.674163948675127*^9, 3.67416404076816*^9}, {3.6741642264097567`*^9, 3.674164491378042*^9}, {3.6741646105861063`*^9, 3.6741646184428368`*^9}, { 3.6742681599708*^9, 3.674268178943447*^9}, {3.674269424665573*^9, 3.674269490595039*^9}, {3.674270793961317*^9, 3.674270794998323*^9}, { 3.674272097971978*^9, 3.674272132749668*^9}, {3.674272267351851*^9, 3.6742722708329287`*^9}, {3.674272391078814*^9, 3.6742723953807087`*^9}, { 3.674273366505199*^9, 3.6742735187573643`*^9}, {3.674357220747098*^9, 3.674357284335194*^9}, {3.674357331182762*^9, 3.674357468853726*^9}, 3.6743579520234947`*^9, 3.674357984692107*^9, {3.674358376611821*^9, 3.674358381116907*^9}, {3.674358665750206*^9, 3.6743587945863123`*^9}, 3.6743588574119673`*^9, {3.674358902680781*^9, 3.6743589091088467`*^9}, { 3.674359183247808*^9, 3.6743592052499847`*^9}, {3.674359253030407*^9, 3.6743594286315393`*^9}, {3.674359481790189*^9, 3.674359563564921*^9}, { 3.674359643353977*^9, 3.674359645504423*^9}, {3.674420893962496*^9, 3.6744209284960403`*^9}, {3.6744210308545017`*^9, 3.6744210485857553`*^9}, {3.674434910726571*^9, 3.6744349329461613`*^9}, { 3.674435091270993*^9, 3.674435123058237*^9}, {3.674438581838372*^9, 3.6744385911304092`*^9}, {3.674446242889703*^9, 3.674446253071864*^9}, { 3.6747840415069237`*^9, 3.674784353004689*^9}, {3.674784467844358*^9, 3.6747846051269493`*^9}, {3.674784688913897*^9, 3.674784697200837*^9}, { 3.674784783869687*^9, 3.6747848010965548`*^9}, {3.6747848351304703`*^9, 3.6747848985471077`*^9}, {3.674784981915654*^9, 3.674785015801618*^9}, { 3.6747850459008827`*^9, 3.674785050943738*^9}, {3.6747850856472397`*^9, 3.6747852504968367`*^9}, {3.674785396274332*^9, 3.674785432034317*^9}, { 3.67478547298173*^9, 3.674785664421761*^9}, {3.674785701773831*^9, 3.6747857020410023`*^9}, {3.674785756074257*^9, 3.6747857685834703`*^9}, { 3.6747858884543333`*^9, 3.67478599831437*^9}, {3.674786152634613*^9, 3.674786156687315*^9}, {3.674786195091674*^9, 3.6747862092908297`*^9}, { 3.674786267034062*^9, 3.674786320864997*^9}, {3.674786353116428*^9, 3.6747865221641273`*^9}, {3.674786844512104*^9, 3.674786844873981*^9}, { 3.674786881263165*^9, 3.674786924395327*^9}, 3.674788231272493*^9, { 3.6747884993612537`*^9, 3.674788530474555*^9}, {3.6747933679632597`*^9, 3.6747933740736933`*^9}, {3.67479340760487*^9, 3.674793438640788*^9}, { 3.6747934760387793`*^9, 3.674793700188016*^9}, 3.67479580244715*^9, { 3.674827613505437*^9, 3.6748276148870983`*^9}, {3.6748276477122993`*^9, 3.674827715317089*^9}, {3.674827872992797*^9, 3.674827893883523*^9}, 3.674828011228805*^9, {3.674828171168847*^9, 3.674828171593581*^9}, { 3.674828372324902*^9, 3.674828372665906*^9}, {3.67482841263025*^9, 3.674828440646521*^9}, {3.67482931855618*^9, 3.674829345393776*^9}, { 3.674840401994667*^9, 3.674840470869055*^9}, {3.6748405046001167`*^9, 3.674840514139205*^9}, {3.674840565803711*^9, 3.674840565923005*^9}, { 3.674840664157021*^9, 3.674840703984748*^9}, {3.6748407528462763`*^9, 3.674840850892186*^9}, {3.674841496553205*^9, 3.674841585425138*^9}, { 3.674843674624325*^9, 3.674843767777124*^9}, {3.674843827919581*^9, 3.67484382998447*^9}, {3.674844003700325*^9, 3.674844033557939*^9}, { 3.674844068664823*^9, 3.674844069331147*^9}, {3.6748441280950127`*^9, 3.674844129425812*^9}, {3.674844269478094*^9, 3.6748443489456997`*^9}, { 3.674844512933198*^9, 3.674844531199339*^9}, {3.6748460339671803`*^9, 3.6748460610832167`*^9}, {3.6748461041453247`*^9, 3.674846130947921*^9}, { 3.6748462065474*^9, 3.674846240799514*^9}, {3.674846310083778*^9, 3.674846331378787*^9}, {3.6748463634329863`*^9, 3.674846436940092*^9}, 3.67484648337531*^9, {3.674846515668893*^9, 3.6748465185118027`*^9}, { 3.674846585042749*^9, 3.6748465854193296`*^9}, {3.674846747775753*^9, 3.674846753488679*^9}, {3.674846798544012*^9, 3.674846834435313*^9}, { 3.6748468741212482`*^9, 3.6748468857706823`*^9}, {3.6748469173725224`*^9, 3.674846920754773*^9}, {3.674846951004829*^9, 3.674846964152873*^9}, { 3.6748471549637403`*^9, 3.6748471553175173`*^9}, {3.6748474612342043`*^9, 3.674847482963669*^9}, {3.674856586292036*^9, 3.674856786013936*^9}, { 3.67485846652332*^9, 3.6748584735132303`*^9}, {3.674858582756301*^9, 3.6748585932488537`*^9}, {3.674859492541955*^9, 3.674859599794751*^9}, { 3.6748633647621803`*^9, 3.674863365063798*^9}, {3.6748653214043427`*^9, 3.674865329198524*^9}, {3.674865411906003*^9, 3.674865460118561*^9}, { 3.674865909793152*^9, 3.674865942621519*^9}, {3.674866468927582*^9, 3.674866482544911*^9}, {3.674866576902237*^9, 3.674866596655263*^9}, { 3.674866903134634*^9, 3.6748669232271442`*^9}, {3.6748670198037987`*^9, 3.6748670576667337`*^9}, 3.674867204968852*^9, {3.674867272208729*^9, 3.674867278355331*^9}, {3.6748678821814213`*^9, 3.674867893792232*^9}, { 3.674868603257327*^9, 3.674868620498337*^9}, {3.67486896167927*^9, 3.674868985935397*^9}, {3.67487689098943*^9, 3.6748769268448257`*^9}, { 3.674878099298979*^9, 3.674878112085659*^9}, 3.674878323560027*^9, { 3.6748802125233173`*^9, 3.67488022687031*^9}, {3.674992802636557*^9, 3.674992811451871*^9}, {3.675000431242332*^9, 3.675000451150758*^9}, { 3.675001625158511*^9, 3.6750016273792067`*^9}, {3.6750016618783607`*^9, 3.6750016653347273`*^9}, 3.675001731333033*^9, {3.675002342701433*^9, 3.6750023705621777`*^9}, {3.675002614941368*^9, 3.6750027184898567`*^9}, { 3.67500292377271*^9, 3.675002934137594*^9}, {3.675003014159993*^9, 3.6750030180706263`*^9}, {3.675003072391119*^9, 3.675003079521776*^9}, { 3.675003190876526*^9, 3.675003243919071*^9}, {3.675003668954453*^9, 3.675003685832632*^9}, {3.675004061872912*^9, 3.675004081858898*^9}, { 3.675009481607874*^9, 3.675009487127095*^9}, {3.675013575577291*^9, 3.675013625321157*^9}, {3.675013718616921*^9, 3.67501372158468*^9}, 3.6750142836135273`*^9, 3.6750187119256563`*^9, {3.675142159954422*^9, 3.675142173435412*^9}, {3.675142207709807*^9, 3.675142209802252*^9}, { 3.675142283975855*^9, 3.675142305302422*^9}, 3.675142361174559*^9, 3.675142472924797*^9, {3.675142526588629*^9, 3.675142561653178*^9}, { 3.675165470606161*^9, 3.675165473607375*^9}, 3.675165606395228*^9, 3.675165719889299*^9, 3.675186948333802*^9, {3.675187561857153*^9, 3.675187564804023*^9}, {3.675189994701487*^9, 3.6751899976600533`*^9}, { 3.675220533510169*^9, 3.675220561902587*^9}, {3.675220611313871*^9, 3.675220614600327*^9}, 3.675220809048579*^9, {3.675222010597661*^9, 3.675222024555895*^9}, {3.675222371261742*^9, 3.675222408452463*^9}, { 3.67522313796272*^9, 3.675223145903035*^9}, {3.67539803097437*^9, 3.675398045558379*^9}, {3.6753982923947563`*^9, 3.6753982942641783`*^9}, { 3.675481865858418*^9, 3.675482092070593*^9}, {3.6755593129044333`*^9, 3.675559313109057*^9}, 3.675861647346559*^9, {3.6758621027396708`*^9, 3.6758621041557293`*^9}, {3.6758635282847977`*^9, 3.6758635371140347`*^9}, {3.6758639593921843`*^9, 3.675863978084655*^9}, { 3.67589846851346*^9, 3.675898531329822*^9}, {3.67589858264404*^9, 3.6758986140359573`*^9}, {3.675898712417808*^9, 3.675898774160234*^9}, { 3.675898822020838*^9, 3.6758988282432117`*^9}, {3.6762114388411703`*^9, 3.676211500297206*^9}, {3.676429727299252*^9, 3.676429738402039*^9}, { 3.676429806376418*^9, 3.676429808113596*^9}, {3.676429841445413*^9, 3.676429844612842*^9}, {3.6764299756207867`*^9, 3.676429976240857*^9}}, CellTags->"InitializationCode"] }, Closed]], Cell[CellGroupData[{ Cell["3. Formulas for the contact paths in Gerver\[CloseCurlyQuote]s sofa", \ "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.675827482425699*^9, 3.6758274920692797`*^9}, { 3.675827777273006*^9, 3.67582777737108*^9}, 3.675850336730906*^9}, CellTags->"Section3"], Cell[TextData[{ "The definition of Gerver\[CloseCurlyQuote]s sofa involves the so-called \ rotation path ", Cell[BoxData[ FormBox[ RowBox[{"x", "(", "t", ")"}], TraditionalForm]], FormatType->"TraditionalForm"], ", defined in equation (25) in the paper as a path in the plane gluing \ together the solutions ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "1"], "(", "t", ")"}], TraditionalForm]], FormatType->"TraditionalForm"], ", ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "2"], "(", "t", ")"}], TraditionalForm]], FormatType->"TraditionalForm"], ", ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "3"], "(", "t", ")"}], TraditionalForm]], FormatType->"TraditionalForm"], ", ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "4"], "(", "t", ")"}], TraditionalForm]], FormatType->"TraditionalForm"], ", ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "5"], "(", "t", ")"}], TraditionalForm]], FormatType->"TraditionalForm"], " to five of the six basic ordinary differential equations described in \ Theorems 2 and 3 of the paper, and the additional contact paths ", Cell[BoxData[ FormBox[ RowBox[{"A", "("}], TraditionalForm]], FormatType->"TraditionalForm"], "t), ", Cell[BoxData[ FormBox[ RowBox[{"B", "(", "t"}], TraditionalForm]], FormatType->"TraditionalForm"], "), ", Cell[BoxData[ FormBox[ RowBox[{"C", "(", "t"}], TraditionalForm]], FormatType->"TraditionalForm"], "), ", Cell[BoxData[ FormBox[ RowBox[{"D", "(", "t"}], TraditionalForm]], FormatType->"TraditionalForm"], "), that are computed from ", Cell[BoxData[ FormBox[ RowBox[{"x", "(", "t"}], TraditionalForm]], FormatType->"TraditionalForm"], ") by the formulas (9)-(12) in Theorem 1. The code below illustrates how ", StyleBox["Mathematica", FontSlant->"Italic"], " can simplify the results of the computation to provide clean, simple \ formulas for the rotation path and contact paths. Try evaluating the next \ five commands." }], "Text", CellChangeTimes->{{3.6758505755102587`*^9, 3.6758506030666723`*^9}, { 3.675850693327259*^9, 3.675850985764184*^9}, {3.675851170438057*^9, 3.6758511828057957`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Gerverx", "[", "t", "]"}], "//", "TraditionalForm"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"GerverA", "[", "t", "]"}], "//", "TraditionalForm"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"GerverB", "[", "t", "]"}], "//", "TraditionalForm"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"GerverC", "[", "t", "]"}], "//", "TraditionalForm"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"GerverD", "[", "t", "]"}], "//", "TraditionalForm"}]], "Input"], Cell["\<\ The functions above were presented in symbolic form involving the 22 \ numerical parameters associated with Gerver\[CloseCurlyQuote]s sofa. The \ functions GerverxNumerical[t], GerverANumerical[t], GerverBNumerical[t], \ GerverCNumerical[t], GerverDNumerical[t] give the same functions after the \ precomputed approximate numerical values of the parameters have been \ substituted in. This is useful when you want to do numerical computations or \ draw graphical figures related to the sofa. For example, try evaluating the \ command below.\ \>", "Text", CellChangeTimes->{{3.675851006002675*^9, 3.675851150498831*^9}}], Cell[BoxData[ RowBox[{"GerverxNumerical", "[", "t", "]"}]], "Input", CellChangeTimes->{{3.67585104361621*^9, 3.675851044456279*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["4. Formulas for the contact paths in the shape \[CapitalSigma]", \ "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.675827494622789*^9, 3.675827516205881*^9}, { 3.675827778152051*^9, 3.6758277782570257`*^9}}, CellTags->"Section4"], Cell[TextData[{ "The shape \[CapitalSigma] constructed in the paper is defined in terms of \ its own rotation path, defined in equation (47) in the paper, and the \ associated contact paths ", Cell[BoxData[ FormBox[ RowBox[{"A", "("}], TraditionalForm]], FormatType->"TraditionalForm"], "t), ", Cell[BoxData[ FormBox[ RowBox[{"B", "(", "t"}], TraditionalForm]], FormatType->"TraditionalForm"], "), ", Cell[BoxData[ FormBox[ RowBox[{"C", "(", "t"}], TraditionalForm]], FormatType->"TraditionalForm"], "), ", Cell[BoxData[ FormBox[ RowBox[{"D", "(", "t"}], TraditionalForm]], FormatType->"TraditionalForm"], "). Again the commands below display formulas for these functions, written \ in symbolic form involving the 13 numerical parameters associated with \ \[CapitalSigma]." }], "Text", CellChangeTimes->{{3.675851199087948*^9, 3.675851299166198*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Ambix", "[", "t", "]"}], "//", "TraditionalForm"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"AmbiA", "[", "t", "]"}], "//", "TraditionalForm"}]], "Input", CellChangeTimes->{3.6758279915559607`*^9}], Cell[BoxData[ RowBox[{ RowBox[{"AmbiB", "[", "t", "]"}], "//", "TraditionalForm"}]], "Input", CellChangeTimes->{{3.675827994229898*^9, 3.675827994591833*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"AmbiC", "[", "t", "]"}], "//", "TraditionalForm"}]], "Input", CellChangeTimes->{{3.6758279974298477`*^9, 3.675827997597866*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"AmbiD", "[", "t", "]"}], "//", "TraditionalForm"}]], "Input", CellChangeTimes->{{3.6758280004897614`*^9, 3.675828000666738*^9}}], Cell["\<\ The functions AmbixNumerical[t], AmbiANumerical[t], AmbiBNumerical[t], \ AmbiCNumerical[t], AmbiDNumerical[t] give the same functions after the \ precomputed approximate numerical values of the parameters have been \ substituted in. Try the next two commands.\ \>", "Text", CellChangeTimes->{{3.675851311854528*^9, 3.675851394309175*^9}}], Cell[BoxData[ RowBox[{"AmbiANumerical", "[", "t", "]"}]], "Input", CellChangeTimes->{{3.675851304656473*^9, 3.675851310251687*^9}, { 3.675851370154571*^9, 3.675851370329611*^9}}], Cell[BoxData[ RowBox[{"AmbiBNumerical", "[", RowBox[{"\[Pi]", "/", "2"}], "]"}]], "Input", CellChangeTimes->{{3.675851371618862*^9, 3.6758513784514217`*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["5. Verifying the ODE general form solutions", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.675827525132329*^9, 3.67582752983113*^9}, { 3.675827779015964*^9, 3.675827779098032*^9}}, CellTags->"Section5"], Cell[TextData[{ "This code below verifies that the functions ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "j"], "(", "t", ")"}], TraditionalForm]]], " (", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"j", "=", "1"}], ",", "2", ",", "3", ",", "4", ",", "5", ",", "6"}], TraditionalForm]]], ") satisfy the six ODEs listed in Theorem 2 in the paper. First, evaluate \ the next command to define expressions for the right-hand sides of the six \ ODEs." }], "Text", CellChangeTimes->{{3.675828028431349*^9, 3.675828034703999*^9}, { 3.6758281738527327`*^9, 3.675828213565469*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["SofaODE", "1"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"(", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", RowBox[{ RowBox[{"-", "1"}], "/", "2"}]}], "}"}], "+", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"2", RowBox[{"Sin", "[", "t", "]"}]}], ",", RowBox[{ RowBox[{"-", "2"}], RowBox[{"Cos", "[", "t", "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"2", RowBox[{"Cos", "[", "t", "]"}]}], ",", RowBox[{"2", RowBox[{"Sin", "[", "t", "]"}]}]}], "}"}]}], "}"}], ".", RowBox[{ RowBox[{ SubscriptBox["x", "1"], "'"}], "[", "t", "]"}]}]}], ")"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["SofaODE", "2"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"(", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", RowBox[{ RowBox[{"-", "1"}], "/", "2"}]}], "}"}], "+", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Sin", "[", "t", "]"}], ",", RowBox[{"-", RowBox[{"Cos", "[", "t", "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"3", "/", "2"}], RowBox[{"Cos", "[", "t", "]"}]}], ",", RowBox[{ RowBox[{"3", "/", "2"}], RowBox[{"Sin", "[", "t", "]"}]}]}], "}"}]}], "}"}], ".", RowBox[{ RowBox[{ SubscriptBox["x", "2"], "'"}], "[", "t", "]"}]}]}], ")"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["SofaODE", "3"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"(", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", RowBox[{"-", "1"}]}], "}"}], "+", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Sin", "[", "t", "]"}], ",", RowBox[{"-", RowBox[{"Cos", "[", "t", "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], "}"}], ".", RowBox[{ RowBox[{ SubscriptBox["x", "3"], "'"}], "[", "t", "]"}]}]}], ")"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["SofaODE", "4"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"(", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "1"}], "/", "2"}], ",", RowBox[{"-", "1"}]}], "}"}], "+", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"3", "/", "2"}], RowBox[{"Sin", "[", "t", "]"}]}], ",", RowBox[{ RowBox[{ RowBox[{"-", "3"}], "/", "2"}], RowBox[{"Cos", "[", "t", "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", RowBox[{"Sin", "[", "t", "]"}]}], "}"}]}], "}"}], ".", RowBox[{ RowBox[{ SubscriptBox["x", "4"], "'"}], "[", "t", "]"}]}]}], ")"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["SofaODE", "5"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"(", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "1"}], "/", "2"}], ",", RowBox[{"-", "1"}]}], "}"}], "+", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"2", RowBox[{"Sin", "[", "t", "]"}]}], ",", RowBox[{ RowBox[{"-", "2"}], RowBox[{"Cos", "[", "t", "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"2", RowBox[{"Cos", "[", "t", "]"}]}], ",", RowBox[{"2", RowBox[{"Sin", "[", "t", "]"}]}]}], "}"}]}], "}"}], ".", RowBox[{ RowBox[{ SubscriptBox["x", "5"], "'"}], "[", "t", "]"}]}]}], ")"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["SofaODE", "6"], "[", "t_", "]"}], ":=", RowBox[{ RowBox[{"RotationMatrix", "[", "t", "]"}], ".", RowBox[{"(", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "1"}], "/", "2"}], ",", RowBox[{ RowBox[{"-", "1"}], "/", "2"}]}], "}"}], "+", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"3", "/", "2"}], RowBox[{"Sin", "[", "t", "]"}]}], ",", RowBox[{ RowBox[{ RowBox[{"-", "3"}], "/", "2"}], RowBox[{"Cos", "[", "t", "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"3", "/", "2"}], RowBox[{"Cos", "[", "t", "]"}]}], ",", RowBox[{ RowBox[{"3", "/", "2"}], RowBox[{"Sin", "[", "t", "]"}]}]}], "}"}]}], "}"}], ".", RowBox[{ RowBox[{ SubscriptBox["x", "6"], "'"}], "[", "t", "]"}]}]}], ")"}]}]}], ";"}]}], "Input", CellChangeTimes->{{3.6758281055369463`*^9, 3.675828146525338*^9}, { 3.6758282162437773`*^9, 3.675828225582301*^9}}], Cell["\<\ Now evaluate the next line to check that the ODEs are satisfied. You should \ get a list of six boolean values, all equal to True.\ \>", "Text", CellChangeTimes->{{3.6758282368394957`*^9, 3.6758282496228952`*^9}}], Cell[BoxData[ RowBox[{"Table", "[", RowBox[{ RowBox[{"Simplify", "[", RowBox[{ RowBox[{ SubscriptBox["SofaODE", "j"], "[", "t", "]"}], "==", RowBox[{ RowBox[{ SubscriptBox["x", "j"], "''"}], "[", "t", "]"}]}], "]"}], ",", RowBox[{"{", RowBox[{"j", ",", "1", ",", "6"}], "}"}]}], "]"}]], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["\<\ 6. Solving the equations for Gerver\[CloseCurlyQuote]s sofa (quick and easy, \ purely numerical method)\ \>", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.675827547648237*^9, 3.6758275542847652`*^9}, { 3.6758275866229467`*^9, 3.6758275933359823`*^9}, {3.6758277798010283`*^9, 3.6758277799019747`*^9}}, CellTags->"Section6"], Cell[TextData[{ "Here we show how the system of equations for the parameters involved in the \ definition of Gerver\[CloseCurlyQuote]s sofa (equations (26)-(43) in the \ paper) can be solved numerically using ", StyleBox["Mathematica", FontSlant->"Italic"], "\[CloseCurlyQuote]s FindRoot[...] command. We have 28 equations in 22 \ unknowns, but, as explained in the paper, 6 of the equations are linearly \ dependent on the remaining 22. To use FindRoot only the linearly independent \ set of equations should be used." }], "Text", CellChangeTimes->{{3.6758283326823473`*^9, 3.675828337030944*^9}, { 3.675828385598905*^9, 3.675828398820979*^9}}], Cell["\<\ Evaluate the next line. This solves the equations and stores the results in \ the variable GerverNumericalSolutions.\ \>", "Text", CellChangeTimes->{{3.675828422009425*^9, 3.6758284433952103`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"GerverNumericalSolutions", "=", RowBox[{"FindRoot", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"GerverEquations", "[", RowBox[{"[", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "3", ",", "4", ",", "5", ",", "6", ",", "7", ",", "8", ",", "9", ",", "10", ",", "11", ",", "12", ",", "13", ",", "14", ",", "15", ",", "16", ",", "17", ",", "18", ",", "21", ",", "22", ",", "25", ",", "26"}], "}"}], "]"}], "]"}], "\[IndentingNewLine]", ",", RowBox[{"{", RowBox[{"\[Phi]", ",", "0.05"}], "}"}], ",", RowBox[{"{", RowBox[{"\[Theta]", ",", "0.6"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"2", ",", "1"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"2", ",", "2"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"3", ",", "1"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"3", ",", "2"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"4", ",", "1"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"4", ",", "2"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["a", "1"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["a", "2"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["b", "1"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["b", "2"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["c", "1"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["c", "2"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["d", "1"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["d", "2"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["e", "1"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["e", "2"], ",", "0"}], "}"}], ",", RowBox[{"AccuracyGoal", "\[Rule]", "22"}], ",", RowBox[{"PrecisionGoal", "\[Rule]", "22"}], ",", RowBox[{"MaxIterations", "\[Rule]", "200"}], ",", RowBox[{"WorkingPrecision", "\[Rule]", "30"}]}], "]"}]}], ";"}]], "Input",\ CellChangeTimes->{{3.675828441512273*^9, 3.675828442188197*^9}}], Cell["\<\ Evaluate the next line to format the solutions nicely in a table and display \ the results.\ \>", "Text", CellChangeTimes->{{3.675828458121299*^9, 3.6758284968333063`*^9}}], Cell[BoxData[ RowBox[{"GerverNumericalSolutionsFormatted", "=", RowBox[{"NumberForm", "[", RowBox[{ RowBox[{"MatrixForm", "[", RowBox[{"Transpose", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Phi]", ",", "\[Theta]", ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", SubscriptBox["a", "1"], ",", SubscriptBox["a", "2"], ",", SubscriptBox["b", "1"], ",", SubscriptBox["b", "2"], ",", SubscriptBox["c", "1"], ",", SubscriptBox["c", "2"], ",", SubscriptBox["d", "1"], ",", SubscriptBox["d", "2"], ",", SubscriptBox["e", "1"], ",", SubscriptBox["e", "2"]}], "}"}], ",", RowBox[{ RowBox[{"{", RowBox[{"\[Phi]", ",", "\[Theta]", ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", SubscriptBox["a", "1"], ",", SubscriptBox["a", "2"], ",", SubscriptBox["b", "1"], ",", SubscriptBox["b", "2"], ",", SubscriptBox["c", "1"], ",", SubscriptBox["c", "2"], ",", SubscriptBox["d", "1"], ",", SubscriptBox["d", "2"], ",", SubscriptBox["e", "1"], ",", SubscriptBox["e", "2"]}], "}"}], "/.", "GerverNumericalSolutions"}]}], "}"}], "]"}], "]"}], ",", "22", ",", RowBox[{"DigitBlock", "\[Rule]", "3"}]}], "]"}]}]], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["\<\ 7. Solving the equations for Gerver\[CloseCurlyQuote]s sofa (second, more \ algebraic method)\ \>", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.675827598475411*^9, 3.675827615555645*^9}, { 3.6758277812929697`*^9, 3.675827781364998*^9}}, CellTags->"Section7"], Cell[TextData[{ "This section illustrates a second approach to solving the equations for the \ values of the parameters in Gerver\[CloseCurlyQuote]s sofa. In this approach \ we treat the system as a linear system in the 20 variables ", Cell[BoxData[ RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", SubscriptBox["a", "1"], ",", SubscriptBox["a", "2"], ",", SubscriptBox["b", "1"], ",", SubscriptBox["b", "2"], ",", SubscriptBox["c", "1"], ",", SubscriptBox["c", "2"], ",", SubscriptBox["d", "1"], ",", SubscriptBox["d", "2"], ",", SubscriptBox["e", "1"], ",", SubscriptBox["e", "2"]}]], CellChangeTimes->{{3.6744197492172527`*^9, 3.6744198635427*^9}}], ", with coefficients that are functions of \[Phi] and \[Theta]. This system \ can be solved symbolically if we focus our attention temporarily on only 20 \ out of the set of 22 equations that was used in the completely numerical \ solution method described above. This symbolic solution gives expressions for \ all the parameters in terms of \[Phi] and \[Theta]. Substituting these \ expressions back into the remaining two equations gives two nonlinear \ equations in the two variables \[Phi] and \[Theta]. Finally, the two \ nonlinear equations are solved numerically." }], "Text", CellChangeTimes->{{3.675828524381196*^9, 3.67582854980833*^9}}], Cell["\<\ Evaluate the next line to solve the 20 linear equations symbolically.\ \>", "Text", CellChangeTimes->{{3.675828562967127*^9, 3.675828576842434*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"GerverSymbolicSolutions", "=", RowBox[{ RowBox[{"Solve", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"GerverEquations", "[", RowBox[{"[", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "3", ",", "4", ",", "5", ",", "6", ",", "7", ",", "8", ",", "9", ",", "10", ",", "11", ",", "12", ",", "13", ",", "14", ",", "15", ",", "16", ",", "17", ",", "18", ",", "21", ",", "22"}], "}"}], "]"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", SubscriptBox["a", "1"], ",", SubscriptBox["a", "2"], ",", SubscriptBox["b", "1"], ",", SubscriptBox["b", "2"], ",", SubscriptBox["c", "1"], ",", SubscriptBox["c", "2"], ",", SubscriptBox["d", "1"], ",", SubscriptBox["d", "2"], ",", SubscriptBox["e", "1"], ",", SubscriptBox["e", "2"]}], "}"}]}], "\[IndentingNewLine]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ";"}]], "Input"], Cell["\<\ Now evaluate the next commands to substitute the solutions back into the \ remaining two equations and get two nonlinear equations in \[Phi] and \ \[Theta], which are stored in the variable GerverThetaPhiNumericalSolutions.\ \>", "Text", CellChangeTimes->{{3.675828590715722*^9, 3.675828605782061*^9}, { 3.6758286561443377`*^9, 3.675828674498733*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"GerverPhiThetaEquations", "=", RowBox[{"Simplify", "[", RowBox[{ RowBox[{"GerverEquations", "[", RowBox[{"[", RowBox[{"{", RowBox[{"25", ",", "26"}], "}"}], "]"}], "]"}], "/.", "GerverSymbolicSolutions"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"GerverThetaPhiNumericalSolutions", "=", RowBox[{"FindRoot", "[", RowBox[{"GerverPhiThetaEquations", ",", RowBox[{"{", RowBox[{"\[Phi]", ",", "0.05"}], "}"}], ",", RowBox[{"{", RowBox[{"\[Theta]", ",", "0.6"}], "}"}], ",", RowBox[{"AccuracyGoal", "\[Rule]", "22"}], ",", RowBox[{"PrecisionGoal", "\[Rule]", "22"}], ",", RowBox[{"MaxIterations", "\[Rule]", "200"}], ",", RowBox[{"WorkingPrecision", "\[Rule]", "30"}]}], "]"}]}], ";"}]}], "Input"], Cell["\<\ Evaluate the next line to inspect the result to see that we got something \ interesting:\ \>", "Text", CellChangeTimes->{{3.675828620828301*^9, 3.675828651394208*^9}}], Cell[BoxData["GerverThetaPhiNumericalSolutions"], "Input"], Cell["\<\ Now that we got the numerical values of \[Phi] and \[Theta], with the next \ command we recover the numerical values for the remaining parameters and \ display them in a formatted table.\ \>", "Text", CellChangeTimes->{{3.675828695005171*^9, 3.6758287702322807`*^9}}], Cell[BoxData[ RowBox[{"GerverNumericalSolutionsSecondMethodFormatted", "=", RowBox[{"NumberForm", "[", RowBox[{ RowBox[{"MatrixForm", "[", RowBox[{"Transpose", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Phi]", ",", "\[Theta]", ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", SubscriptBox["a", "1"], ",", SubscriptBox["a", "2"], ",", SubscriptBox["b", "1"], ",", SubscriptBox["b", "2"], ",", SubscriptBox["c", "1"], ",", SubscriptBox["c", "2"], ",", SubscriptBox["d", "1"], ",", SubscriptBox["d", "2"], ",", SubscriptBox["e", "1"], ",", SubscriptBox["e", "2"]}], "}"}], ",", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"\[Phi]", ",", "\[Theta]", ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"2", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"3", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"4", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", SubscriptBox["a", "1"], ",", SubscriptBox["a", "2"], ",", SubscriptBox["b", "1"], ",", SubscriptBox["b", "2"], ",", SubscriptBox["c", "1"], ",", SubscriptBox["c", "2"], ",", SubscriptBox["d", "1"], ",", SubscriptBox["d", "2"], ",", SubscriptBox["e", "1"], ",", SubscriptBox["e", "2"]}], "}"}], "/.", "GerverSymbolicSolutions"}], "/.", "GerverThetaPhiNumericalSolutions"}]}], "}"}], "]"}], "]"}], ",", "22", ",", RowBox[{"DigitBlock", "\[Rule]", "3"}]}], "]"}]}]], "Input", CellChangeTimes->{3.675861142368788*^9}] }, Closed]], Cell[CellGroupData[{ Cell["8. Computing the area of Gerver\[CloseCurlyQuote]s sofa", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.675827670058651*^9, 3.675827674661626*^9}, { 3.6758277822889147`*^9, 3.675827782402905*^9}}, CellTags->"Section8"], Cell[TextData[{ "After using the algebraic method to find the parameters for Gerver\ \[CloseCurlyQuote]s sofa described in Section 7 above, we have the values of \ the 20 linear parameters stored in the variables GerverSymbolicSolutions as \ functions of \[Phi] and \[Theta], and the numerical values of \[Phi] and \ \[Theta] stored in GerverThetaPhiNumericalSolutions. The code below computes \ several integrals of the functions appearing in the definition of Gerver\ \[CloseCurlyQuote]s sofa, and substitutes in the symbolic expressions and \ numerical parameter values to evaluate the area of Gerver\[CloseCurlyQuote]s \ sofa. Evaluate it - this may take ", StyleBox["Mathematica ", FontSlant->"Italic"], "a minute or two. The area of the shape will be displayed when the \ computation is done." }], "Text", CellChangeTimes->{{3.675828837512149*^9, 3.675829008537457*^9}, { 3.6758290451238403`*^9, 3.67582907142062*^9}, {3.675851445713393*^9, 3.6758514586929417`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"GerverSofaAreaIntegral1Symbolic", "=", RowBox[{"-", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", RowBox[{ RowBox[{ SubscriptBox["x", "2"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ")"}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "2"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "\[Phi]", ",", "\[Theta]"}], "}"}]}], "]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"GerverSofaAreaIntegral2Symbolic", "=", RowBox[{"-", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", RowBox[{ RowBox[{ SubscriptBox["x", "3"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ")"}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "3"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "\[Theta]", ",", RowBox[{"\[Pi]", "/", "4"}]}], "}"}]}], "]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"GerverSofaAreaIntegral3Symbolic", "=", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", RowBox[{ RowBox[{ SubscriptBox["B", "4"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ")"}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["B", "4"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}]}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"GerverSofaAreaIntegral4Symbolic", "=", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", RowBox[{ RowBox[{ SubscriptBox["B", "5"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ")"}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["B", "5"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], ",", RowBox[{"\[Pi]", "/", "2"}]}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"GerverSofaAreaIntegral5Symbolic", "=", RowBox[{"-", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "2"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "2"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "\[Phi]", ",", "\[Theta]"}], "}"}]}], "]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"GerverSofaAreaIntegral6Symbolic", "=", RowBox[{"-", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "3"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "3"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "\[Theta]", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}]}], "}"}]}], "]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"GerverSofaAreaIntegral7Symbolic", "=", RowBox[{"-", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "4"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "4"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Theta]"}], ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}]}], "}"}]}], "]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"GerverSofaAreaIntegral8Symbolic", "=", RowBox[{"-", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "5"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "5"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Phi]"}], ",", RowBox[{"\[Pi]", "/", "2"}]}], "}"}]}], "]"}]}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"GerverSofaAreaTotalSymbolic", "=", RowBox[{"2", RowBox[{"(", RowBox[{ "GerverSofaAreaIntegral1Symbolic", "+", "GerverSofaAreaIntegral2Symbolic", "+", "GerverSofaAreaIntegral3Symbolic", "+", "GerverSofaAreaIntegral4Symbolic", "+", "GerverSofaAreaIntegral5Symbolic", "+", "GerverSofaAreaIntegral6Symbolic", "+", "GerverSofaAreaIntegral7Symbolic", "+", "GerverSofaAreaIntegral8Symbolic"}], ")"}]}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"GerverSofaAreaNumerical", "=", RowBox[{ RowBox[{"GerverSofaAreaTotalSymbolic", "/.", "GerverSymbolicSolutions"}], "/.", "GerverThetaPhiNumericalSolutions"}]}]}]], "Input", CellChangeTimes->{3.675829042296267*^9}] }, Closed]], Cell[CellGroupData[{ Cell["\<\ 9. Solving the equations for the shape \[CapitalSigma] (quick and easy \ numerical method)\ \>", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.675827557468624*^9, 3.6758275640774918`*^9}, { 3.675827617863583*^9, 3.675827644811172*^9}, {3.675827675942585*^9, 3.675827676238598*^9}, {3.6758277833649673`*^9, 3.675827783471971*^9}, 3.6763430820949697`*^9}, CellTags->"Section9"], Cell[TextData[{ "We can repeat the equation-solving procedure shown above for Gerver\ \[CloseCurlyQuote]s sofa in the case of the system of 19 equations for the \ ambidextrous sofa, involving the 13 variables ", Cell[BoxData[ RowBox[{"\[Beta]", ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]], ",", SubscriptBox["a", "1"], ",", SubscriptBox["a", "2"], ",", SubscriptBox["e", "1"], ",", SubscriptBox["e", "2"], ",", SubscriptBox["f", "1"], ",", SubscriptBox["f", "2"]}]], CellChangeTimes->{{3.674435155147094*^9, 3.6744351664652576`*^9}, { 3.674435196541277*^9, 3.674435205349758*^9}, {3.674435237351795*^9, 3.674435329201342*^9}}], ". After removing six redundant equations we call FindRoot[...], and ", StyleBox["Mathematica", FontSlant->"Italic"], " gives the numerical values." }], "Text", CellChangeTimes->{{3.675829101655908*^9, 3.675829103674465*^9}, { 3.675829176268531*^9, 3.675829181820168*^9}}], Cell["\<\ Evaluate the next block of code. It computes the solutions, formats them in a \ table and displays the results.\ \>", "Text", CellChangeTimes->{{3.675829211733542*^9, 3.675829228407364*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"AmbidextrousNumericalSolutions", "=", RowBox[{"FindRoot", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousEquations", "[", RowBox[{"[", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "3", ",", "4", ",", "5", ",", "6", ",", "7", ",", "8", ",", "9", ",", "10", ",", "11", ",", "12", ",", "15"}], "}"}], "]"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"\[Beta]", ",", "0.3"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["a", "1"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["a", "2"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["f", "1"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["f", "2"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["e", "1"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["e", "2"], ",", "0"}], "}"}], ",", RowBox[{"AccuracyGoal", "\[Rule]", "22"}], ",", RowBox[{"PrecisionGoal", "\[Rule]", "22"}], ",", RowBox[{"MaxIterations", "\[Rule]", "200"}], ",", RowBox[{"WorkingPrecision", "\[Rule]", "30"}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"AmbidextrousNumericalSolutionsFormatted", "=", RowBox[{"NumberForm", "[", RowBox[{ RowBox[{"MatrixForm", "[", RowBox[{"Transpose", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Beta]", ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", SubscriptBox["a", "1"], ",", SubscriptBox["a", "2"], ",", SubscriptBox["f", "1"], ",", SubscriptBox["f", "2"], ",", SubscriptBox["e", "1"], ",", SubscriptBox["e", "2"]}], "}"}], ",", RowBox[{ RowBox[{"{", RowBox[{"\[Beta]", ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", SubscriptBox["a", "1"], ",", SubscriptBox["a", "2"], ",", SubscriptBox["f", "1"], ",", SubscriptBox["f", "2"], ",", SubscriptBox["e", "1"], ",", SubscriptBox["e", "2"]}], "}"}], "/.", "AmbidextrousNumericalSolutions"}]}], "}"}], "]"}], "]"}], ",", "22", ",", RowBox[{"DigitBlock", "\[Rule]", "3"}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", \ "AmbidextrousNumericalSolutionsFormatted"}], "Input", CellChangeTimes->{{3.675829232278973*^9, 3.675829243020484*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["\<\ 10. Solving the equations for the shape \[CapitalSigma] (algebraic, closed \ form solutions)\ \>", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.675827572668881*^9, 3.675827572983316*^9}, { 3.6758276256282167`*^9, 3.675827677980641*^9}, {3.675827784959882*^9, 3.675827785190736*^9}}, CellTags->"Section10"], Cell[TextData[{ "In this section we show how the equations for the shape \[CapitalSigma] can \ be solved in closed form in terms of radicals -- the process described in the \ proof of Theorem 4 in the paper. The idea is similar to the algebraic method \ for solving the equations for Gerver\[CloseCurlyQuote]s sofa described in \ section 7 above: solve 12 of the 13 independent equations for the 13 \ parameters to express all the \[OpenCurlyDoubleQuote]linear\ \[CloseCurlyDoubleQuote] parameters as functions of the angle \[Beta], and \ then substitute those solutions into the 13th equation to get a single \ nonlinear equation for \[Beta]. That equation turns out to be algebraic in ", Cell[BoxData[ FormBox[ SuperscriptBox["e", "i\[Beta]"], TraditionalForm]]], "." }], "Text", CellChangeTimes->{{3.675829476427799*^9, 3.675829685188363*^9}, { 3.675851708912739*^9, 3.675851717155257*^9}}], Cell["\<\ Evaluate the next command to solve the 12 linear equations symbolically in \ terms of \[Beta]:\ \>", "Text", CellChangeTimes->{{3.675829689335984*^9, 3.675829701292006*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"AmbidextrousSymbolicSolutions", "=", RowBox[{ RowBox[{"Solve", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousEquations", "[", RowBox[{"[", RowBox[{"{", RowBox[{ "1", ",", "2", ",", "3", ",", "4", ",", "5", ",", "6", ",", "7", ",", "8", ",", "9", ",", "10", ",", "11", ",", "12"}], "}"}], "]"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], ",", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], ",", SubscriptBox["a", "1"], ",", SubscriptBox["a", "2"], ",", SubscriptBox["f", "1"], ",", SubscriptBox["f", "2"], ",", SubscriptBox["e", "1"], ",", SubscriptBox["e", "2"]}], "}"}]}], "\[IndentingNewLine]", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.6744364469287977`*^9, 3.674436461875856*^9}, 3.6744364989997272`*^9, {3.674436594282236*^9, 3.674436703189608*^9}, { 3.674436743325341*^9, 3.674436743647427*^9}, {3.6744368987282753`*^9, 3.674436901342161*^9}, 3.674436951581575*^9, {3.674858012263686*^9, 3.674858034515086*^9}, {3.674858736463985*^9, 3.674858737220372*^9}, { 3.6749916211643887`*^9, 3.67499162560183*^9}, {3.6754821461279793`*^9, 3.675482164131137*^9}, {3.675829702341547*^9, 3.675829712791789*^9}}], Cell["\<\ Evaluate the next command to substitute the solutions back into the remaining \ equation to get a single nonlinear equation for \[Beta], and display the \ result so we can see what it looks like.\ \>", "Text", CellChangeTimes->{{3.6758297173738527`*^9, 3.6758297609299726`*^9}}], Cell[BoxData[ RowBox[{"AmbidextrousBetaEquation", "=", RowBox[{"Simplify", "[", RowBox[{ RowBox[{"AmbidextrousEquations", "[", RowBox[{"[", "19", "]"}], "]"}], "/.", "AmbidextrousSymbolicSolutions"}], "]"}]}]], "Input", CellChangeTimes->{{3.6744364469287977`*^9, 3.674436461875856*^9}, 3.6744364989997272`*^9, {3.674436594282236*^9, 3.674436703189608*^9}, { 3.674436743325341*^9, 3.674436743647427*^9}, {3.6744368987282753`*^9, 3.674436901342161*^9}, 3.674436951581575*^9, {3.674858012263686*^9, 3.674858034515086*^9}, {3.674858736463985*^9, 3.674858737220372*^9}, { 3.6749916211643887`*^9, 3.67499162560183*^9}, {3.6754821461279793`*^9, 3.675482164131137*^9}, {3.675829702341547*^9, 3.675829741257738*^9}}], Cell[TextData[{ "Note that this is an algebraic equation in ", Cell[BoxData[ FormBox[ RowBox[{"W", "=", RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}]}], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], "=", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["W", "2"]}]]}], TraditionalForm]]], ", so it can be solved algebraically without much effort:" }], "Text", CellChangeTimes->{{3.674858114748866*^9, 3.6748582218933983`*^9}, { 3.674858260411112*^9, 3.6748582723310204`*^9}, {3.674991645584218*^9, 3.674991662658882*^9}}], Cell[BoxData[ RowBox[{"AmbidextrousBetaEquationAlgebraic", "=", RowBox[{ RowBox[{ RowBox[{"TrigExpand", "[", "AmbidextrousBetaEquation", "]"}], "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], "\[Rule]", "W"}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], "\[Rule]", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["W", "2"]}]]}]}], "}"}]}], "//", "Simplify"}]}]], "Input", CellChangeTimes->{{3.674858180446143*^9, 3.674858184262089*^9}, { 3.674858233630959*^9, 3.674858252640732*^9}, {3.674991670408881*^9, 3.674991673260419*^9}}], Cell[BoxData[ RowBox[{"AmbidextrousZSolutions", "=", RowBox[{"(", RowBox[{"W", "/.", RowBox[{"Solve", "[", RowBox[{"AmbidextrousBetaEquationAlgebraic", ",", "W"}], "]"}]}], ")"}]}]], "Input", CellChangeTimes->{{3.674858279137735*^9, 3.674858332554212*^9}, { 3.674991680151991*^9, 3.6749916855566*^9}}], Cell["We are interested in solutions that are real and in (0,1):", "Text", CellChangeTimes->{3.675829357475792*^9}], Cell[BoxData[ RowBox[{"Select", "[", RowBox[{ RowBox[{"Select", "[", RowBox[{"AmbidextrousZSolutions", ",", RowBox[{ RowBox[{"Element", "[", RowBox[{"#", ",", "Reals"}], "]"}], "&"}]}], "]"}], ",", RowBox[{ RowBox[{"0", "<", "#", "<", "1"}], "&"}]}], "]"}]], "Input"], Cell[TextData[{ "Success! We\[CloseCurlyQuote]ve found that ", Cell[BoxData[ FormBox[ RowBox[{"W", "=", RowBox[{ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], "=", RowBox[{ FractionBox["1", "2"], " ", SqrtBox[ RowBox[{"2", "-", SqrtBox["2"], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}]}], TraditionalForm]]], ". It turns out that ", Cell[BoxData[ FormBox[ RowBox[{"Tan", "[", "\[Beta]", "]"}], TraditionalForm]]], " has an even simpler formula, which results in the simplest way we found to \ express \[Beta]. To verify this, first check that ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], "=", RowBox[{ SqrtBox[ RowBox[{"1", "-", SuperscriptBox["W", "2"]}]], "=", RowBox[{ FractionBox["1", "2"], " ", SqrtBox[ RowBox[{"2", "+", SqrtBox["2"], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}]}], TraditionalForm]]], ", by evaluating the next block of code computing the difference of those \ two quantities, which should evaluate to 0." }], "Text", CellChangeTimes->{ 3.675829370412436*^9, {3.675829810929924*^9, 3.675829811618829*^9}, { 3.6758304788675823`*^9, 3.675830479113172*^9}, {3.675851760831923*^9, 3.675851808172571*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"AmbidextrousSymbolicCosineBetaOverTwo", "=", RowBox[{ FractionBox["1", "2"], " ", SqrtBox[ RowBox[{"2", "-", SqrtBox["2"], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicSineBetaOverTwo", "=", RowBox[{ FractionBox["1", "2"], " ", SqrtBox[ RowBox[{"2", "+", SqrtBox["2"], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSymbolicSineBetaOverTwo", "-", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"]}]]}], "//", "Simplify", " ", RowBox[{"(*", " ", RowBox[{ RowBox[{"This", " ", "should", " ", "evaluate", " ", "to", " ", "0"}], ",", " ", RowBox[{ "which", " ", "shows", " ", "that", " ", "our", " ", "formula", " ", "for", " ", RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], " ", "is", " ", "correct"}]}], " ", "*)"}]}]}], "Input"], Cell[TextData[{ "Since ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Tan", "[", "\[Beta]", "]"}], "=", RowBox[{ FractionBox[ RowBox[{"Sin", "[", RowBox[{"\[Beta]", "/", "2"}], "]"}], RowBox[{"Cos", "[", RowBox[{"\[Beta]", "/", "2"}], "]"}]], "=", FractionBox[ RowBox[{"2", RowBox[{"Sin", "[", RowBox[{"\[Beta]", "/", "2"}], "]"}], RowBox[{"Cos", "[", RowBox[{"\[Beta]", "/", "2"}], "]"}]}], RowBox[{ SuperscriptBox[ RowBox[{"Cos", "[", RowBox[{"\[Beta]", "/", "2"}], "]"}], "2"], "-", SuperscriptBox[ RowBox[{"Sin", "[", RowBox[{"\[Beta]", "/", "2"}], "]"}], "2"]}]]}]}], TraditionalForm]]], ", the next command verifies that ", Cell[BoxData[ FormBox[ RowBox[{"Tan", "[", "\[Beta]", "]"}], TraditionalForm]]], " is given by the expression ", Cell[BoxData[ RowBox[{ FractionBox["1", "2"], RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "+", "1"}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "-", "1"}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}]}]], CellChangeTimes->{{3.6749920976547422`*^9, 3.6749921279279947`*^9}, { 3.67499216041533*^9, 3.674992166839245*^9}}], ". Evaluating the difference and applying the FullSimplify command should \ give 0:" }], "Text", CellChangeTimes->{3.675829401898787*^9}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ "2", "AmbidextrousSymbolicSineBetaOverTwo", "\[Times]", "AmbidextrousSymbolicCosineBetaOverTwo"}], ")"}], "/", RowBox[{"(", RowBox[{ SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"], "-", SuperscriptBox["AmbidextrousSymbolicSineBetaOverTwo", "2"]}], ")"}]}], "-", RowBox[{ FractionBox["1", "2"], RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "+", "1"}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "-", "1"}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}]}]}], "//", "FullSimplify"}]], "Input"], Cell[TextData[{ "It is also interesting to compute the minimal polynomials of ", Cell[BoxData[ FormBox[ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ RowBox[{"Tan", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ RowBox[{"Cos", "[", "\[Beta]", "]"}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ RowBox[{"Sin", "[", "\[Beta]", "]"}], TraditionalForm]]], ", and ", Cell[BoxData[ FormBox[ RowBox[{"Tan", "[", "\[Beta]", "]"}], TraditionalForm]]], ". (There are more minimal polynomial computations in Section 12 below.) Try \ evaluating the next few commands." }], "Text", CellChangeTimes->{{3.675851854673584*^9, 3.675851885405838*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{"The", " ", "minimal", " ", "polynomial", " ", "of", " ", RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MinimalPolynomial", "[", RowBox[{"AmbidextrousSymbolicCosineBetaOverTwo", ",", "x"}], "]"}], "//", "TraditionalForm"}]}]], "Input"], Cell[TextData[{ Cell[BoxData[ FormBox[ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], " have the same minimal polynomial:" }], "Text", CellChangeTimes->{3.675851893911336*^9}], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{"The", " ", "minimal", " ", "polynomial", " ", "of", " ", RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}]}], " ", "*)"}], RowBox[{ RowBox[{"MinimalPolynomial", "[", RowBox[{ SqrtBox[ RowBox[{"1", "-", SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"]}]], ",", "x"}], "]"}], "//", "TraditionalForm"}]}]], "Input"], Cell[TextData[{ "The minimal polynomial of ", Cell[BoxData[ FormBox[ RowBox[{"Tan", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], " is a bit simpler than the ones for the sine and cosine:" }], "Text", CellChangeTimes->{3.675851925224449*^9}], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{"The", " ", "minimal", " ", "polynomial", " ", "of", " ", RowBox[{"Tan", "[", FractionBox["\[Beta]", "2"], "]"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MinimalPolynomial", "[", RowBox[{ RowBox[{ SqrtBox[ RowBox[{"1", "-", SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"]}]], "/", "AmbidextrousSymbolicCosineBetaOverTwo"}], ",", "x"}], "]"}], "//", "TraditionalForm"}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{"The", " ", "minimal", " ", "polynomial", " ", "of", " ", RowBox[{"Cos", "[", "\[Beta]", "]"}]}], " ", "*)"}], RowBox[{ RowBox[{"MinimalPolynomial", "[", RowBox[{ RowBox[{ SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"], "-", SuperscriptBox["AmbidextrousSymbolicSineBetaOverTwo", "2"]}], ",", "x"}], "]"}], "//", "TraditionalForm"}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{"The", " ", "minimal", " ", "polynomial", " ", "of", " ", RowBox[{"Sin", "[", "\[Beta]", "]"}]}], " ", "*)"}], RowBox[{ RowBox[{"MinimalPolynomial", "[", RowBox[{ RowBox[{ "2", "AmbidextrousSymbolicSineBetaOverTwo", "\[Times]", "AmbidextrousSymbolicCosineBetaOverTwo"}], ",", "x"}], "]"}], "//", "TraditionalForm"}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ RowBox[{"The", " ", "minimal", " ", "polynomial", " ", "of", " ", RowBox[{"Tan", "[", "\[Beta]", "]"}]}], " ", "-", " ", RowBox[{"the", " ", "simplest", " ", "one", " ", "so", " ", "far"}]}], " ", "*)"}], RowBox[{ RowBox[{"MinimalPolynomial", "[", RowBox[{ RowBox[{ FractionBox["1", "2"], RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "+", "1"}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "-", "1"}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}]}], ",", "x"}], "]"}], "//", "TraditionalForm"}]}]], "Input", CellChangeTimes->{3.675851978759914*^9}], Cell[TextData[{ "Next, we derive closed form expressions for the remaining parameters. Start \ with ", Cell[BoxData[ FormBox[ SubscriptBox["a", "1"], TraditionalForm]]], ". The evaluation is done in several steps: first, we take the symbolic \ formula for ", Cell[BoxData[ FormBox[ SubscriptBox["a", "1"], TraditionalForm]]], " in terms of \[Beta], apply the TrigExpand[...] ", StyleBox["Mathematica", FontSlant->"Italic"], " function to it to bring it to a convenient form as a polynomial in ", Cell[BoxData[ FormBox[ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], ". Then we substitute in the explicit algebraic values we found for ", Cell[BoxData[ FormBox[ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], "." }], "Text", CellChangeTimes->{ 3.6758519893072987`*^9, {3.675852046143211*^9, 3.6758522605319853`*^9}, { 3.675852329367601*^9, 3.675852333956218*^9}}], Cell[BoxData[ RowBox[{"a1symbolicexpression", "=", RowBox[{ RowBox[{"TrigExpand", "[", RowBox[{ SubscriptBox["a", "1"], "/.", "AmbidextrousSymbolicSolutions"}], "]"}], "//", "Simplify"}]}]], "Input"], Cell[TextData[{ "The second step, in the next command is to substitute in the explicit \ algebraic values we found for ", Cell[BoxData[ FormBox[ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]], FormatType->"TraditionalForm"], " and ", Cell[BoxData[ FormBox[ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]], FormatType->"TraditionalForm"], ", and then apply the FullSimplify[...] command to invoke ", StyleBox["Mathematica", FontSlant->"Italic"], "\[CloseCurlyQuote]s powerful algebraic simplification machinery. The result \ expresses ", Cell[BoxData[ FormBox[ SubscriptBox["a", "1"], TraditionalForm]], FormatType->"TraditionalForm"], " as the root of a certain polynomial." }], "Text", CellChangeTimes->{{3.675852294344356*^9, 3.6758523177292624`*^9}}], Cell[BoxData[ RowBox[{"a1symbolicexpressionsimplified", "=", RowBox[{ RowBox[{"a1symbolicexpression", "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], "->", "AmbidextrousSymbolicCosineBetaOverTwo"}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], "\[Rule]", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"]}]]}]}], "}"}]}], "//", "FullSimplify"}]}]], "Input"], Cell["\<\ Finally, applying the ToRadicals[...] command converts the number into an \ expression in radicals. Try the next command.\ \>", "Text", CellChangeTimes->{{3.675852344656258*^9, 3.675852351981735*^9}}], Cell[BoxData[ RowBox[{"ToRadicals", "[", "a1symbolicexpressionsimplified", "]"}]], "Input"], Cell[TextData[{ "Another success -- we have shown that ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["a", "1"], "=", " ", RowBox[{ FractionBox["1", "4"], " ", SqrtBox[ RowBox[{"4", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"71", "-", RowBox[{"8", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"71", "+", RowBox[{"8", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], TraditionalForm]]], "." }], "Text", CellChangeTimes->{{3.675852360533142*^9, 3.67585236659842*^9}}], Cell[TextData[{ "Next, the parameters ", Cell[BoxData[ FormBox[ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], TraditionalForm]]], " are related to ", Cell[BoxData[ FormBox[ SubscriptBox["a", "1"], TraditionalForm]]], " through simple relations, which are easy to verify:" }], "Text", CellChangeTimes->{3.6758523874070787`*^9}], Cell[BoxData[ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]], "+", SubscriptBox["a", "1"]}], "/.", "AmbidextrousSymbolicSolutions"}], ")"}], "//", "Simplify", " ", RowBox[{"(*", " ", RowBox[{ RowBox[{"This", " ", "should", " ", "evaluate", " ", "to", " ", "1"}], ",", " ", RowBox[{ RowBox[{"showing", " ", "that", " ", SubscriptBox["\[Kappa]", RowBox[{"1", ",", "1"}]]}], "=", RowBox[{"1", "-", SubscriptBox["a", "1"]}]}]}], " ", "*)"}]}]], "Input", CellChangeTimes->{{3.6758524114010344`*^9, 3.675852416421*^9}}], Cell[TextData[{ "For the verification of the claim about ", Cell[BoxData[ FormBox[ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], TraditionalForm]], FormatType->"TraditionalForm"], ", we need to work a bit harder. First, define a variable encoding the \ linear combination ", Cell[BoxData[ RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], "+", RowBox[{ FractionBox["4", "3"], SubscriptBox["a", "1"]}], "-", "1"}]]], ", which we want to verify is equal to 0. Applying TrigExpand[...] does some \ initial simplification." }], "Text", CellChangeTimes->{{3.67585246848281*^9, 3.675852512801086*^9}, { 3.675852545342861*^9, 3.6758525531827583`*^9}}], Cell[BoxData[ RowBox[{"KappaSixOneLinearCombination", "=", RowBox[{ RowBox[{"TrigExpand", "[", RowBox[{ RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], "+", RowBox[{ FractionBox["4", "3"], SubscriptBox["a", "1"]}], "-", "1"}], "/.", "AmbidextrousSymbolicSolutions"}], "]"}], "//", "Simplify"}]}]], "Input"], Cell[TextData[{ "It turns out the expression involves factors like Cos[", Cell[BoxData[ FormBox[ FractionBox[ RowBox[{"3", "\[Beta]"}], "2"], TraditionalForm]], FormatType->"TraditionalForm"], "]. The following command does some simple substitutions to express all such \ factors as polynomials in ", Cell[BoxData[ FormBox[ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]], FormatType->"TraditionalForm"], " and ", Cell[BoxData[ FormBox[ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], "." }], "Text", CellChangeTimes->{{3.6758525577083187`*^9, 3.6758526572464743`*^9}, 3.675852690880727*^9}], Cell[BoxData[ RowBox[{"KappaSixOneLinearCombinationExpanded", "=", RowBox[{"KappaSixOneLinearCombination", "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", FractionBox[ RowBox[{"3", " ", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Cos", "[", FractionBox[ RowBox[{"3", " ", "\[Beta]"}], "2"], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox[ RowBox[{"3", " ", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Sin", "[", FractionBox[ RowBox[{"3", " ", "\[Beta]"}], "2"], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Cos", "[", FractionBox[ RowBox[{"5", " ", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Cos", "[", FractionBox[ RowBox[{"5", " ", "\[Beta]"}], "2"], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox[ RowBox[{"5", " ", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Sin", "[", FractionBox[ RowBox[{"5", "\[Beta]"}], "2"], "]"}], "]"}]}]}], "}"}]}]}]], "Input"], Cell[TextData[{ "Finally, run the next command to substitute in the two explicit algebraic \ numbers ", Cell[BoxData[ FormBox[ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]], FormatType->"TraditionalForm"], " and ", Cell[BoxData[ FormBox[ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], TraditionalForm]]], " and invoke FullSimplify[...]. If the expression evaluates to 0, this \ proves our formula for ", Cell[BoxData[ FormBox[ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]], TraditionalForm]], FormatType->"TraditionalForm"], "." }], "Text", CellChangeTimes->{{3.6758526964543324`*^9, 3.675852733896925*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ RowBox[{ "If", " ", "this", " ", "next", " ", "command", " ", "evaluates", " ", "to", " ", "0"}], ",", " ", RowBox[{ RowBox[{"this", " ", "shows", " ", "that", " ", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]]}], "=", RowBox[{"1", "-", RowBox[{ FractionBox["4", "3"], SubscriptBox["a", "1"]}]}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"KappaSixOneLinearCombinationExpanded", "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], "->", "AmbidextrousSymbolicCosineBetaOverTwo"}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], "\[Rule]", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"]}]]}]}], "}"}]}], "//", "FullSimplify"}]}]], "Input"], Cell[TextData[{ "We repeat the same method for ", Cell[BoxData[ FormBox[ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], TraditionalForm]], FormatType->"TraditionalForm"], " to prove the formula ", Cell[BoxData[ RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], "=", RowBox[{"1", "-", RowBox[{ FractionBox["5", "3"], SubscriptBox["a", "1"]}]}]}]]], ". Evaluate the next three code blocks. The last one should give 0." }], "Text", CellChangeTimes->{{3.67585278059004*^9, 3.6758528075466757`*^9}}], Cell[BoxData[ RowBox[{"KappaFiveOneLinearCombination", "=", RowBox[{ RowBox[{"TrigExpand", "[", RowBox[{ RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]], "+", RowBox[{ FractionBox["5", "3"], SubscriptBox["a", "1"]}], "-", "1"}], "/.", "AmbidextrousSymbolicSolutions"}], "]"}], "//", "Simplify"}]}]], "Input"], Cell[BoxData[ RowBox[{"KappaFiveOneLinearCombinationExpanded", "=", RowBox[{"KappaFiveOneLinearCombination", "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", FractionBox[ RowBox[{"3", " ", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Cos", "[", FractionBox[ RowBox[{"3", " ", "\[Beta]"}], "2"], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox[ RowBox[{"3", " ", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Sin", "[", FractionBox[ RowBox[{"3", " ", "\[Beta]"}], "2"], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Cos", "[", FractionBox[ RowBox[{"5", " ", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Cos", "[", FractionBox[ RowBox[{"5", " ", "\[Beta]"}], "2"], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox[ RowBox[{"5", " ", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Sin", "[", FractionBox[ RowBox[{"5", "\[Beta]"}], "2"], "]"}], "]"}]}]}], "}"}]}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ RowBox[{ "If", " ", "this", " ", "next", " ", "command", " ", "outputs", " ", "0"}], ",", " ", RowBox[{ RowBox[{"this", " ", "shows", " ", "that", " ", SubscriptBox["\[Kappa]", RowBox[{"5", ",", "1"}]]}], "=", RowBox[{"1", "-", RowBox[{ FractionBox["5", "3"], SubscriptBox["a", "1"]}]}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"KappaFiveOneLinearCombinationExpanded", "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], "->", "AmbidextrousSymbolicCosineBetaOverTwo"}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], "\[Rule]", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"]}]]}]}], "}"}]}], "//", "FullSimplify"}]}]], "Input"], Cell[TextData[{ "Next, we calculate ", Cell[BoxData[ FormBox[ SubscriptBox["f", "1"], TraditionalForm]]], ", which also gives ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["f", "2"], "=", RowBox[{ RowBox[{"(", RowBox[{"1", "-", SqrtBox["2"]}], ")"}], SubscriptBox["f", "1"]}]}], TraditionalForm]]], ". Start by running the next command to represent ", Cell[BoxData[ FormBox[ SubscriptBox["f", "1"], TraditionalForm]]], " symbolically in terms of \[Beta], after some initial TrigExpand[...] \ substitution and simplification." }], "Text", CellChangeTimes->{{3.675852830199848*^9, 3.675852890441527*^9}, { 3.6760866097170877`*^9, 3.6760866175373707`*^9}}], Cell[BoxData[ RowBox[{"f1SymbolicAsFunctionOfBeta", "=", RowBox[{ RowBox[{"TrigExpand", "[", RowBox[{ SubscriptBox["f", "1"], "/.", "AmbidextrousSymbolicSolutions"}], "]"}], "//", "Simplify"}]}]], "Input"], Cell[TextData[{ "Since ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Cos", "[", "\[Beta]", "]"}], "=", RowBox[{ RowBox[{"2", SuperscriptBox[ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], "2"]}], "-", "1"}]}], TraditionalForm]]], ", this can be written explicitly as ", Cell[BoxData[ FractionBox[ RowBox[{ RowBox[{"-", SqrtBox["2"]}], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}], RowBox[{ RowBox[{ RowBox[{"-", "3"}], " ", SqrtBox[ RowBox[{"2", "+", SqrtBox["2"], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}], "+", RowBox[{"3", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], "+", SqrtBox["2"]}], ")"}], " ", SqrtBox[ RowBox[{"2", "-", SqrtBox["2"], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}]]], CellChangeTimes->{3.674865265033688*^9}], ", or as ", Cell[BoxData[ RowBox[{ FractionBox["1", "3"], FractionBox[ RowBox[{ RowBox[{"2", SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"]}], "-", "1"}], RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ SqrtBox["2"], "-", "1"}], ")"}], "AmbidextrousSymbolicCosineBetaOverTwo"}], "-", "AmbidextrousSymbolicSineBetaOverTwo"}]]}]], CellChangeTimes->{{3.674160292476678*^9, 3.6741604908854628`*^9}, { 3.6741605236791077`*^9, 3.6741606562391872`*^9}, {3.674160692811895*^9, 3.674160755824778*^9}, {3.6741624046980667`*^9, 3.674162419626536*^9}, { 3.674162992877365*^9, 3.6741631435908737`*^9}, {3.6741632821843233`*^9, 3.674163300727083*^9}, {3.674163331844532*^9, 3.674163414439719*^9}, { 3.6741634957398167`*^9, 3.674163547754117*^9}, {3.6741636845501547`*^9, 3.674163780157792*^9}, {3.674163863740645*^9, 3.674163882123053*^9}, { 3.674163948675127*^9, 3.67416404076816*^9}, {3.6741642264097567`*^9, 3.674164491378042*^9}, {3.6741646105861063`*^9, 3.6741646184428368`*^9}, { 3.6742681599708*^9, 3.674268178943447*^9}, {3.674269424665573*^9, 3.674269490595039*^9}, {3.674270793961317*^9, 3.674270794998323*^9}, { 3.674272097971978*^9, 3.674272132749668*^9}, {3.674272267351851*^9, 3.6742722708329287`*^9}, {3.674272391078814*^9, 3.6742723953807087`*^9}, { 3.674273366505199*^9, 3.6742735187573643`*^9}, {3.674357220747098*^9, 3.674357284335194*^9}, {3.674357331182762*^9, 3.674357468853726*^9}, 3.6743579520234947`*^9, 3.674357984692107*^9, {3.674358376611821*^9, 3.674358381116907*^9}, {3.674358665750206*^9, 3.6743587945863123`*^9}, 3.6743588574119673`*^9, {3.674358902680781*^9, 3.6743589091088467`*^9}, { 3.674359183247808*^9, 3.6743592052499847`*^9}, {3.674359253030407*^9, 3.6743594286315393`*^9}, {3.674359481790189*^9, 3.674359563564921*^9}, { 3.674359643353977*^9, 3.674359645504423*^9}, {3.674420893962496*^9, 3.6744209284960403`*^9}, {3.6744210308545017`*^9, 3.6744210485857553`*^9}, {3.674434910726571*^9, 3.6744349329461613`*^9}, { 3.674435091270993*^9, 3.674435123058237*^9}, {3.674438581838372*^9, 3.6744385911304092`*^9}, {3.674446242889703*^9, 3.674446253071864*^9}, { 3.6747840415069237`*^9, 3.674784353004689*^9}, {3.674784467844358*^9, 3.6747846051269493`*^9}, {3.674784688913897*^9, 3.674784697200837*^9}, { 3.674784783869687*^9, 3.6747848010965548`*^9}, {3.6747848351304703`*^9, 3.6747848985471077`*^9}, {3.674784981915654*^9, 3.674785015801618*^9}, { 3.6747850459008827`*^9, 3.674785050943738*^9}, {3.6747850856472397`*^9, 3.6747852504968367`*^9}, {3.674785396274332*^9, 3.674785432034317*^9}, { 3.67478547298173*^9, 3.674785664421761*^9}, {3.674785701773831*^9, 3.6747857020410023`*^9}, {3.674785756074257*^9, 3.6747857685834703`*^9}, { 3.6747858884543333`*^9, 3.67478599831437*^9}, {3.674786152634613*^9, 3.674786156687315*^9}, {3.674786195091674*^9, 3.6747862092908297`*^9}, { 3.674786267034062*^9, 3.674786320864997*^9}, {3.674786353116428*^9, 3.6747865221641273`*^9}, {3.674786844512104*^9, 3.674786844873981*^9}, { 3.674786881263165*^9, 3.674786924395327*^9}, 3.674788231272493*^9, { 3.6747884993612537`*^9, 3.674788530474555*^9}, {3.6747933679632597`*^9, 3.6747933740736933`*^9}, {3.67479340760487*^9, 3.674793438640788*^9}, { 3.6747934760387793`*^9, 3.674793700188016*^9}, 3.67479580244715*^9, { 3.674827613505437*^9, 3.6748276148870983`*^9}, {3.6748276477122993`*^9, 3.674827715317089*^9}, {3.674827872992797*^9, 3.674827893883523*^9}, 3.674828011228805*^9, {3.674828171168847*^9, 3.674828171593581*^9}, { 3.674828372324902*^9, 3.674828372665906*^9}, {3.67482841263025*^9, 3.674828440646521*^9}, {3.67482931855618*^9, 3.674829345393776*^9}, { 3.674840401994667*^9, 3.674840470869055*^9}, {3.6748405046001167`*^9, 3.674840514139205*^9}, {3.674840565803711*^9, 3.674840565923005*^9}, { 3.674840664157021*^9, 3.674840703984748*^9}, {3.6748407528462763`*^9, 3.674840850892186*^9}, {3.674841496553205*^9, 3.674841585425138*^9}, { 3.674843674624325*^9, 3.674843767777124*^9}, {3.674843827919581*^9, 3.67484382998447*^9}, {3.674844003700325*^9, 3.674844033557939*^9}, { 3.674844068664823*^9, 3.674844069331147*^9}, {3.6748441280950127`*^9, 3.674844129425812*^9}, {3.674844269478094*^9, 3.6748443489456997`*^9}, { 3.674844512933198*^9, 3.674844531199339*^9}, {3.6748460339671803`*^9, 3.6748460610832167`*^9}, {3.6748461041453247`*^9, 3.674846130947921*^9}, { 3.6748462065474*^9, 3.674846240799514*^9}, {3.674846310083778*^9, 3.674846331378787*^9}, {3.6748463634329863`*^9, 3.674846436940092*^9}, 3.67484648337531*^9, {3.674846515668893*^9, 3.6748465185118027`*^9}, { 3.674846585042749*^9, 3.6748465854193296`*^9}, {3.674846747775753*^9, 3.674846753488679*^9}, {3.674846798544012*^9, 3.674846834435313*^9}, { 3.6748468741212482`*^9, 3.6748468857706823`*^9}, {3.6748469173725224`*^9, 3.674846920754773*^9}, {3.674846951004829*^9, 3.674846964152873*^9}, { 3.6748471549637403`*^9, 3.6748471553175173`*^9}, {3.6748474612342043`*^9, 3.674847482963669*^9}, {3.674856586292036*^9, 3.674856786013936*^9}, { 3.67485846652332*^9, 3.6748584735132303`*^9}, {3.674858582756301*^9, 3.6748585932488537`*^9}, {3.674859492541955*^9, 3.674859599794751*^9}, { 3.6748633647621803`*^9, 3.674863365063798*^9}, {3.6748653214043427`*^9, 3.674865329198524*^9}, {3.674865411906003*^9, 3.674865460118561*^9}}], ". This can be brought to the simpler form ", Cell[BoxData[ RowBox[{ FractionBox["1", RowBox[{"3", SqrtBox[ RowBox[{"2", RowBox[{"(", RowBox[{"2", "-", SqrtBox["2"]}], ")"}]}]]}]], SuperscriptBox[ RowBox[{"(", RowBox[{"83", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "+", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "-", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}], RowBox[{"1", "/", "4"}]]}]], CellChangeTimes->{{3.674160292476678*^9, 3.6741604908854628`*^9}, { 3.6741605236791077`*^9, 3.6741606562391872`*^9}, {3.674160692811895*^9, 3.674160755824778*^9}, {3.6741624046980667`*^9, 3.674162419626536*^9}, { 3.674162992877365*^9, 3.6741631435908737`*^9}, {3.6741632821843233`*^9, 3.674163300727083*^9}, {3.674163331844532*^9, 3.674163414439719*^9}, { 3.6741634957398167`*^9, 3.674163547754117*^9}, {3.6741636845501547`*^9, 3.674163780157792*^9}, {3.674163863740645*^9, 3.674163882123053*^9}, { 3.674163948675127*^9, 3.67416404076816*^9}, {3.6741642264097567`*^9, 3.674164491378042*^9}, {3.6741646105861063`*^9, 3.6741646184428368`*^9}, { 3.6742681599708*^9, 3.674268178943447*^9}, {3.674269424665573*^9, 3.674269490595039*^9}, {3.674270793961317*^9, 3.674270794998323*^9}, { 3.674272097971978*^9, 3.674272132749668*^9}, {3.674272267351851*^9, 3.6742722708329287`*^9}, {3.674272391078814*^9, 3.6742723953807087`*^9}, { 3.674273366505199*^9, 3.6742735187573643`*^9}, {3.674357220747098*^9, 3.674357284335194*^9}, {3.674357331182762*^9, 3.674357468853726*^9}, 3.6743579520234947`*^9, 3.674357984692107*^9, {3.674358376611821*^9, 3.674358381116907*^9}, {3.674358665750206*^9, 3.6743587945863123`*^9}, 3.6743588574119673`*^9, {3.674358902680781*^9, 3.6743589091088467`*^9}, { 3.674359183247808*^9, 3.6743592052499847`*^9}, {3.674359253030407*^9, 3.6743594286315393`*^9}, {3.674359481790189*^9, 3.674359563564921*^9}, { 3.674359643353977*^9, 3.674359645504423*^9}, {3.674420893962496*^9, 3.6744209284960403`*^9}, {3.6744210308545017`*^9, 3.6744210485857553`*^9}, {3.674434910726571*^9, 3.6744349329461613`*^9}, { 3.674435091270993*^9, 3.674435123058237*^9}, {3.674438581838372*^9, 3.6744385911304092`*^9}, {3.674446242889703*^9, 3.674446253071864*^9}, { 3.6747840415069237`*^9, 3.674784353004689*^9}, {3.674784467844358*^9, 3.6747846051269493`*^9}, {3.674784688913897*^9, 3.674784697200837*^9}, { 3.674784783869687*^9, 3.6747848010965548`*^9}, {3.6747848351304703`*^9, 3.6747848985471077`*^9}, {3.674784981915654*^9, 3.674785015801618*^9}, { 3.6747850459008827`*^9, 3.674785050943738*^9}, {3.6747850856472397`*^9, 3.6747852504968367`*^9}, {3.674785396274332*^9, 3.674785432034317*^9}, { 3.67478547298173*^9, 3.674785664421761*^9}, {3.674785701773831*^9, 3.6747857020410023`*^9}, {3.674785756074257*^9, 3.6747857685834703`*^9}, { 3.6747858884543333`*^9, 3.67478599831437*^9}, {3.674786152634613*^9, 3.674786156687315*^9}, {3.674786195091674*^9, 3.6747862092908297`*^9}, { 3.674786267034062*^9, 3.674786320864997*^9}, {3.674786353116428*^9, 3.6747865221641273`*^9}, {3.674786844512104*^9, 3.674786844873981*^9}, { 3.674786881263165*^9, 3.674786924395327*^9}, 3.674788231272493*^9, { 3.6747884993612537`*^9, 3.674788530474555*^9}, {3.6747933679632597`*^9, 3.6747933740736933`*^9}, {3.67479340760487*^9, 3.674793438640788*^9}, { 3.6747934760387793`*^9, 3.674793700188016*^9}, 3.67479580244715*^9, { 3.674827613505437*^9, 3.6748276148870983`*^9}, {3.6748276477122993`*^9, 3.674827715317089*^9}, {3.674827872992797*^9, 3.674827893883523*^9}, 3.674828011228805*^9, {3.674828171168847*^9, 3.674828171593581*^9}, { 3.674828372324902*^9, 3.674828372665906*^9}, {3.67482841263025*^9, 3.674828440646521*^9}, {3.67482931855618*^9, 3.674829345393776*^9}, { 3.674840401994667*^9, 3.674840470869055*^9}, {3.6748405046001167`*^9, 3.674840514139205*^9}, {3.674840565803711*^9, 3.674840565923005*^9}, { 3.674840664157021*^9, 3.674840703984748*^9}, {3.6748407528462763`*^9, 3.674840850892186*^9}, {3.674841496553205*^9, 3.674841585425138*^9}, { 3.674843674624325*^9, 3.674843767777124*^9}, {3.674843827919581*^9, 3.67484382998447*^9}, {3.674844003700325*^9, 3.674844033557939*^9}, { 3.674844068664823*^9, 3.674844069331147*^9}, {3.6748441280950127`*^9, 3.674844129425812*^9}, {3.674844269478094*^9, 3.6748443489456997`*^9}, { 3.674844512933198*^9, 3.674844531199339*^9}, {3.6748460339671803`*^9, 3.6748460610832167`*^9}, {3.6748461041453247`*^9, 3.674846130947921*^9}, { 3.6748462065474*^9, 3.674846240799514*^9}, {3.674846310083778*^9, 3.674846331378787*^9}, {3.6748463634329863`*^9, 3.674846436940092*^9}, 3.67484648337531*^9, {3.674846515668893*^9, 3.6748465185118027`*^9}, { 3.674846585042749*^9, 3.6748465854193296`*^9}, {3.674846747775753*^9, 3.674846753488679*^9}, {3.674846798544012*^9, 3.674846834435313*^9}, { 3.6748468741212482`*^9, 3.6748468857706823`*^9}, {3.6748469173725224`*^9, 3.674846920754773*^9}, {3.674846951004829*^9, 3.674846964152873*^9}, { 3.6748471549637403`*^9, 3.6748471553175173`*^9}, {3.6748474612342043`*^9, 3.674847482963669*^9}, {3.674856586292036*^9, 3.674856786013936*^9}, { 3.67485846652332*^9, 3.6748584735132303`*^9}, {3.674858582756301*^9, 3.6748585932488537`*^9}, {3.674859492541955*^9, 3.674859599794751*^9}, { 3.6748633647621803`*^9, 3.674863365063798*^9}, {3.6748653214043427`*^9, 3.674865329198524*^9}, {3.674865411906003*^9, 3.674865460118561*^9}, { 3.674865909793152*^9, 3.674865942621519*^9}, {3.674866468927582*^9, 3.674866482544911*^9}, {3.674866576902237*^9, 3.674866596655263*^9}, { 3.674866903134634*^9, 3.6748669232271442`*^9}, {3.6748670198037987`*^9, 3.6748670576667337`*^9}, 3.674867204968852*^9, {3.674867272208729*^9, 3.674867278355331*^9}}], ". To verify this, run the next command, which should evaluate to 1, proving \ equation (68) in the paper." }], "Text", CellChangeTimes->{ 3.675852849285967*^9, {3.675852949937337*^9, 3.675852963012128*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{"This", " ", "should", " ", "return", " ", "1"}], " ", "*)"}], RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ FractionBox["1", "3"], FractionBox[ RowBox[{ RowBox[{"2", SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"]}], "-", "1"}], RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ SqrtBox["2"], "-", "1"}], ")"}], "AmbidextrousSymbolicCosineBetaOverTwo"}], "-", "AmbidextrousSymbolicSineBetaOverTwo"}]]}], ")"}], "/", RowBox[{"(", RowBox[{ FractionBox["1", RowBox[{"3", SqrtBox[ RowBox[{"2", RowBox[{"(", RowBox[{"2", "-", SqrtBox["2"]}], ")"}]}]]}]], SuperscriptBox[ RowBox[{"(", RowBox[{"83", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "+", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "-", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}], RowBox[{"1", "/", "4"}]]}], ")"}]}], "//", "FullSimplify", " "}]}]], "Input", CellChangeTimes->{{3.675852920462545*^9, 3.675852921929103*^9}}], Cell[TextData[{ "Two remaining identities to verify are ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], "=", RowBox[{"1", "/", "2"}]}], TraditionalForm]], FormatType->"TraditionalForm"], " and ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]], "=", RowBox[{"1", "/", "2"}]}], TraditionalForm]], FormatType->"TraditionalForm"], ". Evaluate the next two commands to verify these claims." }], "Text", CellChangeTimes->{{3.676086633111464*^9, 3.676086692090067*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], "/.", "AmbidextrousSymbolicSolutions"}], "//", "Simplify"}], " "}], "\[IndentingNewLine]", RowBox[{ RowBox[{"(*", " ", RowBox[{"This", " ", "should", " ", "evaluate", " ", "to", " ", RowBox[{"1", "/", "2"}]}], " ", "*)"}]}]}], "Input", CellChangeTimes->{{3.676086694969899*^9, 3.67608671542599*^9}, 3.676086796103236*^9}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]], "/.", "AmbidextrousSymbolicSolutions"}], "//", "TrigExpand"}], ")"}], "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], "\[Rule]", "AmbidextrousSymbolicCosineBetaOverTwo"}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], "\[Rule]", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"]}]]}]}], "}"}]}], "//", "FullSimplify"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"(*", " ", RowBox[{"This", " ", "should", " ", "evaluate", " ", "to", " ", RowBox[{"1", "/", "2"}]}], " ", "*)"}]}]}], "Input", CellChangeTimes->{{3.676086720605966*^9, 3.676086792450286*^9}, { 3.676086983241198*^9, 3.676086985031066*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["11. Closed form evaluation of the area of the shape \[CapitalSigma]", \ "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.675827684699839*^9, 3.675827700990162*^9}, { 3.6758277871147614`*^9, 3.675827787244882*^9}}, CellTags->"Section11"], Cell[TextData[{ "The goal of this section is to prove:\n\n", StyleBox["Theorem. ", FontWeight->"Bold"], "The area of the ambidextrous shape is ", Cell[BoxData[ RowBox[{"\[Beta]", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"3", "-", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"3", "+", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", "1"}]], CellChangeTimes->{{3.675259035204945*^9, 3.675259038982119*^9}, { 3.6752590727206917`*^9, 3.675259093816943*^9}, 3.675259395826538*^9}], "\n(This is the computational part of Theorem 5 in the paper.)" }], "Text", CellChangeTimes->{{3.6758534013056517`*^9, 3.675853408112103*^9}, { 3.6758534383275948`*^9, 3.6758534485136757`*^9}}], Cell[TextData[{ "First, we express the area of the shape as a sum of several integrals, \ making use of the left-right and up-down symmetries. Evaluate the next block \ of code. (", StyleBox["Note: this requires running the code in Section 10 first.)", FontWeight->"Bold"], " This may take a minute or two." }], "Text", CellChangeTimes->{ 3.67585341091149*^9, {3.675853486628457*^9, 3.675853495611723*^9}, { 3.6758535728083897`*^9, 3.675853587381256*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"AmbidextrousAreaPart1", "=", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "6"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], "-", RowBox[{"1", "/", "2"}]}], ")"}]}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "6"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "\[Beta]", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousAreaPart2", "=", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "5"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], "-", RowBox[{"1", "/", "2"}]}], ")"}]}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["A", "5"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], ",", RowBox[{"\[Pi]", "/", "2"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousAreaPart3", "=", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"1", "/", "2"}], "-", RowBox[{ RowBox[{ SubscriptBox["B", "6"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ")"}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["B", "6"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "\[Beta]", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousAreaPart4", "=", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"1", "/", "2"}], "-", RowBox[{ RowBox[{ SubscriptBox["B", "5"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ")"}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["B", "5"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", RowBox[{ RowBox[{"\[Pi]", "/", "2"}], "-", "\[Beta]"}], ",", RowBox[{"\[Pi]", "/", "2"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"AmbidextrousAreaPart5", "=", RowBox[{"Integrate", "[", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"1", "/", "2"}], "-", RowBox[{ RowBox[{ SubscriptBox["x", "6"], "[", "t", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ")"}]}], RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "6"], "'"}], "[", "t", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "\[Beta]", ",", RowBox[{"\[Pi]", "/", "4"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"AmbidextrousAreaTotal", "=", RowBox[{"4", RowBox[{"(", RowBox[{ "AmbidextrousAreaPart1", "+", "AmbidextrousAreaPart2", "+", "AmbidextrousAreaPart3", "+", "AmbidextrousAreaPart4", "+", "AmbidextrousAreaPart5"}], ")"}]}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousAreaTotalNumerical", "=", RowBox[{ RowBox[{"AmbidextrousAreaTotal", "/.", "AmbidextrousSymbolicSolutions"}], "/.", "AmbidextrousPrecomputedNumericalConstants"}]}], ";"}]}], "Input", CellChangeTimes->{{3.675853463861369*^9, 3.675853480558639*^9}}], Cell["\<\ As a sanity check to see that we got something reasonable, evaluate the next \ line to get the numerical value of the area:\ \>", "Text", CellChangeTimes->{{3.675853507941862*^9, 3.675853533280911*^9}}], Cell[BoxData["AmbidextrousAreaTotalNumerical"], "Input"], Cell["\<\ We are more interested however in the area as a symbolic expression in the \ critical angle \[Beta]. Run the next command to get such an expression. We \ make the substitution \[Beta]=2\[Eta] to get a less messy formula.\ \>", "Text", CellChangeTimes->{{3.675853618642193*^9, 3.6758536391294317`*^9}}], Cell[BoxData[ RowBox[{"ambiareasymbolic", "=", RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "AmbidextrousAreaTotal", "/.", "AmbidextrousSymbolicSolutions"}], "//", "Simplify"}], ")"}], "/.", RowBox[{"{", RowBox[{"\[Beta]", "\[Rule]", RowBox[{"2", "\[Eta]"}]}], "}"}]}], ")"}]}]], "Input"], Cell["\<\ On inspecting the formula, we see that it is of the form P(\[Eta])\[Eta]+Q(\ \[Eta]), where P(\[Eta]) and Q(\[Eta]) are each rational functions in Cos(\ \[Eta]) and Sin(\[Eta]) and are therefore algebraic numbers. Our goal is to \ find them, and we can achieve it using a bit of automated symbolic math \ wizardry. First, run the next command to separate P(\[Eta]) and Q(\[Eta]), \ replace any appearance of \[Eta] inside a cosine or sine with a different \ variable, \[Nu], then collect over powers of \[Eta]:\ \>", "Text", CellChangeTimes->{{3.675853651632947*^9, 3.675853667904295*^9}}], Cell[BoxData[ RowBox[{"ambiareasymbolicmodified", "=", RowBox[{"Collect", "[", RowBox[{ RowBox[{"ambiareasymbolic", "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", "\[Eta]", "]"}], "\[Rule]", RowBox[{"Cos", "[", "\[Nu]", "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", "\[Eta]", "]"}], "\[Rule]", RowBox[{"Sin", "[", "\[Nu]", "]"}]}], ",", RowBox[{ RowBox[{"Cos", "[", RowBox[{"k_", " ", "\[Eta]"}], "]"}], "\[Rule]", RowBox[{"Cos", "[", RowBox[{"k", " ", "\[Nu]"}], "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", RowBox[{"k_", " ", "\[Eta]"}], "]"}], "\[Rule]", RowBox[{"Sin", "[", RowBox[{"k", " ", "\[Nu]"}], "]"}]}]}], "}"}]}], ",", "\[Eta]"}], "]"}]}]], "Input"], Cell["\<\ We can now isolate the P and Q coefficients, expressing them in terms of the \ original variable \[Beta]. Evaluate the next block of code to do this.\ \>", "Text", CellChangeTimes->{{3.675853679495253*^9, 3.675853702970448*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"Pcoefficient", "=", RowBox[{ RowBox[{ RowBox[{"CoefficientList", "[", RowBox[{"ambiareasymbolicmodified", ",", "\[Eta]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}], "/.", RowBox[{"{", RowBox[{"\[Nu]", "\[Rule]", RowBox[{"\[Beta]", "/", "2"}]}], "}"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Qcoefficient", "=", RowBox[{ RowBox[{ RowBox[{"CoefficientList", "[", RowBox[{"ambiareasymbolicmodified", ",", "\[Eta]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], "/.", RowBox[{"{", RowBox[{"\[Nu]", "\[Rule]", RowBox[{"\[Beta]", "/", "2"}]}], "}"}]}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "Look", " ", "to", " ", "see", " ", "what", " ", "we", " ", "got"}], " ", "*)"}]}], "\[IndentingNewLine]", RowBox[{"{", RowBox[{"Pcoefficient", ",", "Qcoefficient"}], "}"}]}], "Input", CellChangeTimes->{{3.67586122037543*^9, 3.675861221932642*^9}}], Cell["\<\ As always, it helps to look at numerical values for error-checking and to \ keep our algebraic intuition grounded in reality. Try this line:\ \>", "Text", CellChangeTimes->{{3.675853711833103*^9, 3.675853727955909*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"{", RowBox[{"Pcoefficient", ",", "Qcoefficient"}], "}"}], "/.", "AmbidextrousPrecomputedNumericalConstants"}]], "Input"], Cell[TextData[{ "The P coefficient appears to be equal to 2. That corresponds to a \ contribution of 2\[Eta]=\[Beta] to the area, as the theorem claims. By \ substituting the values ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], "=", RowBox[{ FractionBox["1", "2"], " ", SqrtBox[ RowBox[{"2", "-", SqrtBox["2"], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], "=", RowBox[{ FractionBox["1", "2"], " ", SqrtBox[ RowBox[{"2", "+", SqrtBox["2"], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], TraditionalForm]]], " and Cos[\[Beta]]=", Cell[BoxData[ RowBox[{ FractionBox["1", "2"], " ", RowBox[{"(", RowBox[{ RowBox[{"-", SqrtBox["2"]}], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}]}]], CellChangeTimes->{{3.674160292476678*^9, 3.6741604908854628`*^9}, { 3.6741605236791077`*^9, 3.6741606562391872`*^9}, {3.674160692811895*^9, 3.674160755824778*^9}, {3.6741624046980667`*^9, 3.674162419626536*^9}, { 3.674162992877365*^9, 3.6741631435908737`*^9}, {3.6741632821843233`*^9, 3.674163300727083*^9}, {3.674163331844532*^9, 3.674163414439719*^9}, { 3.6741634957398167`*^9, 3.674163547754117*^9}, {3.6741636845501547`*^9, 3.674163780157792*^9}, {3.674163863740645*^9, 3.674163882123053*^9}, { 3.674163948675127*^9, 3.67416404076816*^9}, {3.6741642264097567`*^9, 3.674164491378042*^9}, {3.6741646105861063`*^9, 3.6741646184428368`*^9}, { 3.6742681599708*^9, 3.674268178943447*^9}, {3.674269424665573*^9, 3.674269490595039*^9}, {3.674270793961317*^9, 3.674270794998323*^9}, { 3.674272097971978*^9, 3.674272132749668*^9}, {3.674272267351851*^9, 3.6742722708329287`*^9}, {3.674272391078814*^9, 3.6742723953807087`*^9}, { 3.674273366505199*^9, 3.6742735187573643`*^9}, {3.674357220747098*^9, 3.674357284335194*^9}, {3.674357331182762*^9, 3.674357468853726*^9}, 3.6743579520234947`*^9, 3.674357984692107*^9, {3.674358376611821*^9, 3.674358381116907*^9}, {3.674358665750206*^9, 3.6743587945863123`*^9}, 3.6743588574119673`*^9, {3.674358902680781*^9, 3.6743589091088467`*^9}, { 3.674359183247808*^9, 3.6743592052499847`*^9}, {3.674359253030407*^9, 3.6743594286315393`*^9}, {3.674359481790189*^9, 3.674359563564921*^9}, { 3.674359643353977*^9, 3.674359645504423*^9}, {3.674420893962496*^9, 3.6744209284960403`*^9}, {3.6744210308545017`*^9, 3.6744210485857553`*^9}, {3.674434910726571*^9, 3.6744349329461613`*^9}, { 3.674435091270993*^9, 3.674435123058237*^9}, {3.674438581838372*^9, 3.6744385911304092`*^9}, {3.674446242889703*^9, 3.674446253071864*^9}, { 3.6747840415069237`*^9, 3.674784353004689*^9}, {3.674784467844358*^9, 3.6747846051269493`*^9}, {3.674784688913897*^9, 3.674784697200837*^9}, { 3.674784783869687*^9, 3.6747848010965548`*^9}, {3.6747848351304703`*^9, 3.6747848985471077`*^9}, {3.674784981915654*^9, 3.674785015801618*^9}, { 3.6747850459008827`*^9, 3.674785050943738*^9}, {3.6747850856472397`*^9, 3.6747852504968367`*^9}, {3.674785396274332*^9, 3.674785432034317*^9}, { 3.67478547298173*^9, 3.674785664421761*^9}, {3.674785701773831*^9, 3.6747857020410023`*^9}, {3.674785756074257*^9, 3.6747857685834703`*^9}, { 3.6747858884543333`*^9, 3.67478599831437*^9}, {3.674786152634613*^9, 3.674786156687315*^9}, {3.674786195091674*^9, 3.6747862092908297`*^9}, { 3.674786267034062*^9, 3.674786320864997*^9}, {3.674786353116428*^9, 3.6747865221641273`*^9}, {3.674786844512104*^9, 3.674786844873981*^9}, { 3.674786881263165*^9, 3.674786924395327*^9}, 3.674788231272493*^9, { 3.6747884993612537`*^9, 3.674788530474555*^9}, {3.6747933679632597`*^9, 3.6747933740736933`*^9}, {3.67479340760487*^9, 3.674793438640788*^9}, { 3.6747934760387793`*^9, 3.674793700188016*^9}, 3.67479580244715*^9, { 3.674827613505437*^9, 3.6748276148870983`*^9}, {3.6748276477122993`*^9, 3.674827715317089*^9}, {3.674827872992797*^9, 3.674827893883523*^9}, 3.674828011228805*^9, {3.674828171168847*^9, 3.674828171593581*^9}, { 3.674828372324902*^9, 3.674828372665906*^9}, {3.67482841263025*^9, 3.674828440646521*^9}, {3.67482931855618*^9, 3.674829345393776*^9}, { 3.674840401994667*^9, 3.674840470869055*^9}, {3.6748405046001167`*^9, 3.674840514139205*^9}, {3.674840565803711*^9, 3.674840565923005*^9}, { 3.674840664157021*^9, 3.674840703984748*^9}, {3.6748407528462763`*^9, 3.674840850892186*^9}, {3.674841496553205*^9, 3.674841585425138*^9}, { 3.674843674624325*^9, 3.674843767777124*^9}, {3.674843827919581*^9, 3.67484382998447*^9}, {3.674844003700325*^9, 3.674844033557939*^9}, { 3.674844068664823*^9, 3.674844069331147*^9}, {3.6748441280950127`*^9, 3.674844129425812*^9}, {3.674844269478094*^9, 3.6748443489456997`*^9}, { 3.674844512933198*^9, 3.674844531199339*^9}, {3.6748460339671803`*^9, 3.6748460610832167`*^9}, {3.6748461041453247`*^9, 3.674846130947921*^9}, { 3.6748462065474*^9, 3.674846240799514*^9}, {3.674846310083778*^9, 3.674846331378787*^9}, {3.6748463634329863`*^9, 3.674846436940092*^9}, 3.67484648337531*^9, {3.674846515668893*^9, 3.6748465185118027`*^9}, { 3.674846585042749*^9, 3.6748465854193296`*^9}, {3.674846747775753*^9, 3.674846753488679*^9}, {3.674846798544012*^9, 3.674846834435313*^9}, { 3.6748468741212482`*^9, 3.6748468857706823`*^9}, {3.6748469173725224`*^9, 3.674846920754773*^9}, {3.674846951004829*^9, 3.674846964152873*^9}, { 3.6748471549637403`*^9, 3.6748471553175173`*^9}, {3.6748474612342043`*^9, 3.674847482963669*^9}, {3.674856586292036*^9, 3.674856786013936*^9}, { 3.67485846652332*^9, 3.6748584735132303`*^9}, {3.674858582756301*^9, 3.6748585932488537`*^9}, {3.674859492541955*^9, 3.674859599794751*^9}, { 3.6748633647621803`*^9, 3.674863365063798*^9}, {3.6748653214043427`*^9, 3.674865329198524*^9}, {3.674865411906003*^9, 3.674865460118561*^9}, { 3.674865909793152*^9, 3.674865942621519*^9}, {3.674866468927582*^9, 3.674866482544911*^9}, {3.674866576902237*^9, 3.674866596655263*^9}, { 3.674866903134634*^9, 3.6748669232271442`*^9}, {3.6748670198037987`*^9, 3.6748670576667337`*^9}, 3.674867204968852*^9, {3.674867272208729*^9, 3.674867278355331*^9}, {3.6748678821814213`*^9, 3.674867893792232*^9}, { 3.674868603257327*^9, 3.674868620498337*^9}, {3.67486896167927*^9, 3.674868985935397*^9}, {3.67487689098943*^9, 3.6748769268448257`*^9}, { 3.674878099298979*^9, 3.674878112085659*^9}, 3.674878323560027*^9, { 3.6748802125233173`*^9, 3.67488022687031*^9}, {3.674992802636557*^9, 3.674992811451871*^9}, {3.675000431242332*^9, 3.675000451150758*^9}, { 3.675001625158511*^9, 3.6750016273792067`*^9}, {3.6750016618783607`*^9, 3.6750016653347273`*^9}, 3.675001731333033*^9, {3.675002342701433*^9, 3.6750023705621777`*^9}, {3.675002614941368*^9, 3.6750027184898567`*^9}, { 3.67500292377271*^9, 3.675002934137594*^9}, {3.675003014159993*^9, 3.6750030180706263`*^9}, {3.675003072391119*^9, 3.675003079521776*^9}, { 3.675003190876526*^9, 3.675003243919071*^9}, {3.675003668954453*^9, 3.675003685832632*^9}, {3.675004061872912*^9, 3.675004081858898*^9}, { 3.675009481607874*^9, 3.675009487127095*^9}, {3.675013575577291*^9, 3.675013625321157*^9}, {3.675013718616921*^9, 3.67501372158468*^9}, 3.6750142836135273`*^9, 3.6750187119256563`*^9, {3.675142159954422*^9, 3.675142173435412*^9}, {3.675142207709807*^9, 3.675142209802252*^9}, { 3.675142283975855*^9, 3.675142305302422*^9}, 3.675142361174559*^9, 3.675142472924797*^9, {3.675142526588629*^9, 3.675142561653178*^9}, { 3.675165470606161*^9, 3.675165473607375*^9}, 3.675165606395228*^9, 3.675165719889299*^9, 3.675186948333802*^9, {3.675187561857153*^9, 3.675187564804023*^9}, {3.675189994701487*^9, 3.6751899976600533`*^9}, { 3.675220533510169*^9, 3.675220561902587*^9}, {3.675220611313871*^9, 3.675220614600327*^9}, 3.675220809048579*^9, {3.675222010597661*^9, 3.675222024555895*^9}, {3.675222371261742*^9, 3.675222408452463*^9}, { 3.67522313796272*^9, 3.675223145903035*^9}}], ", ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Sin", "[", "\[Beta]", "]"}], "=", SqrtBox[ RowBox[{"1", "-", SuperscriptBox[ RowBox[{"Cos", "[", "\[Beta]", "]"}], "2"]}]]}], TraditionalForm]]], " into the formula we can verify this rigorously. Evaluate the next line, \ which should evaluate to 2." }], "Text", CellChangeTimes->{ 3.675853739531397*^9, {3.675853771817154*^9, 3.6758537816430597`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{"This", " ", "should", " ", "evaluate", " ", "to", " ", "2"}], " ", "*)"}], RowBox[{ RowBox[{"Pcoefficient", "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], "->", "AmbidextrousSymbolicCosineBetaOverTwo"}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], "->", "AmbidextrousSymbolicSineBetaOverTwo"}], ",", RowBox[{ RowBox[{"Cos", "[", "\[Beta]", "]"}], "\[Rule]", "AmbidextrousSymbolicCosineBeta"}], ",", RowBox[{ RowBox[{"Sin", "[", "\[Beta]", "]"}], "\[Rule]", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["AmbidextrousSymbolicCosineBeta", "2"]}]]}]}], "}"}]}], "//", "FullSimplify", " "}]}]], "Input", CellChangeTimes->{{3.6758537583773413`*^9, 3.67585376037772*^9}}], Cell[TextData[{ "The formula for the Q coefficient is more complicated so we have to work a \ bit harder. First, evaluate the next block of code. This expresses everything \ in the Q coefficient in terms of Cos(\[Beta]/2) and Sin(\[Beta]/2) by using \ the ", Cell[BoxData[ FormBox[ RowBox[{"TrigExpand", "[", "]"}], TraditionalForm]]], " command to expand out more complicated trigonometric factors, like Sin(4\ \[Beta]):" }], "Text", CellChangeTimes->{{3.675853800804048*^9, 3.675853868559607*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Qcoefficientalgebraic", "=", RowBox[{ RowBox[{ RowBox[{"Qcoefficient", "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Sin", "[", RowBox[{"2", "\[Beta]"}], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Sin", "[", RowBox[{"2", " ", "\[Beta]"}], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", RowBox[{"3", "\[Beta]"}], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Sin", "[", RowBox[{"3", " ", "\[Beta]"}], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", RowBox[{"4", "\[Beta]"}], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Sin", "[", RowBox[{"4", " ", "\[Beta]"}], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", RowBox[{"5", "\[Beta]"}], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Sin", "[", RowBox[{"5", " ", "\[Beta]"}], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Cos", "[", RowBox[{"2", "\[Beta]"}], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Cos", "[", RowBox[{"2", " ", "\[Beta]"}], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Cos", "[", RowBox[{"3", "\[Beta]"}], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Cos", "[", RowBox[{"3", " ", "\[Beta]"}], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Cos", "[", RowBox[{"4", "\[Beta]"}], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Cos", "[", RowBox[{"4", " ", "\[Beta]"}], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Cos", "[", RowBox[{"5", "\[Beta]"}], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Cos", "[", RowBox[{"5", " ", "\[Beta]"}], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Cos", "[", FractionBox[ RowBox[{"3", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Cos", "[", FractionBox[ RowBox[{"3", "\[Beta]"}], "2"], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Cos", "[", FractionBox[ RowBox[{"5", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Cos", "[", FractionBox[ RowBox[{"5", "\[Beta]"}], "2"], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Cos", "[", FractionBox[ RowBox[{"7", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Cos", "[", FractionBox[ RowBox[{"7", "\[Beta]"}], "2"], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox[ RowBox[{"3", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Sin", "[", FractionBox[ RowBox[{"3", "\[Beta]"}], "2"], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox[ RowBox[{"5", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Sin", "[", FractionBox[ RowBox[{"5", "\[Beta]"}], "2"], "]"}], "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox[ RowBox[{"7", "\[Beta]"}], "2"], "]"}], "\[Rule]", RowBox[{"TrigExpand", "[", RowBox[{"Sin", "[", FractionBox[ RowBox[{"7", "\[Beta]"}], "2"], "]"}], "]"}]}]}], "}"}]}], "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", "\[Beta]", "]"}], "\[Rule]", RowBox[{ SuperscriptBox[ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], "2"], "-", SuperscriptBox[ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], "2"]}]}], ",", RowBox[{ RowBox[{"Sin", "[", "\[Beta]", "]"}], "\[Rule]", RowBox[{"2", RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}]}]}]}], "}"}]}], "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", FractionBox["\[Beta]", "2"], "]"}], "\[Rule]", "AmbidextrousSymbolicCosineBetaOverTwo"}], ",", RowBox[{ RowBox[{"Sin", "[", FractionBox["\[Beta]", "2"], "]"}], "\[Rule]", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["AmbidextrousSymbolicCosineBetaOverTwo", "2"]}]]}]}], "}"}]}]}], ";"}]], "Input", CellChangeTimes->{3.675861183108474*^9}], Cell[TextData[{ "Evaluate the next line to see the result if you dare - the resulting \ expression is too big to display on the screen (but don\[CloseCurlyQuote]t \ worry, ", StyleBox["Mathematica", FontSlant->"Italic"], " will recognize this and only display a small part of the output, giving \ you the option to control how much more you want displayed)." }], "Text", CellChangeTimes->{{3.675853882148641*^9, 3.675853933748404*^9}}], Cell[BoxData["Qcoefficientalgebraic"], "Input"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " however is unfazed by such complexity. The number is algebraic, and by \ calling the FullSimplify[...] command we tell ", StyleBox["Mathematica", FontSlant->"Italic"], " to express the number as a root of a polynomial (or some other simple form \ if one exists). To see this in action, run the next command, and go make \ yourself a cup of tea (the computation takes a few minutes...). When you \ return, the answer will be waiting." }], "Text", CellChangeTimes->{{3.675853944565778*^9, 3.675854088925797*^9}}], Cell[BoxData[ RowBox[{"Qcoefficientalgebraicsimplified", "=", RowBox[{"Qcoefficientalgebraic", "//", "FullSimplify"}]}]], "Input"], Cell[TextData[{ "We have obtained our Q coefficient as the root of a cubic equation. \ Finally, by running the next line and checking that it evaluates to 0, we can \ verify that it is indeed given by the value ", Cell[BoxData[ RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"3", "-", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"3", "+", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", "1"}]], CellChangeTimes->{{3.675259035204945*^9, 3.675259038982119*^9}, { 3.6752590727206917`*^9, 3.675259093816943*^9}, 3.675259395826538*^9, 3.6752604866317*^9}], " claimed in the theorem." }], "Text", CellChangeTimes->{{3.675854106376801*^9, 3.675854143570792*^9}}], Cell[BoxData[ RowBox[{"FullSimplify", "[", RowBox[{"Qcoefficientalgebraicsimplified", "-", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"3", "-", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"3", "+", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", "1"}], ")"}]}], "]"}]], "Input"], Cell["The proof is complete.", "Text", CellChangeTimes->{{3.675854151939413*^9, 3.675854156064427*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["\<\ 12. Computation of the minimal polynomials of the parameters of the shape \ \[CapitalSigma]\ \>", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.675827694403194*^9, 3.675827723698839*^9}, { 3.675827788952847*^9, 3.675827789063806*^9}}, CellTags->"Section12"], Cell["\<\ In the previous two sections we found formulas for all the parameters and for \ the area of the shape in terms of radicals. Here we compute the associated \ minimal polynomials that are listed in Table 2 of the paper.\ \>", "Text", CellChangeTimes->{{3.675852997960882*^9, 3.675853042053567*^9}}], Cell["\<\ First, repeat some definitions (also contained in the initialization code) to \ remind ourselves of the formulas we are working with, and define an array \ containing the names and values of the quantities to display them in a \ formatted table. Run the next block of code to display the resulting table \ (just for reference - no minimal polynomials are computed yet).\ \>", "Text", CellChangeTimes->{{3.675853054291471*^9, 3.67585308552104*^9}, { 3.675853129931348*^9, 3.675853151820012*^9}, {3.675853184190304*^9, 3.6758532035963078`*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"AmbidextrousSymbolicTanBeta", "=", RowBox[{ FractionBox["1", "2"], RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "+", "1"}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{ SqrtBox["2"], "-", "1"}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicCosineBeta", "=", RowBox[{ FractionBox["1", "2"], " ", RowBox[{"(", RowBox[{ RowBox[{"-", SqrtBox["2"]}], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicSineBeta", "=", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["AmbidextrousSymbolicCosineBeta", "2"]}]]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSymbolicCosineBetaOverTwo", "=", RowBox[{ FractionBox["1", "2"], " ", SqrtBox[ RowBox[{"2", "-", SqrtBox["2"], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicSineBetaOverTwo", "=", RowBox[{ FractionBox["1", "2"], " ", SqrtBox[ RowBox[{"2", "+", SqrtBox["2"], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "4"}], "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", SuperscriptBox[ RowBox[{"(", RowBox[{"2", " ", RowBox[{"(", RowBox[{"4", "+", RowBox[{"3", " ", SqrtBox["2"]}]}], ")"}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicaOne", "=", RowBox[{ FractionBox["1", "4"], SqrtBox[ RowBox[{"4", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"71", "+", RowBox[{"8", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"71", "-", RowBox[{"8", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicKappaOneOne", "=", RowBox[{"1", "-", "AmbidextrousSymbolicaOne"}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicKappaSixOne", "=", RowBox[{"1", "-", RowBox[{ FractionBox["4", "3"], "AmbidextrousSymbolicaOne"}]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicKappaFiveOne", "=", RowBox[{"1", "-", RowBox[{ FractionBox["5", "3"], "AmbidextrousSymbolicaOne"}]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicfOne", "=", RowBox[{ FractionBox["1", RowBox[{"3", SqrtBox[ RowBox[{"2", RowBox[{"(", RowBox[{"2", "-", SqrtBox["2"]}], ")"}]}]]}]], SuperscriptBox[ RowBox[{"(", RowBox[{"83", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "+", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "-", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}], RowBox[{"1", "/", "4"}]]}]}], ";"}], "\n", RowBox[{ RowBox[{"AmbidextrousSymbolicfTwo", "=", RowBox[{ RowBox[{"-", FractionBox[ SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], "6"]}], SuperscriptBox[ RowBox[{"(", RowBox[{"83", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "+", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "-", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}], RowBox[{"1", "/", "4"}]]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousSymbolicAreaMinusBeta", "=", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"3", "+", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"3", "-", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "-", "1"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"AmbidextrousSymbolicaSofaLength", "=", RowBox[{ FractionBox["2", "3"], SqrtBox[ RowBox[{"4", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"71", "+", RowBox[{"8", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"71", "-", RowBox[{"8", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}]]}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"AmbidextrousSofaAlgebraicParameters", "=", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"\"\\"", ",", "AmbidextrousSymbolicTanBeta"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "\"\\"", ",", "AmbidextrousSymbolicCosineBeta"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"\"\\"", ",", "AmbidextrousSymbolicSineBeta"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"\"\\"", ",", RowBox[{ "AmbidextrousSymbolicSineBetaOverTwo", "/", "AmbidextrousSymbolicCosineBetaOverTwo"}]}], "}"}], ",", RowBox[{"{", RowBox[{ "\"\\"", ",", "AmbidextrousSymbolicCosineBetaOverTwo"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "\"\\"", ",", "AmbidextrousSymbolicSineBetaOverTwo"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "\"\<\!\(\*SubscriptBox[\(a\), \(1\)]\)\>\"", ",", "AmbidextrousSymbolicaOne"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "\"\<\!\(\*SubscriptBox[\(f\), \(1\)]\)\>\"", ",", "AmbidextrousSymbolicfOne"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "\"\<\!\(\*SubscriptBox[\(f\), \(2\)]\)\>\"", ",", "AmbidextrousSymbolicfTwo"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "\"\<\!\(\*SubscriptBox[\(\[Kappa]\), \(1, 1\)]\)\>\"", ",", "AmbidextrousSymbolicKappaOneOne"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "\"\<\!\(\*SubscriptBox[\(\[Kappa]\), \(6, 1\)]\)\>\"", ",", "AmbidextrousSymbolicKappaSixOne"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "\"\<\!\(\*SubscriptBox[\(\[Kappa]\), \(5, 1\)]\)\>\"", ",", "AmbidextrousSymbolicKappaFiveOne"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "\"\<\[CapitalLambda]-\[Beta]\>\"", ",", "AmbidextrousSymbolicAreaMinusBeta"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"\"\\"", ",", "AmbidextrousSymbolicaSofaLength"}], "}"}]}], "\[IndentingNewLine]", "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{"AmbidextrousSofaAlgebraicParameters", "//", "MatrixForm", " "}]}], "Input", CellChangeTimes->{{3.6758531172658653`*^9, 3.675853117573926*^9}, { 3.6758531754282618`*^9, 3.675853176043322*^9}}], Cell["\<\ The next command will now compute the associated minimal polynomial for each \ of the quantities and again display the results in a table.\ \>", "Text", CellChangeTimes->{{3.675853221300712*^9, 3.675853243022503*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{ RowBox[{"MinimalPolynomial", "[", RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], "]"}], "[", "x", "]"}]}], "}"}], "&"}], ",", "AmbidextrousSofaAlgebraicParameters"}], "]"}], "//", "MatrixForm"}], "//", "TraditionalForm"}]], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["\<\ 13. Verification of the algebraic curve formulas for boundary segments of \ \[CapitalSigma]\ \>", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.6767283804597187`*^9, 3.6767284084996862`*^9}}, CellTags->"Section13"], Cell[TextData[{ "In this section we verify the claims made in Section 6 in the paper that \ the boundary segments ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "18"], TraditionalForm]], FormatType->"TraditionalForm"], ", ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "4"], TraditionalForm]], FormatType->"TraditionalForm"], " and ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "9"], TraditionalForm]], FormatType->"TraditionalForm"], " lie on specific algebraic curves of degree 6." }], "Text", CellChangeTimes->{{3.676742510616211*^9, 3.676742568193818*^9}, { 3.676742637674686*^9, 3.6767426636771517`*^9}}], Cell[CellGroupData[{ Cell["13.1 Definitions of various algebraic constants", "Subsection", WholeCellGroupOpener->True, CellChangeTimes->{ 3.676741656300365*^9, {3.6767426741458817`*^9, 3.676742674905805*^9}}], Cell[TextData[{ "Start by redefining the algebraic constant ", Cell[BoxData[ FormBox[ SubscriptBox["f", "1"], TraditionalForm]]], " associated with \[CapitalSigma], and defining the numerical parameters ", Cell[BoxData[ RowBox[{ SubscriptBox["\[Gamma]", "1"], ",", SubscriptBox["\[Gamma]", "2"], ",", SubscriptBox["\[Gamma]", "3"], ",", SubscriptBox["\[Gamma]", "4"], ",", SubscriptBox["\[Gamma]", "5"], ",", SubscriptBox["\[Alpha]", "1"], ",", SubscriptBox["\[Alpha]", "2"], ",", SubscriptBox["\[Alpha]", "3"], ",", SubscriptBox["\[Alpha]", "4"]}]], CellChangeTimes->{{3.676741751794982*^9, 3.676741752253319*^9}}], ", all of which are cubic algebraic numbers. Evaluate the next command to \ load the definitions." }], "Text", CellChangeTimes->{{3.676742833027828*^9, 3.676742908684473*^9}, { 3.676750294723877*^9, 3.676750309064761*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"AmbidextrousSymbolicfOne", "=", RowBox[{ FractionBox["1", RowBox[{"3", SqrtBox[ RowBox[{"2", RowBox[{"(", RowBox[{"2", "-", SqrtBox["2"]}], ")"}]}]]}]], SuperscriptBox[ RowBox[{"(", RowBox[{"83", "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "+", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"420619", "-", RowBox[{"15104", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}], ")"}], RowBox[{"1", "/", "4"}]]}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Z", "=", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"4", "-", RowBox[{"2", " ", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"4", "+", RowBox[{"2", SqrtBox["2"]}]}], ")"}], RowBox[{"1", "/", "3"}]]}]}], ";"}], " ", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Z", " ", "is", " ", "the", " ", "real", " ", "root", " ", "of", " ", "the", " ", "cubic", " ", "polynomial", " ", SuperscriptBox["x", "3"]}], "-", RowBox[{"6", "x"}], "-", "8"}], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Calling", " ", "RootReduce", " ", "in", " ", "the", " ", "definitions", " ", "of", " ", SubscriptBox["\[Alpha]", "j"]}], ",", " ", RowBox[{ SubscriptBox["\[Gamma]", "j"], " ", "reduces", " ", "the", " ", "time", " ", "it", " ", "takes", " ", "Mathematica", " ", "to", " ", "verify", " ", "the", " ", "algebraic", " ", "identities", " ", "below"}]}], " ", "*)"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["\[Gamma]", "1"], "=", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "3"}], "Z"}], "+", "14"}], "//", "RootReduce"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["\[Gamma]", "2"], "=", RowBox[{ RowBox[{ RowBox[{"-", "Z"}], "+", "4"}], "//", "RootReduce"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["\[Gamma]", "3"], "=", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "27"}], SuperscriptBox["Z", "2"]}], "+", RowBox[{"156", "Z"}], "-", "190"}], "//", "RootReduce"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["\[Gamma]", "4"], "=", RowBox[{ RowBox[{ RowBox[{"8", SuperscriptBox["Z", "2"]}], "-", RowBox[{"26", "Z"}], "+", "8"}], "//", "RootReduce"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["\[Gamma]", "5"], "=", RowBox[{ RowBox[{ RowBox[{"9", "Z"}], "-", "20"}], "//", "RootReduce"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["\[Alpha]", "1"], "=", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "3"}], "Z"}], "+", "16"}], "//", "RootReduce"}]}], ";"}], " "}], "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["\[Alpha]", "2"], "=", RowBox[{ RowBox[{ RowBox[{"27", SuperscriptBox["Z", "2"]}], "-", RowBox[{"240", "Z"}], "+", "592"}], "//", "RootReduce"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["\[Alpha]", "3"], "=", RowBox[{ RowBox[{ RowBox[{"12", SuperscriptBox["Z", "2"]}], "-", RowBox[{"54", "Z"}], "+", "56"}], "//", "RootReduce"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["\[Alpha]", "4"], "=", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "9"}], "Z"}], "+", "28"}], "//", "RootReduce"}]}], ";"}]}], "Input", CellChangeTimes->{{3.677089305519764*^9, 3.6770893953912582`*^9}, 3.6770906823221207`*^9, {3.6770907137912283`*^9, 3.6770907141556807`*^9}, { 3.677170467176084*^9, 3.677170481704008*^9}, {3.677171046112669*^9, 3.677171048212229*^9}, {3.677171133549613*^9, 3.67717126273263*^9}, { 3.6771819848433247`*^9, 3.677182010665957*^9}, {3.677182056316619*^9, 3.677182059203927*^9}}], Cell["\<\ Evaluate the next two commands to see the numerical values of the parameters \ and their minimal polynomials.\ \>", "Text", CellChangeTimes->{{3.676742970448244*^9, 3.6767429973566437`*^9}, { 3.67675032168547*^9, 3.676750325039494*^9}, {3.67718260708883*^9, 3.677182612702479*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"{", RowBox[{ SubscriptBox["\[Gamma]", "1"], ",", SubscriptBox["\[Gamma]", "2"], ",", SubscriptBox["\[Gamma]", "3"], ",", SubscriptBox["\[Gamma]", "4"], ",", SubscriptBox["\[Gamma]", "5"], ",", SubscriptBox["\[Alpha]", "1"], ",", SubscriptBox["\[Alpha]", "2"], ",", SubscriptBox["\[Alpha]", "3"], ",", SubscriptBox["\[Alpha]", "4"]}], "}"}], "//", "N"}]], "Input", CellChangeTimes->{{3.676741751794982*^9, 3.676741752253319*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ SubscriptBox["\[Gamma]", "1"], ",", SubscriptBox["\[Gamma]", "2"], ",", SubscriptBox["\[Gamma]", "3"], ",", SubscriptBox["\[Gamma]", "4"], ",", SubscriptBox["\[Gamma]", "5"], ",", SubscriptBox["\[Alpha]", "1"], ",", SubscriptBox["\[Alpha]", "2"], ",", SubscriptBox["\[Alpha]", "3"], ",", SubscriptBox["\[Alpha]", "4"]}], "}"}], "//", RowBox[{ RowBox[{"MinimalPolynomial", "[", RowBox[{"#", ",", "x"}], "]"}], "&"}]}], "//", "Column"}], "//", "TraditionalForm"}]], "Input", CellChangeTimes->{3.676741779026936*^9}] }, Closed]], Cell[CellGroupData[{ Cell["13.2 Definitions of the bivariate polynomials", "Subsection", WholeCellGroupOpener->True, CellChangeTimes->{ 3.676741820456237*^9, {3.676742683305876*^9, 3.6767426840726423`*^9}}], Cell["\<\ Evaluate the next command to load the definitions of the polynomials P[X,Y], \ Q[X,Y], R[X,Y]. For each of the algebraic equations P[X,Y]=0, Q[X,Y]=0, \ R[X,Y]=0 we want to show that a boundary segment of the shape \[CapitalSigma] \ lies on the curve.\ \>", "Text", CellChangeTimes->{{3.676750372872582*^9, 3.67675045925739*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"P", "[", RowBox[{"X_", ",", "Y_"}], "]"}], ":=", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox["X", "2"], "+", SuperscriptBox["Y", "2"], "-", "8"}], ")"}], "3"], "-", RowBox[{"216", SuperscriptBox[ RowBox[{"(", RowBox[{"Y", "-", "X"}], ")"}], "2"]}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Q", "[", RowBox[{"X_", ",", "Y_"}], "]"}], ":=", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox["X", "2"], "+", SuperscriptBox["Y", "2"]}], ")"}], "3"], "-", RowBox[{"12", SubscriptBox["\[Gamma]", "1"], SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox["X", "2"], "+", SuperscriptBox["Y", "2"]}], ")"}], "2"]}], "-", RowBox[{"216", SqrtBox[ SubscriptBox["\[Gamma]", "2"]], RowBox[{"(", RowBox[{ SuperscriptBox["X", "2"], "+", SuperscriptBox["Y", "2"]}], ")"}], RowBox[{"(", RowBox[{"Y", "-", "X"}], ")"}]}], "-", RowBox[{"12", SubscriptBox["\[Gamma]", "3"], RowBox[{"(", RowBox[{ SuperscriptBox["X", "2"], "+", SuperscriptBox["Y", "2"]}], ")"}]}], "-", RowBox[{"432", SqrtBox[ SubscriptBox["\[Gamma]", "4"]], RowBox[{"(", RowBox[{"Y", "-", "X"}], ")"}]}], "+", RowBox[{"432", "X", " ", "Y"}], "-", RowBox[{"32", SubscriptBox["\[Gamma]", "5"]}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"R", "[", RowBox[{"X_", ",", "Y_"}], "]"}], ":=", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox["X", "2"], "+", SuperscriptBox["Y", "2"]}], ")"}], "3"], "-", RowBox[{"24", SubscriptBox["\[Alpha]", "1"], SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox["X", "2"], "+", SuperscriptBox["Y", "2"]}], ")"}], "2"]}], "+", RowBox[{"48", SubscriptBox["\[Alpha]", "2"], RowBox[{"(", RowBox[{ SuperscriptBox["X", "2"], "+", SuperscriptBox["Y", "2"]}], ")"}]}], "+", " ", RowBox[{"13824", SqrtBox[ SubscriptBox["\[Alpha]", "3"]], "Y"}], "+", RowBox[{"4096", SubscriptBox["\[Alpha]", "4"]}]}]}], ";"}]}], "Input", CellChangeTimes->{ 3.676803466858316*^9, {3.677170374247539*^9, 3.67717039619901*^9}, { 3.677170436280612*^9, 3.677170436390257*^9}, {3.677171060942922*^9, 3.6771710628012533`*^9}, {3.677180313911131*^9, 3.677180315025304*^9}, { 3.677182022895199*^9, 3.677182030057756*^9}}] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "1.3 Definitions of the functions associated with the boundary segments ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "18"], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "4"], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "5"], TraditionalForm]]], " of the shape \[CapitalSigma]" }], "Subsection", WholeCellGroupOpener->True, CellChangeTimes->{{3.676750354703288*^9, 3.676750357395872*^9}}], Cell[TextData[{ "The next command defines functions associated with the boundary segments ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "18"], TraditionalForm]], FormatType->"TraditionalForm"], ", ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "4"], TraditionalForm]], FormatType->"TraditionalForm"], " and ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "5"], TraditionalForm]], FormatType->"TraditionalForm"], ", by taking the generic formula for the rotation path ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "6"], "[", "t", "]"}], TraditionalForm]], FormatType->"TraditionalForm"], " (the solution of the ODE associated with Case 6 in Theorem 2) and the \ associated contact paths ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["A", "6"], "[", "t", "]"}], TraditionalForm]], FormatType->"TraditionalForm"], ", ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["B", "6"], "[", "t", "]"}], TraditionalForm]], FormatType->"TraditionalForm"], " and making the substitution ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["f", "2"], "\[Rule]", RowBox[{ RowBox[{"(", RowBox[{"1", "-", SqrtBox["2"]}], ")"}], SubscriptBox["f", "1"]}]}], TraditionalForm]], FormatType->"TraditionalForm"], "." }], "Text", CellChangeTimes->{{3.6767504741913853`*^9, 3.6767504993630667`*^9}, { 3.676752005803541*^9, 3.676752100591845*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"AmbidextrousBoundarySegment18", "=", RowBox[{ RowBox[{ SubscriptBox["A", "6"], "[", "t", "]"}], "/.", RowBox[{"{", RowBox[{ SubscriptBox["f", "2"], "\[Rule]", RowBox[{ RowBox[{"(", RowBox[{"1", "-", SqrtBox["2"]}], ")"}], SubscriptBox["f", "1"]}]}], "}"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousBoundarySegment4", "=", RowBox[{ RowBox[{ SubscriptBox["B", "6"], "[", "t", "]"}], "/.", RowBox[{"{", RowBox[{ SubscriptBox["f", "2"], "\[Rule]", RowBox[{ RowBox[{"(", RowBox[{"1", "-", SqrtBox["2"]}], ")"}], SubscriptBox["f", "1"]}]}], "}"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"AmbidextrousBoundarySegment5", "=", RowBox[{ RowBox[{ SubscriptBox["x", "6"], "[", "t", "]"}], "/.", RowBox[{"{", RowBox[{ SubscriptBox["f", "2"], "\[Rule]", RowBox[{ RowBox[{"(", RowBox[{"1", "-", SqrtBox["2"]}], ")"}], SubscriptBox["f", "1"]}]}], "}"}]}]}], ";"}]}], "Input"], Cell["Evaluate the next commands to inspect the functions.", "Text", CellChangeTimes->{{3.6767519766156483`*^9, 3.676751997907819*^9}}], Cell[BoxData["AmbidextrousBoundarySegment18"], "Input"], Cell[BoxData["AmbidextrousBoundarySegment4"], "Input"], Cell[BoxData["AmbidextrousBoundarySegment5"], "Input"] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "13.4 The boundary segment ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "18"], TraditionalForm]]] }], "Subsection", WholeCellGroupOpener->True, CellChangeTimes->{ 3.676742089705058*^9, {3.6767426915577908`*^9, 3.676742692129627*^9}, { 3.67675036007485*^9, 3.676750360282815*^9}}], Cell[TextData[{ "The next line verifies the algebraic equation P[X,Y]=0 for the boundary \ segment ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "18"], TraditionalForm]]], " of the shape \[CapitalSigma], by plugging in the x and y components of \ AmbidextrousBoundarySegment18, after the appropriate affine change of \ variables., and simplifying the result. Run the command - it should evaluate \ to 0." }], "Text", CellChangeTimes->{ 3.676742099020466*^9, {3.6767521147915373`*^9, 3.676752181046554*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"P", "[", RowBox[{ FractionBox[ RowBox[{ RowBox[{"AmbidextrousBoundarySegment18", "[", RowBox[{"[", "1", "]"}], "]"}], "-", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]]}], RowBox[{ SubscriptBox["f", "1"], FractionBox[ SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], "4"]}]], ",", FractionBox[ RowBox[{ RowBox[{"AmbidextrousBoundarySegment18", "[", RowBox[{"[", "2", "]"}], "]"}], "-", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]]}], RowBox[{ SubscriptBox["f", "1"], FractionBox[ SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], "4"]}]]}], "]"}], "//", "Simplify"}]], "Input"] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "13.5 The boundary segment ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "4"], TraditionalForm]]] }], "Subsection", WholeCellGroupOpener->True, CellChangeTimes->{ 3.676742146922112*^9, {3.6767426949675694`*^9, 3.676742695736455*^9}, { 3.676750362605788*^9, 3.676750362730788*^9}}], Cell[TextData[{ "Next, we try to verify the algebraic relation for the boundary segment ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "4"], TraditionalForm]]], "of the shape \[CapitalSigma]. The command below substitutes the functions \ for the parametric representation of the boundary segment ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "4"], TraditionalForm]]], " into Q[X,Y] after making the affine change of variables. The resulting \ expression should be identically 0, but it\[CloseCurlyQuote]s quite a \ complicated expression involving a polynomial in various algebraic numbers \ and trigonometric functions. In order to get ", StyleBox["Mathematica", FontSlant->"Italic"], " to verify that it simplifies ot 0 using a FullSimplify command, it\ \[CloseCurlyQuote]s beneficial to first do a bit of symbolic math \ manipulation to represent the expression as a polynomial in Cos[t/2] and ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Sin", "[", RowBox[{"t", "/", "2"}], "]"}], "=", SqrtBox[ RowBox[{"1", "-", SuperscriptBox[ RowBox[{"Cos", "[", RowBox[{"t", "/", "2"}], "]"}], "2"]}]]}], TraditionalForm]]], " and then simplify each of the coefficients of the polynomial separately. \n\ \nTo do this, evaluate the next two code blocks. If the second evaluation \ returns an array of zeroes, that means the expression simplified to 0, which \ proves that the AmbidextrousBoundarySegment4 function lies on the algebraic \ curve Q[X,Y]=0 (with the appropriate affine change of variables)." }], "Text", CellChangeTimes->{ 3.6767421796184177`*^9, {3.676752199413333*^9, 3.6767522962261963`*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"ExpressionThatShouldBeZero", "=", RowBox[{"(", RowBox[{ RowBox[{"Q", "[", RowBox[{ RowBox[{"Simplify", "[", FractionBox[ RowBox[{ RowBox[{"AmbidextrousBoundarySegment4", "[", RowBox[{"[", "1", "]"}], "]"}], "-", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]]}], RowBox[{ SubscriptBox["f", "1"], FractionBox[ SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], "4"]}]], "]"}], ",", RowBox[{"Simplify", "[", FractionBox[ RowBox[{ RowBox[{"AmbidextrousBoundarySegment4", "[", RowBox[{"[", "2", "]"}], "]"}], "-", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]]}], RowBox[{ SubscriptBox["f", "1"], FractionBox[ SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], "4"]}]], "]"}]}], "]"}], "/.", RowBox[{"{", RowBox[{ RowBox[{ SubscriptBox["f", "1"], "\[Rule]", "AmbidextrousSymbolicfOne"}], ",", RowBox[{ SubsuperscriptBox["f", "1", "k_"], "\[Rule]", SuperscriptBox["AmbidextrousSymbolicfOne", "k"]}], ",", RowBox[{"t", "\[Rule]", RowBox[{"2", "s"}]}]}], "}"}]}], ")"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ExpressionThatShouldBeZeroCoefficientsAfterSubstitutions", "=", RowBox[{"CoefficientList", "[", RowBox[{ RowBox[{ RowBox[{"Collect", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{"ExpressionThatShouldBeZero", "//", "TrigExpand"}], ")"}], "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", "s", "]"}], "\[Rule]", "u"}], ",", RowBox[{ RowBox[{"Sin", "[", "s", "]"}], "\[Rule]", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["u", "2"]}]]}]}], "}"}]}], ")"}], ",", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["u", "2"]}]]}], "]"}], "/.", RowBox[{"{", RowBox[{ SqrtBox[ RowBox[{"1", "-", SuperscriptBox["u", "2"]}]], "\[Rule]", "v"}], "}"}]}], ",", RowBox[{"{", RowBox[{"u", ",", "v"}], "}"}]}], "]"}]}], ";"}]}], "Input"], Cell["\<\ The next command should evaluate to an array of zeroes. The computation takes \ a couple of minutes.\ \>", "Text", CellChangeTimes->{{3.676752307293891*^9, 3.676752335379442*^9}}], Cell[BoxData[ RowBox[{"ExpressionThatShouldBeZeroCoefficientsAfterSubstitutions", "//", "RootReduce"}]], "Input", CellChangeTimes->{{3.676752282120351*^9, 3.6767522825743847`*^9}}] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "13.6 The boundary segment ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "5"], TraditionalForm]]] }], "Subsection", WholeCellGroupOpener->True, CellChangeTimes->{ 3.6767422986249943`*^9, {3.6767426990874968`*^9, 3.676742699758684*^9}, { 3.676750364276775*^9, 3.6767503643817663`*^9}}], Cell[TextData[{ "Next, we verify the algebraic relation Q[X,Y]=0 for the boundary segment ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "5"], TraditionalForm]]], " of the shape \[CapitalSigma], following a similar approach as the one used \ above for the boundary segment ", Cell[BoxData[ FormBox[ SubscriptBox["\[Sigma]", "4"], TraditionalForm]]], ". Again, evaluate the next two blocks of code. The second block should give \ an array of zeroes." }], "Text", CellChangeTimes->{ 3.676742332706897*^9, {3.676752351831195*^9, 3.6767523953840313`*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"AnotherExpressionThatShouldBeZero", "=", RowBox[{"(", RowBox[{ RowBox[{"R", "[", RowBox[{ RowBox[{"Simplify", "[", FractionBox[ RowBox[{ RowBox[{"AmbidextrousBoundarySegment5", "[", RowBox[{"[", "1", "]"}], "]"}], "-", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "1"}]]}], RowBox[{ SubscriptBox["f", "1"], RowBox[{ SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], "/", "4"}]}]], "]"}], ",", RowBox[{"Simplify", "[", FractionBox[ RowBox[{ RowBox[{"AmbidextrousBoundarySegment5", "[", RowBox[{"[", "2", "]"}], "]"}], "-", SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]]}], RowBox[{ SubscriptBox["f", "1"], RowBox[{ SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], "/", "4"}]}]], "]"}]}], "]"}], "/.", RowBox[{"{", RowBox[{ RowBox[{ SubscriptBox["f", "1"], "\[Rule]", "AmbidextrousSymbolicfOne"}], ",", RowBox[{ SubsuperscriptBox["f", "1", "k_"], "\[Rule]", SuperscriptBox["AmbidextrousSymbolicfOne", "k"]}], ",", RowBox[{"t", "\[Rule]", RowBox[{"2", "s"}]}]}], "}"}]}], ")"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ "AnotherExpressionThatShouldBeZeroCoefficientsAfterSubstitutions", "=", RowBox[{"CoefficientList", "[", RowBox[{ RowBox[{ RowBox[{"Collect", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{"AnotherExpressionThatShouldBeZero", "//", "TrigExpand"}], ")"}], "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Cos", "[", "s", "]"}], "\[Rule]", "u"}], ",", RowBox[{ RowBox[{"Sin", "[", "s", "]"}], "\[Rule]", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["u", "2"]}]]}]}], "}"}]}], ")"}], ",", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["u", "2"]}]]}], "]"}], "/.", RowBox[{"{", RowBox[{ SqrtBox[ RowBox[{"1", "-", SuperscriptBox["u", "2"]}]], "\[Rule]", "v"}], "}"}]}], ",", RowBox[{"{", RowBox[{"u", ",", "v"}], "}"}]}], "]"}]}], ";"}]}], "Input"], Cell["\<\ The next command should evaluate to an array of zeroes. The computation takes \ a couple of minutes.\ \>", "Text", CellChangeTimes->{3.676742351748752*^9, 3.6767523675793543`*^9}], Cell[BoxData[ RowBox[{"AnotherExpressionThatShouldBeZeroCoefficientsAfterSubstitutions", "//", "RootReduce"}]], "Input", CellChangeTimes->{{3.676742388028805*^9, 3.676742395597919*^9}}] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["14. Some fun interactive visualizations", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.6758277286541348`*^9, 3.675827733983601*^9}, { 3.675827790937564*^9, 3.6758277910837603`*^9}, {3.676728411836522*^9, 3.676728411999729*^9}}, CellTags->"Section14"], Cell["\<\ The understanding of the moving sofa problem can be greatly enhanced by the \ ability to easily visualize the different shapes appearing in the study of \ the problem, and the process of moving a shape around a corner. Here you can \ experiment with several interactive visualizations that help develop your \ intuition. Try running the commands below and experimenting with the sliders \ and other interactive controls.\ \>", "Text", CellChangeTimes->{ 3.675853266549745*^9, {3.675853301200025*^9, 3.67585330499853*^9}}], Cell[BoxData["SofaVisualizationGeneralizedHammersleySofasAreas"], "Input", CellChangeTimes->{{3.676343543776086*^9, 3.676343545798149*^9}}], Cell[BoxData["SofaVisualizationSquareSofaInHallway"], "Input", CellChangeTimes->{{3.676343546758861*^9, 3.676343552663836*^9}}], Cell[BoxData["SofaVisualizationSemicircularSofaInHallway"], "Input", CellChangeTimes->{{3.676343558783852*^9, 3.67634356402769*^9}}], Cell[BoxData["SofaVisualizationHammersleySofaInHallway"], "Input", CellChangeTimes->{{3.676343569318699*^9, 3.6763435717095737`*^9}}], Cell[BoxData["SofaVisualizationGeneralizedHammersleySofasInHallway"], "Input"], Cell[BoxData["SofaVisualizationGerverSofaInHallway"], "Input"], Cell[BoxData["SofaVisualizationAmbidextrousSofaInHallway"], "Input", CellChangeTimes->{{3.676343590958889*^9, 3.6763435916580048`*^9}}], Cell["\<\ If you haven\[CloseCurlyQuote]t had enough, here is a single visualization \ combining the above visualizations of moving the various sofas around a \ corner:\ \>", "Text", CellChangeTimes->{{3.676345467681259*^9, 3.676345492870448*^9}}], Cell[BoxData["SofaVisualizationsCombined"], "Input", CellChangeTimes->{{3.676343592504661*^9, 3.676343598417795*^9}}], Cell["", "PageBreak", PageBreakBelow->True] }, Closed]], Cell[CellGroupData[{ Cell["15. Package documentation", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.675853363431197*^9, 3.675853366256649*^9}, { 3.676728422377372*^9, 3.67672842254935*^9}}, CellTags->"Section15"], Cell[TextData[{ "The initialization code in this package is functional and correct as far as \ I know, but has not been thoroughly polished and may violate some coding best \ practices (especially the last section with the figures and interactive \ visualizations) -- sorry. Here is a documentation of some of the main \ functions and symbols the package defines and how you can use them (of \ course, the main intended use is just running the code in Sections 2-13, \ which does not require understanding the initialization code definitions). \ Feel to modify, extend, or otherwise experiment with the code - for example, \ if you are writing a blog or paper about the moving sofa problem, you can use \ the code for my figures, change the colors, add or remove some graphic \ elements, etc., to generate your own figures and animations. (If you create \ such material, I\[CloseCurlyQuote]d love to see it, so feel free to email me \ about it! And if you are a student using my code or figures for an assignment \ or project, remember that you ", StyleBox["must", FontSlant->"Italic"], " cite this package as a source; not doing so constitutes plagiarism and is \ very likely to get you into trouble.)" }], "Text", CellChangeTimes->{{3.67586264561443*^9, 3.675863095930869*^9}, { 3.675863206825479*^9, 3.675863294381213*^9}}], Cell[TextData[{ "\n", Cell[BoxData[ RowBox[{ SubscriptBox["x", "1"], "[", "t_", "]"}]], CellChangeTimes->{{3.674160292476678*^9, 3.6741604908854628`*^9}, { 3.6741605236791077`*^9, 3.6741606562391872`*^9}, {3.674160692811895*^9, 3.674160755824778*^9}, {3.6741624046980667`*^9, 3.674162419626536*^9}, { 3.674162992877365*^9, 3.6741631435908737`*^9}, {3.6741632821843233`*^9, 3.674163300727083*^9}, {3.674163331844532*^9, 3.674163414439719*^9}, { 3.6741634957398167`*^9, 3.674163547754117*^9}, {3.6741636845501547`*^9, 3.674163780157792*^9}, {3.674163863740645*^9, 3.674163882123053*^9}, { 3.674163948675127*^9, 3.67416404076816*^9}, {3.6741642264097567`*^9, 3.674164491378042*^9}, {3.6741646105861063`*^9, 3.6741646184428368`*^9}, { 3.6742681599708*^9, 3.674268178943447*^9}, {3.674269424665573*^9, 3.674269490595039*^9}, {3.674270793961317*^9, 3.674270794998323*^9}, { 3.674272097971978*^9, 3.674272132749668*^9}, {3.674272267351851*^9, 3.6742722708329287`*^9}, {3.674272391078814*^9, 3.6742723953807087`*^9}, { 3.674273366505199*^9, 3.6742735187573643`*^9}, {3.674357220747098*^9, 3.674357284335194*^9}, {3.674357331182762*^9, 3.674357468853726*^9}, 3.6743579520234947`*^9, 3.674357984692107*^9, {3.674358376611821*^9, 3.674358381116907*^9}, {3.674358665750206*^9, 3.6743587945863123`*^9}, 3.6743588574119673`*^9, {3.674358902680781*^9, 3.6743589091088467`*^9}, { 3.674359183247808*^9, 3.6743592052499847`*^9}, {3.674359253030407*^9, 3.6743594286315393`*^9}, {3.674359481790189*^9, 3.674359563564921*^9}, { 3.674359643353977*^9, 3.674359645504423*^9}, {3.674420893962496*^9, 3.6744209284960403`*^9}, {3.6744210308545017`*^9, 3.6744210485857553`*^9}, {3.674434910726571*^9, 3.6744349329461613`*^9}, { 3.674435091270993*^9, 3.674435123058237*^9}, {3.674438581838372*^9, 3.6744385911304092`*^9}, {3.674446242889703*^9, 3.674446253071864*^9}, { 3.6747840415069237`*^9, 3.674784353004689*^9}, {3.674784467844358*^9, 3.6747846051269493`*^9}, {3.674784688913897*^9, 3.674784697200837*^9}, { 3.674784783869687*^9, 3.6747848010965548`*^9}, {3.6747848351304703`*^9, 3.6747848985471077`*^9}, {3.674784981915654*^9, 3.674785015801618*^9}, { 3.6747850459008827`*^9, 3.674785050943738*^9}, {3.6747850856472397`*^9, 3.6747852504968367`*^9}, {3.674785396274332*^9, 3.674785432034317*^9}, { 3.67478547298173*^9, 3.674785664421761*^9}, {3.674785701773831*^9, 3.6747857020410023`*^9}, {3.674785756074257*^9, 3.6747857685834703`*^9}, { 3.6747858884543333`*^9, 3.67478599831437*^9}, {3.674786152634613*^9, 3.674786156687315*^9}, {3.674786195091674*^9, 3.6747862092908297`*^9}, { 3.674786267034062*^9, 3.674786320864997*^9}, {3.674786353116428*^9, 3.6747865221641273`*^9}, {3.674786844512104*^9, 3.674786844873981*^9}, { 3.674786881263165*^9, 3.674786924395327*^9}, 3.674788231272493*^9, { 3.6747884993612537`*^9, 3.674788530474555*^9}, {3.6747933679632597`*^9, 3.6747933740736933`*^9}, {3.67479340760487*^9, 3.674793438640788*^9}, { 3.6747934760387793`*^9, 3.674793700188016*^9}, 3.67479580244715*^9, { 3.674827613505437*^9, 3.6748276148870983`*^9}, {3.6748276477122993`*^9, 3.674827715317089*^9}, {3.674827872992797*^9, 3.674827893883523*^9}, 3.674828011228805*^9, {3.674828171168847*^9, 3.674828171593581*^9}, { 3.674828372324902*^9, 3.674828372665906*^9}, {3.67482841263025*^9, 3.674828440646521*^9}, {3.67482931855618*^9, 3.674829345393776*^9}, { 3.674840401994667*^9, 3.674840470869055*^9}, {3.6748405046001167`*^9, 3.674840514139205*^9}, {3.674840565803711*^9, 3.674840565923005*^9}, { 3.674840664157021*^9, 3.674840703984748*^9}, {3.6748407528462763`*^9, 3.674840850892186*^9}, {3.674841496553205*^9, 3.674841585425138*^9}, { 3.674843674624325*^9, 3.674843767777124*^9}, {3.674843827919581*^9, 3.67484382998447*^9}, {3.674844003700325*^9, 3.674844033557939*^9}, { 3.674844068664823*^9, 3.674844069331147*^9}, {3.6748441280950127`*^9, 3.674844129425812*^9}, {3.674844269478094*^9, 3.6748443489456997`*^9}, { 3.674844512933198*^9, 3.674844531199339*^9}, {3.6748460339671803`*^9, 3.6748460610832167`*^9}, {3.6748461041453247`*^9, 3.674846130947921*^9}, { 3.6748462065474*^9, 3.674846240799514*^9}, {3.674846310083778*^9, 3.674846331378787*^9}, {3.6748463634329863`*^9, 3.674846436940092*^9}, 3.67484648337531*^9, {3.674846515668893*^9, 3.6748465185118027`*^9}, { 3.674846585042749*^9, 3.6748465854193296`*^9}, {3.674846747775753*^9, 3.674846753488679*^9}, {3.674846798544012*^9, 3.674846834435313*^9}, { 3.6748468741212482`*^9, 3.6748468857706823`*^9}, {3.6748469173725224`*^9, 3.674846920754773*^9}, {3.674846951004829*^9, 3.674846964152873*^9}, { 3.6748471549637403`*^9, 3.6748471553175173`*^9}, {3.6748474612342043`*^9, 3.674847482963669*^9}, {3.674856586292036*^9, 3.674856786013936*^9}, { 3.67485846652332*^9, 3.6748584735132303`*^9}, {3.674858582756301*^9, 3.6748585932488537`*^9}, {3.674859492541955*^9, 3.674859599794751*^9}, { 3.6748633647621803`*^9, 3.674863365063798*^9}, {3.6748653214043427`*^9, 3.674865329198524*^9}, {3.674865411906003*^9, 3.674865460118561*^9}, { 3.674865909793152*^9, 3.674865942621519*^9}, {3.674866468927582*^9, 3.674866482544911*^9}, {3.674866576902237*^9, 3.674866596655263*^9}, { 3.674866903134634*^9, 3.6748669232271442`*^9}, {3.6748670198037987`*^9, 3.6748670576667337`*^9}, 3.674867204968852*^9, {3.674867272208729*^9, 3.674867278355331*^9}, {3.6748678821814213`*^9, 3.674867893792232*^9}, { 3.674868603257327*^9, 3.674868620498337*^9}, {3.67486896167927*^9, 3.674868985935397*^9}, {3.67487689098943*^9, 3.6748769268448257`*^9}, { 3.674878099298979*^9, 3.674878112085659*^9}, 3.674878323560027*^9, { 3.6748802125233173`*^9, 3.67488022687031*^9}, {3.674992802636557*^9, 3.674992811451871*^9}, {3.675000431242332*^9, 3.675000451150758*^9}, { 3.675001625158511*^9, 3.6750016273792067`*^9}, {3.6750016618783607`*^9, 3.6750016653347273`*^9}, 3.675001731333033*^9, {3.675002342701433*^9, 3.6750023705621777`*^9}, {3.675002614941368*^9, 3.6750027184898567`*^9}, { 3.67500292377271*^9, 3.675002934137594*^9}, {3.675003014159993*^9, 3.6750030180706263`*^9}, {3.675003072391119*^9, 3.675003079521776*^9}, { 3.675003190876526*^9, 3.675003243919071*^9}, {3.675003668954453*^9, 3.675003685832632*^9}, {3.675004061872912*^9, 3.675004081858898*^9}, { 3.675009481607874*^9, 3.675009487127095*^9}, {3.675013575577291*^9, 3.675013625321157*^9}, {3.675013718616921*^9, 3.67501372158468*^9}, 3.6750142836135273`*^9, 3.6750187119256563`*^9, {3.675142159954422*^9, 3.675142173435412*^9}, {3.675142207709807*^9, 3.675142209802252*^9}, { 3.675142283975855*^9, 3.675142305302422*^9}, 3.675142361174559*^9, 3.675142472924797*^9, {3.675142526588629*^9, 3.675142561653178*^9}, { 3.675165470606161*^9, 3.675165473607375*^9}, 3.675165606395228*^9, 3.675165719889299*^9}, FontSlant->"Italic"], StyleBox[", ", FontSlant->"Italic"], Cell[BoxData[ RowBox[{ SubscriptBox["x", "2"], "[", "t_", "]"}]], CellChangeTimes->{{3.674160292476678*^9, 3.6741604908854628`*^9}, { 3.6741605236791077`*^9, 3.6741606562391872`*^9}, {3.674160692811895*^9, 3.674160755824778*^9}, {3.6741624046980667`*^9, 3.674162419626536*^9}, { 3.674162992877365*^9, 3.6741631435908737`*^9}, {3.6741632821843233`*^9, 3.674163300727083*^9}, {3.674163331844532*^9, 3.674163414439719*^9}, { 3.6741634957398167`*^9, 3.674163547754117*^9}, {3.6741636845501547`*^9, 3.674163780157792*^9}, {3.674163863740645*^9, 3.674163882123053*^9}, { 3.674163948675127*^9, 3.67416404076816*^9}, {3.6741642264097567`*^9, 3.674164491378042*^9}, {3.6741646105861063`*^9, 3.6741646184428368`*^9}, { 3.6742681599708*^9, 3.674268178943447*^9}, {3.674269424665573*^9, 3.674269490595039*^9}, {3.674270793961317*^9, 3.674270794998323*^9}, { 3.674272097971978*^9, 3.674272132749668*^9}, {3.674272267351851*^9, 3.6742722708329287`*^9}, {3.674272391078814*^9, 3.6742723953807087`*^9}, { 3.674273366505199*^9, 3.6742735187573643`*^9}, {3.674357220747098*^9, 3.674357284335194*^9}, {3.674357331182762*^9, 3.674357468853726*^9}, 3.6743579520234947`*^9, 3.674357984692107*^9, {3.674358376611821*^9, 3.674358381116907*^9}, {3.674358665750206*^9, 3.6743587945863123`*^9}, 3.6743588574119673`*^9, {3.674358902680781*^9, 3.6743589091088467`*^9}, { 3.674359183247808*^9, 3.6743592052499847`*^9}, {3.674359253030407*^9, 3.6743594286315393`*^9}, {3.674359481790189*^9, 3.674359563564921*^9}, { 3.674359643353977*^9, 3.674359645504423*^9}, {3.674420893962496*^9, 3.6744209284960403`*^9}, {3.6744210308545017`*^9, 3.6744210485857553`*^9}, {3.674434910726571*^9, 3.6744349329461613`*^9}, { 3.674435091270993*^9, 3.674435123058237*^9}, {3.674438581838372*^9, 3.6744385911304092`*^9}, {3.674446242889703*^9, 3.674446253071864*^9}, { 3.6747840415069237`*^9, 3.674784353004689*^9}, {3.674784467844358*^9, 3.6747846051269493`*^9}, {3.674784688913897*^9, 3.674784697200837*^9}, { 3.674784783869687*^9, 3.6747848010965548`*^9}, {3.6747848351304703`*^9, 3.6747848985471077`*^9}, {3.674784981915654*^9, 3.674785015801618*^9}, { 3.6747850459008827`*^9, 3.674785050943738*^9}, {3.6747850856472397`*^9, 3.6747852504968367`*^9}, {3.674785396274332*^9, 3.674785432034317*^9}, { 3.67478547298173*^9, 3.674785664421761*^9}, {3.674785701773831*^9, 3.6747857020410023`*^9}, {3.674785756074257*^9, 3.6747857685834703`*^9}, { 3.6747858884543333`*^9, 3.67478599831437*^9}, {3.674786152634613*^9, 3.674786156687315*^9}, {3.674786195091674*^9, 3.6747862092908297`*^9}, { 3.674786267034062*^9, 3.674786320864997*^9}, {3.674786353116428*^9, 3.6747865221641273`*^9}, {3.674786844512104*^9, 3.674786844873981*^9}, { 3.674786881263165*^9, 3.674786924395327*^9}, 3.674788231272493*^9, { 3.6747884993612537`*^9, 3.674788530474555*^9}, {3.6747933679632597`*^9, 3.6747933740736933`*^9}, {3.67479340760487*^9, 3.674793438640788*^9}, { 3.6747934760387793`*^9, 3.674793700188016*^9}, 3.67479580244715*^9, { 3.674827613505437*^9, 3.6748276148870983`*^9}, {3.6748276477122993`*^9, 3.674827715317089*^9}, {3.674827872992797*^9, 3.674827893883523*^9}, 3.674828011228805*^9, {3.674828171168847*^9, 3.674828171593581*^9}, { 3.674828372324902*^9, 3.674828372665906*^9}, {3.67482841263025*^9, 3.674828440646521*^9}, {3.67482931855618*^9, 3.674829345393776*^9}, { 3.674840401994667*^9, 3.674840470869055*^9}, {3.6748405046001167`*^9, 3.674840514139205*^9}, {3.674840565803711*^9, 3.674840565923005*^9}, { 3.674840664157021*^9, 3.674840703984748*^9}, {3.6748407528462763`*^9, 3.674840850892186*^9}, {3.674841496553205*^9, 3.674841585425138*^9}, { 3.674843674624325*^9, 3.674843767777124*^9}, {3.674843827919581*^9, 3.67484382998447*^9}, {3.674844003700325*^9, 3.674844033557939*^9}, { 3.674844068664823*^9, 3.674844069331147*^9}, {3.6748441280950127`*^9, 3.674844129425812*^9}, {3.674844269478094*^9, 3.6748443489456997`*^9}, { 3.674844512933198*^9, 3.674844531199339*^9}, {3.6748460339671803`*^9, 3.6748460610832167`*^9}, {3.6748461041453247`*^9, 3.674846130947921*^9}, { 3.6748462065474*^9, 3.674846240799514*^9}, {3.674846310083778*^9, 3.674846331378787*^9}, {3.6748463634329863`*^9, 3.674846436940092*^9}, 3.67484648337531*^9, {3.674846515668893*^9, 3.6748465185118027`*^9}, { 3.674846585042749*^9, 3.6748465854193296`*^9}, {3.674846747775753*^9, 3.674846753488679*^9}, {3.674846798544012*^9, 3.674846834435313*^9}, { 3.6748468741212482`*^9, 3.6748468857706823`*^9}, {3.6748469173725224`*^9, 3.674846920754773*^9}, {3.674846951004829*^9, 3.674846964152873*^9}, { 3.6748471549637403`*^9, 3.6748471553175173`*^9}, {3.6748474612342043`*^9, 3.674847482963669*^9}, {3.674856586292036*^9, 3.674856786013936*^9}, { 3.67485846652332*^9, 3.6748584735132303`*^9}, {3.674858582756301*^9, 3.6748585932488537`*^9}, {3.674859492541955*^9, 3.674859599794751*^9}, { 3.6748633647621803`*^9, 3.674863365063798*^9}, {3.6748653214043427`*^9, 3.674865329198524*^9}, {3.674865411906003*^9, 3.674865460118561*^9}, { 3.674865909793152*^9, 3.674865942621519*^9}, {3.674866468927582*^9, 3.674866482544911*^9}, {3.674866576902237*^9, 3.674866596655263*^9}, { 3.674866903134634*^9, 3.6748669232271442`*^9}, {3.6748670198037987`*^9, 3.6748670576667337`*^9}, 3.674867204968852*^9, {3.674867272208729*^9, 3.674867278355331*^9}, {3.6748678821814213`*^9, 3.674867893792232*^9}, { 3.674868603257327*^9, 3.674868620498337*^9}, {3.67486896167927*^9, 3.674868985935397*^9}, {3.67487689098943*^9, 3.6748769268448257`*^9}, { 3.674878099298979*^9, 3.674878112085659*^9}, 3.674878323560027*^9, { 3.6748802125233173`*^9, 3.67488022687031*^9}, {3.674992802636557*^9, 3.674992811451871*^9}, {3.675000431242332*^9, 3.675000451150758*^9}, { 3.675001625158511*^9, 3.6750016273792067`*^9}, {3.6750016618783607`*^9, 3.6750016653347273`*^9}, 3.675001731333033*^9, {3.675002342701433*^9, 3.6750023705621777`*^9}, {3.675002614941368*^9, 3.6750027184898567`*^9}, { 3.67500292377271*^9, 3.675002934137594*^9}, {3.675003014159993*^9, 3.6750030180706263`*^9}, {3.675003072391119*^9, 3.675003079521776*^9}, { 3.675003190876526*^9, 3.675003243919071*^9}, {3.675003668954453*^9, 3.675003685832632*^9}, {3.675004061872912*^9, 3.675004081858898*^9}, { 3.675009481607874*^9, 3.675009487127095*^9}, {3.675013575577291*^9, 3.675013625321157*^9}, {3.675013718616921*^9, 3.67501372158468*^9}, 3.6750142836135273`*^9, 3.6750187119256563`*^9, {3.675142159954422*^9, 3.675142173435412*^9}, {3.675142207709807*^9, 3.675142209802252*^9}, { 3.675142283975855*^9, 3.675142305302422*^9}, 3.675142361174559*^9, 3.675142472924797*^9, {3.675142526588629*^9, 3.675142561653178*^9}, { 3.675165470606161*^9, 3.675165473607375*^9}, 3.675165606395228*^9, 3.675165719889299*^9}, FontSlant->"Italic"], StyleBox[", ", FontSlant->"Italic"], Cell[BoxData[ RowBox[{ SubscriptBox["x", "3"], "[", "t_", "]"}]], CellChangeTimes->{{3.674160292476678*^9, 3.6741604908854628`*^9}, { 3.6741605236791077`*^9, 3.6741606562391872`*^9}, {3.674160692811895*^9, 3.674160755824778*^9}, {3.6741624046980667`*^9, 3.674162419626536*^9}, { 3.674162992877365*^9, 3.6741631435908737`*^9}, {3.6741632821843233`*^9, 3.674163300727083*^9}, {3.674163331844532*^9, 3.674163414439719*^9}, { 3.6741634957398167`*^9, 3.674163547754117*^9}, {3.6741636845501547`*^9, 3.674163780157792*^9}, {3.674163863740645*^9, 3.674163882123053*^9}, { 3.674163948675127*^9, 3.67416404076816*^9}, {3.6741642264097567`*^9, 3.674164491378042*^9}, {3.6741646105861063`*^9, 3.6741646184428368`*^9}, { 3.6742681599708*^9, 3.674268178943447*^9}, {3.674269424665573*^9, 3.674269490595039*^9}, {3.674270793961317*^9, 3.674270794998323*^9}, { 3.674272097971978*^9, 3.674272132749668*^9}, {3.674272267351851*^9, 3.6742722708329287`*^9}, {3.674272391078814*^9, 3.6742723953807087`*^9}, { 3.674273366505199*^9, 3.6742735187573643`*^9}, {3.674357220747098*^9, 3.674357284335194*^9}, {3.674357331182762*^9, 3.674357468853726*^9}, 3.6743579520234947`*^9, 3.674357984692107*^9, {3.674358376611821*^9, 3.674358381116907*^9}, {3.674358665750206*^9, 3.6743587945863123`*^9}, 3.6743588574119673`*^9, {3.674358902680781*^9, 3.6743589091088467`*^9}, { 3.674359183247808*^9, 3.6743592052499847`*^9}, {3.674359253030407*^9, 3.6743594286315393`*^9}, {3.674359481790189*^9, 3.674359563564921*^9}, { 3.674359643353977*^9, 3.674359645504423*^9}, {3.674420893962496*^9, 3.6744209284960403`*^9}, {3.6744210308545017`*^9, 3.6744210485857553`*^9}, {3.674434910726571*^9, 3.6744349329461613`*^9}, { 3.674435091270993*^9, 3.674435123058237*^9}, {3.674438581838372*^9, 3.6744385911304092`*^9}, {3.674446242889703*^9, 3.674446253071864*^9}, { 3.6747840415069237`*^9, 3.674784353004689*^9}, {3.674784467844358*^9, 3.6747846051269493`*^9}, {3.674784688913897*^9, 3.674784697200837*^9}, { 3.674784783869687*^9, 3.6747848010965548`*^9}, {3.6747848351304703`*^9, 3.6747848985471077`*^9}, {3.674784981915654*^9, 3.674785015801618*^9}, { 3.6747850459008827`*^9, 3.674785050943738*^9}, {3.6747850856472397`*^9, 3.6747852504968367`*^9}, {3.674785396274332*^9, 3.674785432034317*^9}, { 3.67478547298173*^9, 3.674785664421761*^9}, {3.674785701773831*^9, 3.6747857020410023`*^9}, {3.674785756074257*^9, 3.6747857685834703`*^9}, { 3.6747858884543333`*^9, 3.67478599831437*^9}, {3.674786152634613*^9, 3.674786156687315*^9}, {3.674786195091674*^9, 3.6747862092908297`*^9}, { 3.674786267034062*^9, 3.674786320864997*^9}, {3.674786353116428*^9, 3.6747865221641273`*^9}, {3.674786844512104*^9, 3.674786844873981*^9}, { 3.674786881263165*^9, 3.674786924395327*^9}, 3.674788231272493*^9, { 3.6747884993612537`*^9, 3.674788530474555*^9}, {3.6747933679632597`*^9, 3.6747933740736933`*^9}, {3.67479340760487*^9, 3.674793438640788*^9}, { 3.6747934760387793`*^9, 3.674793700188016*^9}, 3.67479580244715*^9, { 3.674827613505437*^9, 3.6748276148870983`*^9}, {3.6748276477122993`*^9, 3.674827715317089*^9}, {3.674827872992797*^9, 3.674827893883523*^9}, 3.674828011228805*^9, {3.674828171168847*^9, 3.674828171593581*^9}, { 3.674828372324902*^9, 3.674828372665906*^9}, {3.67482841263025*^9, 3.674828440646521*^9}, {3.67482931855618*^9, 3.674829345393776*^9}, { 3.674840401994667*^9, 3.674840470869055*^9}, {3.6748405046001167`*^9, 3.674840514139205*^9}, {3.674840565803711*^9, 3.674840565923005*^9}, { 3.674840664157021*^9, 3.674840703984748*^9}, {3.6748407528462763`*^9, 3.674840850892186*^9}, {3.674841496553205*^9, 3.674841585425138*^9}, { 3.674843674624325*^9, 3.674843767777124*^9}, {3.674843827919581*^9, 3.67484382998447*^9}, {3.674844003700325*^9, 3.674844033557939*^9}, { 3.674844068664823*^9, 3.674844069331147*^9}, {3.6748441280950127`*^9, 3.674844129425812*^9}, {3.674844269478094*^9, 3.6748443489456997`*^9}, { 3.674844512933198*^9, 3.674844531199339*^9}, {3.6748460339671803`*^9, 3.6748460610832167`*^9}, {3.6748461041453247`*^9, 3.674846130947921*^9}, { 3.6748462065474*^9, 3.674846240799514*^9}, {3.674846310083778*^9, 3.674846331378787*^9}, {3.6748463634329863`*^9, 3.674846436940092*^9}, 3.67484648337531*^9, {3.674846515668893*^9, 3.6748465185118027`*^9}, { 3.674846585042749*^9, 3.6748465854193296`*^9}, {3.674846747775753*^9, 3.674846753488679*^9}, {3.674846798544012*^9, 3.674846834435313*^9}, { 3.6748468741212482`*^9, 3.6748468857706823`*^9}, {3.6748469173725224`*^9, 3.674846920754773*^9}, {3.674846951004829*^9, 3.674846964152873*^9}, { 3.6748471549637403`*^9, 3.6748471553175173`*^9}, {3.6748474612342043`*^9, 3.674847482963669*^9}, {3.674856586292036*^9, 3.674856786013936*^9}, { 3.67485846652332*^9, 3.6748584735132303`*^9}, {3.674858582756301*^9, 3.6748585932488537`*^9}, {3.674859492541955*^9, 3.674859599794751*^9}, { 3.6748633647621803`*^9, 3.674863365063798*^9}, {3.6748653214043427`*^9, 3.674865329198524*^9}, {3.674865411906003*^9, 3.674865460118561*^9}, { 3.674865909793152*^9, 3.674865942621519*^9}, {3.674866468927582*^9, 3.674866482544911*^9}, {3.674866576902237*^9, 3.674866596655263*^9}, { 3.674866903134634*^9, 3.6748669232271442`*^9}, {3.6748670198037987`*^9, 3.6748670576667337`*^9}, 3.674867204968852*^9, {3.674867272208729*^9, 3.674867278355331*^9}, {3.6748678821814213`*^9, 3.674867893792232*^9}, { 3.674868603257327*^9, 3.674868620498337*^9}, {3.67486896167927*^9, 3.674868985935397*^9}, {3.67487689098943*^9, 3.6748769268448257`*^9}, { 3.674878099298979*^9, 3.674878112085659*^9}, 3.674878323560027*^9, { 3.6748802125233173`*^9, 3.67488022687031*^9}, {3.674992802636557*^9, 3.674992811451871*^9}, {3.675000431242332*^9, 3.675000451150758*^9}, { 3.675001625158511*^9, 3.6750016273792067`*^9}, {3.6750016618783607`*^9, 3.6750016653347273`*^9}, 3.675001731333033*^9, {3.675002342701433*^9, 3.6750023705621777`*^9}, {3.675002614941368*^9, 3.6750027184898567`*^9}, { 3.67500292377271*^9, 3.675002934137594*^9}, {3.675003014159993*^9, 3.6750030180706263`*^9}, {3.675003072391119*^9, 3.675003079521776*^9}, { 3.675003190876526*^9, 3.675003243919071*^9}, {3.675003668954453*^9, 3.675003685832632*^9}, {3.675004061872912*^9, 3.675004081858898*^9}, { 3.675009481607874*^9, 3.675009487127095*^9}, {3.675013575577291*^9, 3.675013625321157*^9}, {3.675013718616921*^9, 3.67501372158468*^9}, 3.6750142836135273`*^9, 3.6750187119256563`*^9, {3.675142159954422*^9, 3.675142173435412*^9}, {3.675142207709807*^9, 3.675142209802252*^9}, { 3.675142283975855*^9, 3.675142305302422*^9}, 3.675142361174559*^9, 3.675142472924797*^9, {3.675142526588629*^9, 3.675142561653178*^9}, { 3.675165470606161*^9, 3.675165473607375*^9}, 3.675165606395228*^9, 3.675165719889299*^9}, FontSlant->"Italic"], StyleBox[", ", FontSlant->"Italic"], Cell[BoxData[ RowBox[{ SubscriptBox["x", "4"], "[", "t_", "]"}]], CellChangeTimes->{{3.674160292476678*^9, 3.6741604908854628`*^9}, { 3.6741605236791077`*^9, 3.6741606562391872`*^9}, {3.674160692811895*^9, 3.674160755824778*^9}, {3.6741624046980667`*^9, 3.674162419626536*^9}, { 3.674162992877365*^9, 3.6741631435908737`*^9}, {3.6741632821843233`*^9, 3.674163300727083*^9}, {3.674163331844532*^9, 3.674163414439719*^9}, { 3.6741634957398167`*^9, 3.674163547754117*^9}, {3.6741636845501547`*^9, 3.674163780157792*^9}, {3.674163863740645*^9, 3.674163882123053*^9}, { 3.674163948675127*^9, 3.67416404076816*^9}, {3.6741642264097567`*^9, 3.674164491378042*^9}, {3.6741646105861063`*^9, 3.6741646184428368`*^9}, { 3.6742681599708*^9, 3.674268178943447*^9}, {3.674269424665573*^9, 3.674269490595039*^9}, {3.674270793961317*^9, 3.674270794998323*^9}, { 3.674272097971978*^9, 3.674272132749668*^9}, {3.674272267351851*^9, 3.6742722708329287`*^9}, {3.674272391078814*^9, 3.6742723953807087`*^9}, { 3.674273366505199*^9, 3.6742735187573643`*^9}, {3.674357220747098*^9, 3.674357284335194*^9}, {3.674357331182762*^9, 3.674357468853726*^9}, 3.6743579520234947`*^9, 3.674357984692107*^9, {3.674358376611821*^9, 3.674358381116907*^9}, {3.674358665750206*^9, 3.6743587945863123`*^9}, 3.6743588574119673`*^9, {3.674358902680781*^9, 3.6743589091088467`*^9}, { 3.674359183247808*^9, 3.6743592052499847`*^9}, {3.674359253030407*^9, 3.6743594286315393`*^9}, {3.674359481790189*^9, 3.674359563564921*^9}, { 3.674359643353977*^9, 3.674359645504423*^9}, {3.674420893962496*^9, 3.6744209284960403`*^9}, {3.6744210308545017`*^9, 3.6744210485857553`*^9}, {3.674434910726571*^9, 3.6744349329461613`*^9}, { 3.674435091270993*^9, 3.674435123058237*^9}, {3.674438581838372*^9, 3.6744385911304092`*^9}, {3.674446242889703*^9, 3.674446253071864*^9}, { 3.6747840415069237`*^9, 3.674784353004689*^9}, {3.674784467844358*^9, 3.6747846051269493`*^9}, {3.674784688913897*^9, 3.674784697200837*^9}, { 3.674784783869687*^9, 3.6747848010965548`*^9}, {3.6747848351304703`*^9, 3.6747848985471077`*^9}, {3.674784981915654*^9, 3.674785015801618*^9}, { 3.6747850459008827`*^9, 3.674785050943738*^9}, {3.6747850856472397`*^9, 3.6747852504968367`*^9}, {3.674785396274332*^9, 3.674785432034317*^9}, { 3.67478547298173*^9, 3.674785664421761*^9}, {3.674785701773831*^9, 3.6747857020410023`*^9}, {3.674785756074257*^9, 3.6747857685834703`*^9}, { 3.6747858884543333`*^9, 3.67478599831437*^9}, {3.674786152634613*^9, 3.674786156687315*^9}, {3.674786195091674*^9, 3.6747862092908297`*^9}, { 3.674786267034062*^9, 3.674786320864997*^9}, {3.674786353116428*^9, 3.6747865221641273`*^9}, {3.674786844512104*^9, 3.674786844873981*^9}, { 3.674786881263165*^9, 3.674786924395327*^9}, 3.674788231272493*^9, { 3.6747884993612537`*^9, 3.674788530474555*^9}, {3.6747933679632597`*^9, 3.6747933740736933`*^9}, {3.67479340760487*^9, 3.674793438640788*^9}, { 3.6747934760387793`*^9, 3.674793700188016*^9}, 3.67479580244715*^9, { 3.674827613505437*^9, 3.6748276148870983`*^9}, {3.6748276477122993`*^9, 3.674827715317089*^9}, {3.674827872992797*^9, 3.674827893883523*^9}, 3.674828011228805*^9, {3.674828171168847*^9, 3.674828171593581*^9}, { 3.674828372324902*^9, 3.674828372665906*^9}, {3.67482841263025*^9, 3.674828440646521*^9}, {3.67482931855618*^9, 3.674829345393776*^9}, { 3.674840401994667*^9, 3.674840470869055*^9}, {3.6748405046001167`*^9, 3.674840514139205*^9}, {3.674840565803711*^9, 3.674840565923005*^9}, { 3.674840664157021*^9, 3.674840703984748*^9}, {3.6748407528462763`*^9, 3.674840850892186*^9}, {3.674841496553205*^9, 3.674841585425138*^9}, { 3.674843674624325*^9, 3.674843767777124*^9}, {3.674843827919581*^9, 3.67484382998447*^9}, {3.674844003700325*^9, 3.674844033557939*^9}, { 3.674844068664823*^9, 3.674844069331147*^9}, {3.6748441280950127`*^9, 3.674844129425812*^9}, {3.674844269478094*^9, 3.6748443489456997`*^9}, { 3.674844512933198*^9, 3.674844531199339*^9}, {3.6748460339671803`*^9, 3.6748460610832167`*^9}, {3.6748461041453247`*^9, 3.674846130947921*^9}, { 3.6748462065474*^9, 3.674846240799514*^9}, {3.674846310083778*^9, 3.674846331378787*^9}, {3.6748463634329863`*^9, 3.674846436940092*^9}, 3.67484648337531*^9, {3.674846515668893*^9, 3.6748465185118027`*^9}, { 3.674846585042749*^9, 3.6748465854193296`*^9}, {3.674846747775753*^9, 3.674846753488679*^9}, {3.674846798544012*^9, 3.674846834435313*^9}, { 3.6748468741212482`*^9, 3.6748468857706823`*^9}, {3.6748469173725224`*^9, 3.674846920754773*^9}, {3.674846951004829*^9, 3.674846964152873*^9}, { 3.6748471549637403`*^9, 3.6748471553175173`*^9}, {3.6748474612342043`*^9, 3.674847482963669*^9}, {3.674856586292036*^9, 3.674856786013936*^9}, { 3.67485846652332*^9, 3.6748584735132303`*^9}, {3.674858582756301*^9, 3.6748585932488537`*^9}, {3.674859492541955*^9, 3.674859599794751*^9}, { 3.6748633647621803`*^9, 3.674863365063798*^9}, {3.6748653214043427`*^9, 3.674865329198524*^9}, {3.674865411906003*^9, 3.674865460118561*^9}, { 3.674865909793152*^9, 3.674865942621519*^9}, {3.674866468927582*^9, 3.674866482544911*^9}, {3.674866576902237*^9, 3.674866596655263*^9}, { 3.674866903134634*^9, 3.6748669232271442`*^9}, {3.6748670198037987`*^9, 3.6748670576667337`*^9}, 3.674867204968852*^9, {3.674867272208729*^9, 3.674867278355331*^9}, {3.6748678821814213`*^9, 3.674867893792232*^9}, { 3.674868603257327*^9, 3.674868620498337*^9}, {3.67486896167927*^9, 3.674868985935397*^9}, {3.67487689098943*^9, 3.6748769268448257`*^9}, { 3.674878099298979*^9, 3.674878112085659*^9}, 3.674878323560027*^9, { 3.6748802125233173`*^9, 3.67488022687031*^9}, {3.674992802636557*^9, 3.674992811451871*^9}, {3.675000431242332*^9, 3.675000451150758*^9}, { 3.675001625158511*^9, 3.6750016273792067`*^9}, {3.6750016618783607`*^9, 3.6750016653347273`*^9}, 3.675001731333033*^9, {3.675002342701433*^9, 3.6750023705621777`*^9}, {3.675002614941368*^9, 3.6750027184898567`*^9}, { 3.67500292377271*^9, 3.675002934137594*^9}, {3.675003014159993*^9, 3.6750030180706263`*^9}, {3.675003072391119*^9, 3.675003079521776*^9}, { 3.675003190876526*^9, 3.675003243919071*^9}, {3.675003668954453*^9, 3.675003685832632*^9}, {3.675004061872912*^9, 3.675004081858898*^9}, { 3.675009481607874*^9, 3.675009487127095*^9}, {3.675013575577291*^9, 3.675013625321157*^9}, {3.675013718616921*^9, 3.67501372158468*^9}, 3.6750142836135273`*^9, 3.6750187119256563`*^9, {3.675142159954422*^9, 3.675142173435412*^9}, {3.675142207709807*^9, 3.675142209802252*^9}, { 3.675142283975855*^9, 3.675142305302422*^9}, 3.675142361174559*^9, 3.675142472924797*^9, {3.675142526588629*^9, 3.675142561653178*^9}, { 3.675165470606161*^9, 3.675165473607375*^9}, 3.675165606395228*^9, 3.675165719889299*^9}, FontSlant->"Italic"], StyleBox[", ", FontSlant->"Italic"], Cell[BoxData[ RowBox[{ SubscriptBox["x", "5"], "[", "t_", "]"}]], CellChangeTimes->{{3.674160292476678*^9, 3.6741604908854628`*^9}, { 3.6741605236791077`*^9, 3.6741606562391872`*^9}, {3.674160692811895*^9, 3.674160755824778*^9}, {3.6741624046980667`*^9, 3.674162419626536*^9}, { 3.674162992877365*^9, 3.6741631435908737`*^9}, {3.6741632821843233`*^9, 3.674163300727083*^9}, {3.674163331844532*^9, 3.674163414439719*^9}, { 3.6741634957398167`*^9, 3.674163547754117*^9}, {3.6741636845501547`*^9, 3.674163780157792*^9}, {3.674163863740645*^9, 3.674163882123053*^9}, { 3.674163948675127*^9, 3.67416404076816*^9}, {3.6741642264097567`*^9, 3.674164491378042*^9}, {3.6741646105861063`*^9, 3.6741646184428368`*^9}, { 3.6742681599708*^9, 3.674268178943447*^9}, {3.674269424665573*^9, 3.674269490595039*^9}, {3.674270793961317*^9, 3.674270794998323*^9}, { 3.674272097971978*^9, 3.674272132749668*^9}, {3.674272267351851*^9, 3.6742722708329287`*^9}, {3.674272391078814*^9, 3.6742723953807087`*^9}, { 3.674273366505199*^9, 3.6742735187573643`*^9}, {3.674357220747098*^9, 3.674357284335194*^9}, {3.674357331182762*^9, 3.674357468853726*^9}, 3.6743579520234947`*^9, 3.674357984692107*^9, {3.674358376611821*^9, 3.674358381116907*^9}, {3.674358665750206*^9, 3.6743587945863123`*^9}, 3.6743588574119673`*^9, {3.674358902680781*^9, 3.6743589091088467`*^9}, { 3.674359183247808*^9, 3.6743592052499847`*^9}, {3.674359253030407*^9, 3.6743594286315393`*^9}, {3.674359481790189*^9, 3.674359563564921*^9}, { 3.674359643353977*^9, 3.674359645504423*^9}, {3.674420893962496*^9, 3.6744209284960403`*^9}, {3.6744210308545017`*^9, 3.6744210485857553`*^9}, {3.674434910726571*^9, 3.6744349329461613`*^9}, { 3.674435091270993*^9, 3.674435123058237*^9}, {3.674438581838372*^9, 3.6744385911304092`*^9}, {3.674446242889703*^9, 3.674446253071864*^9}, { 3.6747840415069237`*^9, 3.674784353004689*^9}, {3.674784467844358*^9, 3.6747846051269493`*^9}, {3.674784688913897*^9, 3.674784697200837*^9}, { 3.674784783869687*^9, 3.6747848010965548`*^9}, {3.6747848351304703`*^9, 3.6747848985471077`*^9}, {3.674784981915654*^9, 3.674785015801618*^9}, { 3.6747850459008827`*^9, 3.674785050943738*^9}, {3.6747850856472397`*^9, 3.6747852504968367`*^9}, {3.674785396274332*^9, 3.674785432034317*^9}, { 3.67478547298173*^9, 3.674785664421761*^9}, {3.674785701773831*^9, 3.6747857020410023`*^9}, {3.674785756074257*^9, 3.6747857685834703`*^9}, { 3.6747858884543333`*^9, 3.67478599831437*^9}, {3.674786152634613*^9, 3.674786156687315*^9}, {3.674786195091674*^9, 3.6747862092908297`*^9}, { 3.674786267034062*^9, 3.674786320864997*^9}, {3.674786353116428*^9, 3.6747865221641273`*^9}, {3.674786844512104*^9, 3.674786844873981*^9}, { 3.674786881263165*^9, 3.674786924395327*^9}, 3.674788231272493*^9, { 3.6747884993612537`*^9, 3.674788530474555*^9}, {3.6747933679632597`*^9, 3.6747933740736933`*^9}, {3.67479340760487*^9, 3.674793438640788*^9}, { 3.6747934760387793`*^9, 3.674793700188016*^9}, 3.67479580244715*^9, { 3.674827613505437*^9, 3.6748276148870983`*^9}, {3.6748276477122993`*^9, 3.674827715317089*^9}, {3.674827872992797*^9, 3.674827893883523*^9}, 3.674828011228805*^9, {3.674828171168847*^9, 3.674828171593581*^9}, { 3.674828372324902*^9, 3.674828372665906*^9}, {3.67482841263025*^9, 3.674828440646521*^9}, {3.67482931855618*^9, 3.674829345393776*^9}, { 3.674840401994667*^9, 3.674840470869055*^9}, {3.6748405046001167`*^9, 3.674840514139205*^9}, {3.674840565803711*^9, 3.674840565923005*^9}, { 3.674840664157021*^9, 3.674840703984748*^9}, {3.6748407528462763`*^9, 3.674840850892186*^9}, {3.674841496553205*^9, 3.674841585425138*^9}, { 3.674843674624325*^9, 3.674843767777124*^9}, {3.674843827919581*^9, 3.67484382998447*^9}, {3.674844003700325*^9, 3.674844033557939*^9}, { 3.674844068664823*^9, 3.674844069331147*^9}, {3.6748441280950127`*^9, 3.674844129425812*^9}, {3.674844269478094*^9, 3.6748443489456997`*^9}, { 3.674844512933198*^9, 3.674844531199339*^9}, {3.6748460339671803`*^9, 3.6748460610832167`*^9}, {3.6748461041453247`*^9, 3.674846130947921*^9}, { 3.6748462065474*^9, 3.674846240799514*^9}, {3.674846310083778*^9, 3.674846331378787*^9}, {3.6748463634329863`*^9, 3.674846436940092*^9}, 3.67484648337531*^9, {3.674846515668893*^9, 3.6748465185118027`*^9}, { 3.674846585042749*^9, 3.6748465854193296`*^9}, {3.674846747775753*^9, 3.674846753488679*^9}, {3.674846798544012*^9, 3.674846834435313*^9}, { 3.6748468741212482`*^9, 3.6748468857706823`*^9}, {3.6748469173725224`*^9, 3.674846920754773*^9}, {3.674846951004829*^9, 3.674846964152873*^9}, { 3.6748471549637403`*^9, 3.6748471553175173`*^9}, {3.6748474612342043`*^9, 3.674847482963669*^9}, {3.674856586292036*^9, 3.674856786013936*^9}, { 3.67485846652332*^9, 3.6748584735132303`*^9}, {3.674858582756301*^9, 3.6748585932488537`*^9}, {3.674859492541955*^9, 3.674859599794751*^9}, { 3.6748633647621803`*^9, 3.674863365063798*^9}, {3.6748653214043427`*^9, 3.674865329198524*^9}, {3.674865411906003*^9, 3.674865460118561*^9}, { 3.674865909793152*^9, 3.674865942621519*^9}, {3.674866468927582*^9, 3.674866482544911*^9}, {3.674866576902237*^9, 3.674866596655263*^9}, { 3.674866903134634*^9, 3.6748669232271442`*^9}, {3.6748670198037987`*^9, 3.6748670576667337`*^9}, 3.674867204968852*^9, {3.674867272208729*^9, 3.674867278355331*^9}, {3.6748678821814213`*^9, 3.674867893792232*^9}, { 3.674868603257327*^9, 3.674868620498337*^9}, {3.67486896167927*^9, 3.674868985935397*^9}, {3.67487689098943*^9, 3.6748769268448257`*^9}, { 3.674878099298979*^9, 3.674878112085659*^9}, 3.674878323560027*^9, { 3.6748802125233173`*^9, 3.67488022687031*^9}, {3.674992802636557*^9, 3.674992811451871*^9}, {3.675000431242332*^9, 3.675000451150758*^9}, { 3.675001625158511*^9, 3.6750016273792067`*^9}, {3.6750016618783607`*^9, 3.6750016653347273`*^9}, 3.675001731333033*^9, {3.675002342701433*^9, 3.6750023705621777`*^9}, {3.675002614941368*^9, 3.6750027184898567`*^9}, { 3.67500292377271*^9, 3.675002934137594*^9}, {3.675003014159993*^9, 3.6750030180706263`*^9}, {3.675003072391119*^9, 3.675003079521776*^9}, { 3.675003190876526*^9, 3.675003243919071*^9}, {3.675003668954453*^9, 3.675003685832632*^9}, {3.675004061872912*^9, 3.675004081858898*^9}, { 3.675009481607874*^9, 3.675009487127095*^9}, {3.675013575577291*^9, 3.675013625321157*^9}, {3.675013718616921*^9, 3.67501372158468*^9}, 3.6750142836135273`*^9, 3.6750187119256563`*^9, {3.675142159954422*^9, 3.675142173435412*^9}, {3.675142207709807*^9, 3.675142209802252*^9}, { 3.675142283975855*^9, 3.675142305302422*^9}, 3.675142361174559*^9, 3.675142472924797*^9, {3.675142526588629*^9, 3.675142561653178*^9}, { 3.675165470606161*^9, 3.675165473607375*^9}, 3.675165606395228*^9, 3.675165719889299*^9}, FontSlant->"Italic"], StyleBox[", ", FontSlant->"Italic"], Cell[BoxData[ RowBox[{ SubscriptBox["x", "6"], "[", "t_", "]"}]], CellChangeTimes->{{3.674160292476678*^9, 3.6741604908854628`*^9}, { 3.6741605236791077`*^9, 3.6741606562391872`*^9}, {3.674160692811895*^9, 3.674160755824778*^9}, {3.6741624046980667`*^9, 3.674162419626536*^9}, { 3.674162992877365*^9, 3.6741631435908737`*^9}, {3.6741632821843233`*^9, 3.674163300727083*^9}, {3.674163331844532*^9, 3.674163414439719*^9}, { 3.6741634957398167`*^9, 3.674163547754117*^9}, {3.6741636845501547`*^9, 3.674163780157792*^9}, {3.674163863740645*^9, 3.674163882123053*^9}, { 3.674163948675127*^9, 3.67416404076816*^9}, {3.6741642264097567`*^9, 3.674164491378042*^9}, {3.6741646105861063`*^9, 3.6741646184428368`*^9}, { 3.6742681599708*^9, 3.674268178943447*^9}, {3.674269424665573*^9, 3.674269490595039*^9}, {3.674270793961317*^9, 3.674270794998323*^9}, { 3.674272097971978*^9, 3.674272132749668*^9}, {3.674272267351851*^9, 3.6742722708329287`*^9}, {3.674272391078814*^9, 3.6742723953807087`*^9}, { 3.674273366505199*^9, 3.6742735187573643`*^9}, {3.674357220747098*^9, 3.674357284335194*^9}, {3.674357331182762*^9, 3.674357468853726*^9}, 3.6743579520234947`*^9, 3.674357984692107*^9, {3.674358376611821*^9, 3.674358381116907*^9}, {3.674358665750206*^9, 3.6743587945863123`*^9}, 3.6743588574119673`*^9, {3.674358902680781*^9, 3.6743589091088467`*^9}, { 3.674359183247808*^9, 3.6743592052499847`*^9}, {3.674359253030407*^9, 3.6743594286315393`*^9}, {3.674359481790189*^9, 3.674359563564921*^9}, { 3.674359643353977*^9, 3.674359645504423*^9}, {3.674420893962496*^9, 3.6744209284960403`*^9}, {3.6744210308545017`*^9, 3.6744210485857553`*^9}, {3.674434910726571*^9, 3.6744349329461613`*^9}, { 3.674435091270993*^9, 3.674435123058237*^9}, {3.674438581838372*^9, 3.6744385911304092`*^9}, {3.674446242889703*^9, 3.674446253071864*^9}, { 3.6747840415069237`*^9, 3.674784353004689*^9}, {3.674784467844358*^9, 3.6747846051269493`*^9}, {3.674784688913897*^9, 3.674784697200837*^9}, { 3.674784783869687*^9, 3.6747848010965548`*^9}, {3.6747848351304703`*^9, 3.6747848985471077`*^9}, {3.674784981915654*^9, 3.674785015801618*^9}, { 3.6747850459008827`*^9, 3.674785050943738*^9}, {3.6747850856472397`*^9, 3.6747852504968367`*^9}, {3.674785396274332*^9, 3.674785432034317*^9}, { 3.67478547298173*^9, 3.674785664421761*^9}, {3.674785701773831*^9, 3.6747857020410023`*^9}, {3.674785756074257*^9, 3.6747857685834703`*^9}, { 3.6747858884543333`*^9, 3.67478599831437*^9}, {3.674786152634613*^9, 3.674786156687315*^9}, {3.674786195091674*^9, 3.6747862092908297`*^9}, { 3.674786267034062*^9, 3.674786320864997*^9}, {3.674786353116428*^9, 3.6747865221641273`*^9}, {3.674786844512104*^9, 3.674786844873981*^9}, { 3.674786881263165*^9, 3.674786924395327*^9}, 3.674788231272493*^9, { 3.6747884993612537`*^9, 3.674788530474555*^9}, {3.6747933679632597`*^9, 3.6747933740736933`*^9}, {3.67479340760487*^9, 3.674793438640788*^9}, { 3.6747934760387793`*^9, 3.674793700188016*^9}, 3.67479580244715*^9, { 3.674827613505437*^9, 3.6748276148870983`*^9}, {3.6748276477122993`*^9, 3.674827715317089*^9}, {3.674827872992797*^9, 3.674827893883523*^9}, 3.674828011228805*^9, {3.674828171168847*^9, 3.674828171593581*^9}, { 3.674828372324902*^9, 3.674828372665906*^9}, {3.67482841263025*^9, 3.674828440646521*^9}, {3.67482931855618*^9, 3.674829345393776*^9}, { 3.674840401994667*^9, 3.674840470869055*^9}, {3.6748405046001167`*^9, 3.674840514139205*^9}, {3.674840565803711*^9, 3.674840565923005*^9}, { 3.674840664157021*^9, 3.674840703984748*^9}, {3.6748407528462763`*^9, 3.674840850892186*^9}, {3.674841496553205*^9, 3.674841585425138*^9}, { 3.674843674624325*^9, 3.674843767777124*^9}, {3.674843827919581*^9, 3.67484382998447*^9}, {3.674844003700325*^9, 3.674844033557939*^9}, { 3.674844068664823*^9, 3.674844069331147*^9}, {3.6748441280950127`*^9, 3.674844129425812*^9}, {3.674844269478094*^9, 3.6748443489456997`*^9}, { 3.674844512933198*^9, 3.674844531199339*^9}, {3.6748460339671803`*^9, 3.6748460610832167`*^9}, {3.6748461041453247`*^9, 3.674846130947921*^9}, { 3.6748462065474*^9, 3.674846240799514*^9}, {3.674846310083778*^9, 3.674846331378787*^9}, {3.6748463634329863`*^9, 3.674846436940092*^9}, 3.67484648337531*^9, {3.674846515668893*^9, 3.6748465185118027`*^9}, { 3.674846585042749*^9, 3.6748465854193296`*^9}, {3.674846747775753*^9, 3.674846753488679*^9}, {3.674846798544012*^9, 3.674846834435313*^9}, { 3.6748468741212482`*^9, 3.6748468857706823`*^9}, {3.6748469173725224`*^9, 3.674846920754773*^9}, {3.674846951004829*^9, 3.674846964152873*^9}, { 3.6748471549637403`*^9, 3.6748471553175173`*^9}, {3.6748474612342043`*^9, 3.674847482963669*^9}, {3.674856586292036*^9, 3.674856786013936*^9}, { 3.67485846652332*^9, 3.6748584735132303`*^9}, {3.674858582756301*^9, 3.6748585932488537`*^9}, {3.674859492541955*^9, 3.674859599794751*^9}, { 3.6748633647621803`*^9, 3.674863365063798*^9}, {3.6748653214043427`*^9, 3.674865329198524*^9}, {3.674865411906003*^9, 3.674865460118561*^9}, { 3.674865909793152*^9, 3.674865942621519*^9}, {3.674866468927582*^9, 3.674866482544911*^9}, {3.674866576902237*^9, 3.674866596655263*^9}, { 3.674866903134634*^9, 3.6748669232271442`*^9}, {3.6748670198037987`*^9, 3.6748670576667337`*^9}, 3.674867204968852*^9, {3.674867272208729*^9, 3.674867278355331*^9}, {3.6748678821814213`*^9, 3.674867893792232*^9}, { 3.674868603257327*^9, 3.674868620498337*^9}, {3.67486896167927*^9, 3.674868985935397*^9}, {3.67487689098943*^9, 3.6748769268448257`*^9}, { 3.674878099298979*^9, 3.674878112085659*^9}, 3.674878323560027*^9, { 3.6748802125233173`*^9, 3.67488022687031*^9}, {3.674992802636557*^9, 3.674992811451871*^9}, {3.675000431242332*^9, 3.675000451150758*^9}, { 3.675001625158511*^9, 3.6750016273792067`*^9}, {3.6750016618783607`*^9, 3.6750016653347273`*^9}, 3.675001731333033*^9, {3.675002342701433*^9, 3.6750023705621777`*^9}, {3.675002614941368*^9, 3.6750027184898567`*^9}, { 3.67500292377271*^9, 3.675002934137594*^9}, {3.675003014159993*^9, 3.6750030180706263`*^9}, {3.675003072391119*^9, 3.675003079521776*^9}, { 3.675003190876526*^9, 3.675003243919071*^9}, {3.675003668954453*^9, 3.675003685832632*^9}, {3.675004061872912*^9, 3.675004081858898*^9}, { 3.675009481607874*^9, 3.675009487127095*^9}, {3.675013575577291*^9, 3.675013625321157*^9}, {3.675013718616921*^9, 3.67501372158468*^9}, 3.6750142836135273`*^9, 3.6750187119256563`*^9, {3.675142159954422*^9, 3.675142173435412*^9}, {3.675142207709807*^9, 3.675142209802252*^9}, { 3.675142283975855*^9, 3.675142305302422*^9}, 3.675142361174559*^9, 3.675142472924797*^9, {3.675142526588629*^9, 3.675142561653178*^9}, { 3.675165470606161*^9, 3.675165473607375*^9}, 3.675165606395228*^9, 3.675165719889299*^9}, FontSlant->"Italic"], StyleBox["\n", FontSlant->"Italic"], "The functions defined in Theorem 3 of the paper. \nTry evaluating: ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "1"], "[", "t", "]"}], TraditionalForm]]], "\n\n", StyleBox["\[Mu][t_], \[Nu][t_]", FontSlant->"Italic"], "\nThe basis vectors of a rotating orthonormal frame defined just before \ Theorem 1 in the papre. \nTry evaluating: \[Mu][t]\n\n", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["A", "j_"], "[", "t_", "]"}], TraditionalForm]], FontSlant->"Italic"], StyleBox[", ", FontSlant->"Italic"], Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["B", "j_"], "[", "t_", "]"}], TraditionalForm]], FontSlant->"Italic"], StyleBox[", ", FontSlant->"Italic"], Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["C", "j_"], "[", "t_", "]"}], TraditionalForm]], FontSlant->"Italic"], StyleBox[", ", FontSlant->"Italic"], Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["D", "j_"], "[", "t_", "]"}], TraditionalForm]], FontSlant->"Italic"], "\nThe contact paths A[t], B[t], C[t], D[t], computed from the respective \ rotation path ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "j"], "[", "t", "]"}], TraditionalForm]]], ", i.e., ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["A", "1"], "[", "t", "]"}], TraditionalForm]]], " is calculated from ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "1"], "[", "t", "]"}], TraditionalForm]]], " according to equation (9) in the paper.\nTry evaluating: ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["C", "4"], "[", "t", "]"}], TraditionalForm]]], "\n\n", StyleBox["Gerverx[t_], GerverA[t_], GerverB[t_], GerverC[t_], GerverD[t_]", FontSlant->"Italic"], "\nGerverx[t] is the rotation path x(t) associated with Gerver\ \[CloseCurlyQuote]s sofa, defined in equation (25) in the paper. The \ remaining four functions are the contact paths associated with the same \ rotation path, obtained from it by substituting Gerverx[t] into the \ right-hand side of equations (9)-(12).\nTry evaluating: GerverD[0] to get the \ coordinates of one of the interesting points on the boundary of the sofa.\n\n", StyleBox["Ambix[t_], AmbiA[t_], AmbiB[t_], AmbiC[t_], AmbiD[t_]", FontSlant->"Italic"], "\nAmbix[t] is the rotation path x(t) associated with Gerver\ \[CloseCurlyQuote]s sofa, defined in equation (47) in the paper. The \ remaining four functions are the contact paths associated with the same \ rotation path, obtained from it by substituting Ambix[t] into the right-hand \ side of equations (9)-(12).\nTry evaluating: AmbiC[\[Pi]/2] to get the \ coordinates of the left endpoint of the shape \[CapitalSigma].\n\n", StyleBox["GerverEquations", FontSlant->"Italic"], "\nEquations (27)-(44) from the paper, the system of equations that need to \ be solved to get the numerical values of the parameters associated with \ Gerver\[CloseCurlyQuote]s sofa. This definition is used in Sections 6-7 of \ this notebook.\n\n", StyleBox["AmbidextrousEquations", FontSlant->"Italic"], "\nEquations (48)-(60) from the paper, the system of equations that need to \ be solved to get the numerical values of the parameters associated with \ Gerver\[CloseCurlyQuote]s sofa. This definition is used in Sections 9-10 of \ this notebook.\n\n", StyleBox["GerverAngle\[Phi]\nGerverAngle\[Theta]\n\ GerverPrecomputedNumericalArea\nGerverPrecomputedNumericalConstants\n", FontSlant->"Italic"], "These variables contain precomputed numerical values for the critical \ angles \[Phi] and \[Theta] and the remaining parameters associated with \ Gerver\[CloseCurlyQuote]s sofa. Useful for doing numerical computations, \ creating graphics of the sofa, etc.\n\n", StyleBox["AmbidextrousAngle\[Beta]\n\ AmbidextrousPrecomputedNumericalConstants\n", FontSlant->"Italic"], "These variables contain precomputed numerical values for the critical angle \ \[Beta] and the remaining parameters associated with the ambidextrous sofa \ shape \[CapitalSigma]..\n\n", StyleBox["AmbidextrousSymbolicBeta\nAmbidextrousSymbolicBetaAlternative\n\ AmbidextrousSymbolicTanBeta\nAmbidextrousSymbolicCosineBeta\n\ AmbidextrousSymbolicCosineBetaOverTwo\nAmbidextrousSymbolicSineBetaOverTwo\n\ AmbidextrousSymbolicaOne\nAmbidextrousSymbolicKappaOneOne\n\ AmbidextrousSymbolicKappaSixOne\nAmbidextrousSymbolicKappaFiveOne\n\ AmbidextrousSymbolicfOne\nAmbidextrousSymbolicfTwo\n\ AmbidextrousSymbolicAreaMinusBeta\nAmbidextrousSymbolicArea\n\ AmbidextrousSymbolicaSofaLength\n", FontSlant->"Italic"], "These variables contain closed form algebraic formulas the parameters \ associated with the ambidextrous sofa shape \[CapitalSigma].\n\n", StyleBox["GerverxNumerical[t_]\nGerverANumerical[t_]\nGerverBNumerical[t_]\n\ GerverCNumerical[t_]\nGerverDNumerical[t_]\n", FontSlant->"Italic"], "These functions are like Gerverx[t], GerverA[t], etc., except that the \ symbolic references to the parameters of Gerver\[CloseCurlyQuote]s sofa are \ substituted with their numerically computed values. Again useful for \ computations and graphics.\n\n", StyleBox["AmbixNumerical[t_]\nAmbiANumerical[t_]\nAmbiBNumerical[t_]\n\ AmbiCNumerical[t_]\nAmbiDNumerical[t_]\n", FontSlant->"Italic"], "These functions are like Ambix[t], AmbiA[t], etc., except that the symbolic \ references to the parameters of the shape \[CapitalSigma] are substituted \ with their numerically computed values.\n\n", StyleBox["SofaDefaultNumSubdivisionPoints\nSofaDefaultFillingColor\nSofa", FontSlant->"Italic"], "Hallway", StyleBox["DefaultFillingColor\nSquareSofaDefaultFillingColor\n\ SemicircleSofaDefaultFillingColor\nHammersleySofaDefaultFillingColor\n\ GerverSofaDefaultFillingColor\nAmbidextrousSofaDefaultFillingColor\n", FontSlant->"Italic"], "Definitions related to plotting graphics of various sofa shapes. For \ example, change the definition of SofaDefaultFillingColor (globally, or \ locally through a ReplaceAll[...] substitution) to create figures where the \ sofa interior is a different color.\n\n", StyleBox["Sofa", FontSlant->"Italic"], "Hallway", StyleBox["[armlength_]\nSofa", FontSlant->"Italic"], "Hallway", StyleBox["TwoCorners[armlength_]\n", FontSlant->"Italic"], "These functions return graphics primitives for plotting a hallway with \ either one or two right-angled corners. \nTry evaluating: ", StyleBox["Graphics[Sofa", FontSlant->"Italic"], "Hallway", StyleBox["[3]]", FontSlant->"Italic"], "\n\n", StyleBox["SquareSofa\nSemicircleSofa\nSemicircleSofaRotationPath\n\ HammersleyGeneralizedSofa[innerradius_]\nHammersleySofa\nGerverSofa\n\ AmbidextrousSofa\nOneSidedAmbidextrousSofa\n\ OneSidedAmbidextrousSofaWithReflection\n", FontSlant->"Italic"], "These variables contain graphics primitives for plotting the different \ kinds of sofa shapes described in the paper.\nTry evaluating:\n", StyleBox["Graphics[SemicircleSofa]\n\ Graphics[{HammersleyGeneralizedSofa[0.3], Sofa", FontSlant->"Italic"], "Hallway", StyleBox["[3]}]\n", FontSlant->"Italic"], "etc.\n\n", StyleBox["GerverSofaRotationPathDashedSegments\nGerverSofaNormalTickMarks\n\ AmbidextrousSofaRotationPathDashedSegments\nAmbidextrousSofaNormalTickMarks\n", FontSlant->"Italic"], "Variables that contain graphics primitives for interesting features \ associated with Gerver\[CloseCurlyQuote]s sofa and the shape \[CapitalSigma].\ \nTry evaluating: Graphics[{AmbidextrousSofa, \ AmbidextrousSofaNormalTickMarks}]\n\n", StyleBox["SofaPaperFigureSquareSemicircle\n\ SofaPaperFigureGerverSofaWithTicks\nSofaPaperFigureAmbidextrousSofaWithTicks\n\ SofaPaperFigureOneSidedAmbidextrousSofaWithReflection\n\ SofaPaperContactPathsFigure\nSofaPaperRotationPathFigure\n\ SofaPaperFigureHammersleySofa\n", FontSlant->"Italic"], "Figures I created for the paper.", StyleBox["\n", FontSlant->"Italic"], "\n", StyleBox["SofaVisualizationGeneralizedHammersleySofasAreas\n\ SofaVisualizationSquareSofaInHallway\n\ SofaVisualizationSemicircularSofaInHallway\n\ SofaVisualizationHammersleySofaInHallway\n\ SofaVisualizationGeneralizedHammersleySofasInHallway\n\ SofaVisualizationGerverSofaInHallway\n\ SofaVisualizationAmbidextrousSofaInHallway\nSofaVisualizationsCombined\n", FontSlant->"Italic"], "The interactive visualizations (see Section 14)." }], "Text", CellChangeTimes->{{3.6758631376126842`*^9, 3.675863150838286*^9}, 3.675863518931973*^9, 3.675882463459915*^9, {3.675882556730316*^9, 3.67588270518252*^9}, {3.675882809283866*^9, 3.675882871809107*^9}, { 3.675882906559821*^9, 3.675883395646997*^9}, {3.675883434902768*^9, 3.6758836004865913`*^9}, {3.675883756017557*^9, 3.675883763581522*^9}, { 3.675884771527939*^9, 3.675884815070147*^9}, {3.675884846789456*^9, 3.67588485782075*^9}, {3.6758850411137733`*^9, 3.675885129842991*^9}, { 3.67588518189675*^9, 3.6758852643326397`*^9}, {3.6758852951143208`*^9, 3.6758853101196527`*^9}, {3.6758854449158773`*^9, 3.675885462319668*^9}, { 3.675885518080597*^9, 3.67588555280583*^9}, {3.675885658114789*^9, 3.675885690171947*^9}, {3.675898775483279*^9, 3.6758987801582212`*^9}, 3.675898831001371*^9, {3.67634282853827*^9, 3.67634284800204*^9}, { 3.6767284679727097`*^9, 3.676728468202922*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["16. Change log", "Section", WholeCellGroupOpener->True, CellChangeTimes->{{3.676086261955944*^9, 3.6760862637560577`*^9}, { 3.676728686505946*^9, 3.6767286866988993`*^9}}, CellTags->"Section16"], Cell[CellGroupData[{ Cell["Version 1.0: released June 26, 2016", "Item", CellChangeTimes->{{3.676086381864563*^9, 3.676086423874817*^9}}], Cell["Initial version", "Subitem", CellChangeTimes->{{3.676086381864563*^9, 3.67608643349135*^9}}], Cell["Version 1.1: released June 28, 2016", "Item", CellChangeTimes->{{3.676086381864563*^9, 3.6760864109097853`*^9}}], Cell[TextData[{ "Added code in Section 10 to verify that ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"5", ",", "2"}]], "=", RowBox[{ SubscriptBox["\[Kappa]", RowBox[{"6", ",", "2"}]], "=", "0"}]}], TraditionalForm]]] }], "Subitem", CellChangeTimes->{{3.676086381864563*^9, 3.6760864683704357`*^9}}], Cell["Version 1.2: released July 6, 2016", "Item", CellChangeTimes->{{3.676211389790369*^9, 3.6762113961183987`*^9}, { 3.6763427203440723`*^9, 3.6763427203575706`*^9}, {3.676752535037545*^9, 3.676752538127398*^9}}], Cell[CellGroupData[{ Cell[TextData[{ "Added new interactive graphics visualizations ", StyleBox["SofaVisualizationSquareSofaInHallway", FontSlant->"Italic"], ", ", StyleBox["SofaVisualizationSemicircularSofaInHallway", FontSlant->"Italic"], ", ", StyleBox["SofaVisualizationHammersleySofaInHallway", FontSlant->"Italic"], ", and an \[OpenCurlyDoubleQuote]ultimate\[CloseCurlyDoubleQuote] \ visualization ", StyleBox["SofaVisualizationsCombined", FontSlant->"Italic"], " that combines the various different visualizations of sofas moving around \ a corner." }], "Subitem", CellChangeTimes->{{3.676211389790369*^9, 3.6762113961183987`*^9}, { 3.6763427203440723`*^9, 3.676342800822201*^9}, {3.6767284797633963`*^9, 3.676728479777542*^9}}], Cell["\<\ Added a new section, Section 13, in which an automated verification is given \ for the new claims that were added in the updated version of the paper about \ segments of the boundary of the shape \[CapitalSigma] lying on algebraic \ curves of degree 6.\ \>", "Subitem", CellChangeTimes->{{3.676211389790369*^9, 3.6762113961183987`*^9}, { 3.6763427203440723`*^9, 3.676342800822201*^9}, {3.6767284797633963`*^9, 3.676728587736046*^9}, {3.6770910122754087`*^9, 3.677091012297278*^9}}] }, Open ]], Cell["Version 1.3: released July 10, 2016", "Item", CellChangeTimes->{{3.676211389790369*^9, 3.6762113961183987`*^9}, { 3.6763427203440723`*^9, 3.676342800822201*^9}, {3.6767284797633963`*^9, 3.676728587736046*^9}, {3.6770910122754087`*^9, 3.677091030638278*^9}, { 3.677184173198482*^9, 3.677184175979526*^9}}], Cell[TextData[{ "Simplified the definitions of the constants ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["\[Gamma]", "1"], ",", SubscriptBox["\[Gamma]", "2"], ",", SubscriptBox["\[Gamma]", "3"], ",", SubscriptBox["\[Gamma]", "4"], ",", SubscriptBox["\[Gamma]", "5"], ",", SubscriptBox["\[Alpha]", "1"], ",", SubscriptBox["\[Alpha]", "2"], ",", SubscriptBox["\[Alpha]", "3"], ",", SubscriptBox["\[Alpha]", "4"]}], TraditionalForm]]], " and the polynomials P[X,Y], Q[X,Y], R[X,Y] in Section 13." }], "Subitem", CellChangeTimes->{{3.6770910414272623`*^9, 3.67709110555273*^9}, { 3.677171096213833*^9, 3.677171101579638*^9}, {3.677184190121271*^9, 3.6771841957040997`*^9}}] }, Open ]] }, Closed]] }, WindowSize->{1088, 669}, WindowMargins->{{84, Automatic}, {21, Automatic}}, PrintingCopies->1, PrintingPageRange->{1, Automatic}, ShowGroupOpener->True, FrontEndVersion->"10.3 for Mac OS X x86 (32-bit, 64-bit Kernel) (October 9, \ 2015)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{ "Section1"->{ Cell[6790, 205, 150, 3, 64, "Section", CellTags->"Section1"]}, "Section2"->{ Cell[9480, 253, 304, 6, 50, "Section", CellTags->"Section2"]}, "InitializationCode"->{ Cell[9787, 261, 244938, 6196, 14478, "Code", CellTags->"InitializationCode"]}, "Section3"->{ Cell[254762, 6462, 279, 5, 50, "Section", CellTags->"Section3"]}, "Section4"->{ Cell[258586, 6583, 252, 5, 50, "Section", CellTags->"Section4"]}, "Section5"->{ Cell[261209, 6664, 228, 4, 50, "Section", CellTags->"Section5"]}, "Section6"->{ Cell[268567, 6913, 356, 8, 50, "Section", CellTags->"Section6"]}, "Section7"->{ Cell[276135, 7124, 289, 7, 50, "Section", CellTags->"Section7"]}, "Section8"->{ Cell[285250, 7365, 243, 4, 50, "Section", CellTags->"Section8"]}, "Section9"->{ Cell[292418, 7573, 413, 9, 50, "Section", CellTags->"Section9"]}, "Section10"->{ Cell[298783, 7747, 338, 8, 50, "Section", CellTags->"Section10"]}, "Section11"->{ Cell[348122, 9137, 258, 5, 50, "Section", CellTags->"Section11"]}, "Section12"->{ Cell[377220, 9885, 286, 7, 50, "Section", CellTags->"Section12"]}, "Section13"->{ Cell[388020, 10220, 241, 6, 50, "Section", CellTags->"Section13"]}, "Section14"->{ Cell[412987, 11019, 279, 5, 50, "Section", CellTags->"Section14"]}, "Section15"->{ Cell[415091, 11072, 211, 4, 50, "Section", CellTags->"Section15"]}, "Section16"->{ Cell[468753, 11911, 205, 4, 50, "Section", CellTags->"Section16"]} } *) (*CellTagsIndex CellTagsIndex->{ {"Section1", 472648, 12022}, {"Section2", 472731, 12025}, {"InitializationCode", 472824, 12028}, {"Section3", 472923, 12031}, {"Section4", 473009, 12034}, {"Section5", 473095, 12037}, {"Section6", 473181, 12040}, {"Section7", 473267, 12043}, {"Section8", 473353, 12046}, {"Section9", 473439, 12049}, {"Section10", 473526, 12052}, {"Section11", 473614, 12055}, {"Section12", 473702, 12058}, {"Section13", 473790, 12061}, {"Section14", 473879, 12064}, {"Section15", 473968, 12067}, {"Section16", 474057, 12070} } *) (*NotebookFileOutline Notebook[{ Cell[558, 20, 2673, 76, 291, "Text"], Cell[3234, 98, 3484, 100, 413, "Text"], Cell[6721, 200, 44, 1, 4, "PageBreak", PageBreakBelow->True], Cell[CellGroupData[{ Cell[6790, 205, 150, 3, 64, "Section", CellTags->"Section1"], Cell[6943, 210, 2500, 38, 372, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[9480, 253, 304, 6, 50, "Section", CellTags->"Section2"], Cell[9787, 261, 244938, 6196, 14478, "Code", CellTags->"InitializationCode"] }, Closed]], Cell[CellGroupData[{ Cell[254762, 6462, 279, 5, 50, "Section", CellTags->"Section3"], Cell[255044, 6469, 2230, 73, 91, "Text"], Cell[257277, 6544, 98, 2, 28, "Input"], Cell[257378, 6548, 98, 2, 28, "Input"], Cell[257479, 6552, 98, 2, 28, "Input"], Cell[257580, 6556, 98, 2, 28, "Input"], Cell[257681, 6560, 98, 2, 28, "Input"], Cell[257782, 6564, 630, 10, 87, "Text"], Cell[258415, 6576, 134, 2, 28, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[258586, 6583, 252, 5, 50, "Section", CellTags->"Section4"], Cell[258841, 6590, 888, 27, 70, "Text"], Cell[259732, 6619, 96, 2, 28, "Input"], Cell[259831, 6623, 140, 3, 28, "Input"], Cell[259974, 6628, 162, 3, 28, "Input"], Cell[260139, 6633, 164, 3, 28, "Input"], Cell[260306, 6638, 164, 3, 28, "Input"], Cell[260473, 6643, 349, 6, 49, "Text"], Cell[260825, 6651, 182, 3, 28, "Input"], Cell[261010, 6656, 162, 3, 28, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[261209, 6664, 228, 4, 50, "Section", CellTags->"Section5"], Cell[261440, 6670, 608, 17, 53, "Text"], Cell[262051, 6689, 5903, 200, 115, "Input"], Cell[267957, 6891, 224, 4, 30, "Text"], Cell[268184, 6897, 346, 11, 35, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[268567, 6913, 356, 8, 50, "Section", CellTags->"Section6"], Cell[268926, 6923, 653, 12, 68, "Text"], Cell[269582, 6937, 208, 4, 30, "Text"], Cell[269793, 6943, 3168, 93, 115, "Input"], Cell[272964, 7038, 183, 4, 30, "Text"], Cell[273150, 7044, 2948, 75, 114, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[276135, 7124, 289, 7, 50, "Section", CellTags->"Section7"], Cell[276427, 7133, 1957, 46, 129, "Text"], Cell[278387, 7181, 159, 3, 30, "Text"], Cell[278549, 7186, 1809, 47, 94, "Input"], Cell[280361, 7235, 364, 6, 49, "Text"], Cell[280728, 7243, 853, 22, 63, "Input"], Cell[281584, 7267, 178, 4, 30, "Text"], Cell[281765, 7273, 58, 0, 28, "Input"], Cell[281826, 7275, 278, 5, 49, "Text"], Cell[282107, 7282, 3106, 78, 114, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[285250, 7365, 243, 4, 50, "Section", CellTags->"Section8"], Cell[285496, 7371, 983, 17, 106, "Text"], Cell[286482, 7390, 5899, 178, 269, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[292418, 7573, 413, 9, 50, "Section", CellTags->"Section9"], Cell[292834, 7584, 1290, 33, 72, "Text"], Cell[294127, 7619, 201, 4, 30, "Text"], Cell[294331, 7625, 4415, 117, 225, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[298783, 7747, 338, 8, 50, "Section", CellTags->"Section10"], Cell[299124, 7757, 904, 16, 89, "Text"], Cell[300031, 7775, 184, 4, 30, "Text"], Cell[300218, 7781, 1778, 41, 94, "Input"], Cell[301999, 7824, 289, 5, 49, "Text"], Cell[302291, 7831, 752, 13, 28, "Input"], Cell[303046, 7846, 653, 20, 45, "Text"], Cell[303702, 7868, 697, 19, 48, "Input"], Cell[304402, 7889, 327, 8, 28, "Input"], Cell[304732, 7899, 116, 1, 30, "Text"], Cell[304851, 7902, 307, 9, 28, "Input"], Cell[305161, 7913, 2330, 73, 122, "Text"], Cell[307494, 7988, 1973, 64, 162, "Input"], Cell[309470, 8054, 1526, 50, 63, "Text"], Cell[310999, 8106, 792, 26, 89, "Input"], Cell[311794, 8134, 904, 31, 59, "Text"], Cell[312701, 8167, 384, 9, 55, "Input"], Cell[313088, 8178, 337, 12, 40, "Text"], Cell[313428, 8192, 434, 12, 70, "Input"], Cell[313865, 8206, 270, 8, 40, "Text"], Cell[314138, 8216, 527, 14, 92, "Input"], Cell[314668, 8232, 455, 11, 69, "Input"], Cell[315126, 8245, 422, 11, 63, "Input"], Cell[315551, 8258, 837, 26, 66, "Input"], Cell[316391, 8286, 1209, 38, 90, "Text"], Cell[317603, 8326, 220, 6, 28, "Input"], Cell[317826, 8334, 849, 25, 61, "Text"], Cell[318678, 8361, 568, 16, 104, "Input"], Cell[319249, 8379, 211, 4, 30, "Text"], Cell[319463, 8385, 92, 1, 28, "Input"], Cell[319558, 8388, 684, 24, 57, "Text"], Cell[320245, 8414, 576, 22, 34, "Text"], Cell[320824, 8438, 645, 19, 35, "Input"], Cell[321472, 8459, 702, 20, 58, "Text"], Cell[322177, 8481, 377, 11, 49, "Input"], Cell[322557, 8494, 690, 22, 69, "Text"], Cell[323250, 8518, 1263, 36, 104, "Input"], Cell[324516, 8556, 690, 22, 63, "Text"], Cell[325209, 8580, 988, 29, 112, "Input"], Cell[326200, 8611, 556, 18, 38, "Text"], Cell[326759, 8631, 378, 11, 48, "Input"], Cell[327140, 8644, 1265, 36, 104, "Input"], Cell[328408, 8682, 976, 29, 112, "Input"], Cell[329387, 8713, 715, 23, 59, "Text"], Cell[330105, 8738, 226, 6, 28, "Input"], Cell[330334, 8746, 14302, 273, 175, "Text"], Cell[344639, 9021, 1444, 47, 189, "Input"], Cell[346086, 9070, 585, 19, 34, "Text"], Cell[346674, 9091, 452, 12, 48, "Input"], Cell[347129, 9105, 956, 27, 91, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[348122, 9137, 258, 5, 50, "Section", CellTags->"Section11"], Cell[348383, 9144, 851, 24, 94, "Text"], Cell[349237, 9170, 466, 10, 49, "Text"], Cell[349706, 9182, 4167, 131, 199, "Input"], Cell[353876, 9315, 213, 4, 30, "Text"], Cell[354092, 9321, 56, 0, 28, "Input"], Cell[354151, 9323, 312, 5, 49, "Text"], Cell[354466, 9330, 351, 11, 28, "Input"], Cell[354820, 9343, 600, 9, 68, "Text"], Cell[355423, 9354, 835, 23, 46, "Input"], Cell[356261, 9379, 239, 4, 30, "Text"], Cell[356503, 9385, 1067, 30, 97, "Input"], Cell[357573, 9417, 230, 4, 30, "Text"], Cell[357806, 9423, 162, 4, 28, "Input"], Cell[357971, 9429, 10203, 196, 129, "Text"], Cell[368177, 9627, 942, 26, 99, "Input"], Cell[369122, 9655, 508, 11, 51, "Text"], Cell[369633, 9668, 4898, 135, 264, "Input"], Cell[374534, 9805, 441, 9, 49, "Text"], Cell[374978, 9816, 47, 0, 28, "Input"], Cell[375028, 9818, 583, 12, 68, "Text"], Cell[375614, 9832, 134, 2, 28, "Input"], Cell[375751, 9836, 831, 23, 56, "Text"], Cell[376585, 9861, 491, 16, 41, "Input"], Cell[377079, 9879, 104, 1, 30, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[377220, 9885, 286, 7, 50, "Section", CellTags->"Section12"], Cell[377509, 9894, 307, 5, 49, "Text"], Cell[377819, 9901, 558, 9, 68, "Text"], Cell[378380, 9912, 8878, 280, 909, "Input"], Cell[387261, 10194, 228, 4, 30, "Text"], Cell[387492, 10200, 491, 15, 28, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[388020, 10220, 241, 6, 50, "Section", CellTags->"Section13"], Cell[388264, 10228, 653, 20, 32, "Text"], Cell[CellGroupData[{ Cell[388942, 10252, 191, 3, 44, "Subsection"], Cell[389136, 10257, 891, 22, 52, "Text"], Cell[390030, 10281, 4424, 146, 366, "Input"], Cell[394457, 10429, 297, 6, 30, "Text"], Cell[394757, 10437, 512, 13, 31, "Input"], Cell[395272, 10452, 675, 19, 31, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[395984, 10476, 189, 3, 36, "Subsection"], Cell[396176, 10481, 340, 6, 49, "Text"], Cell[396519, 10489, 2676, 88, 94, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[399232, 10582, 495, 16, 37, "Subsection"], Cell[399730, 10600, 1449, 49, 61, "Text"], Cell[401182, 10651, 1151, 39, 98, "Input"], Cell[402336, 10692, 136, 1, 30, "Text"], Cell[402475, 10695, 55, 0, 28, "Input"], Cell[402533, 10697, 54, 0, 28, "Input"], Cell[402590, 10699, 54, 0, 28, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[402681, 10704, 315, 9, 37, "Subsection"], Cell[402999, 10715, 522, 12, 51, "Text"], Cell[403524, 10729, 779, 27, 68, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[404340, 10761, 315, 9, 37, "Subsection"], Cell[404658, 10772, 1678, 36, 177, "Text"], Cell[406339, 10810, 2434, 74, 273, "Input"], Cell[408776, 10886, 190, 4, 30, "Text"], Cell[408969, 10892, 185, 3, 28, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[409191, 10900, 319, 9, 37, "Subsection"], Cell[409513, 10911, 573, 14, 53, "Text"], Cell[410089, 10927, 2463, 75, 285, "Input"], Cell[412555, 11004, 190, 4, 30, "Text"], Cell[412748, 11010, 190, 3, 28, "Input"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[412987, 11019, 279, 5, 50, "Section", CellTags->"Section14"], Cell[413269, 11026, 534, 9, 68, "Text"], Cell[413806, 11037, 140, 1, 28, "Input"], Cell[413949, 11040, 128, 1, 28, "Input"], Cell[414080, 11043, 133, 1, 28, "Input"], Cell[414216, 11046, 134, 1, 28, "Input"], Cell[414353, 11049, 78, 0, 28, "Input"], Cell[414434, 11051, 62, 0, 28, "Input"], Cell[414499, 11053, 136, 1, 28, "Input"], Cell[414638, 11056, 248, 5, 30, "Text"], Cell[414889, 11063, 118, 1, 28, "Input"], Cell[415010, 11066, 44, 1, 1, "PageBreak", PageBreakBelow->True] }, Closed]], Cell[CellGroupData[{ Cell[415091, 11072, 211, 4, 50, "Section", CellTags->"Section15"], Cell[415305, 11078, 1334, 21, 163, "Text"], Cell[416642, 11101, 52074, 805, 2515, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[468753, 11911, 205, 4, 50, "Section", CellTags->"Section16"], Cell[CellGroupData[{ Cell[468983, 11919, 117, 1, 28, "Item"], Cell[469103, 11922, 99, 1, 26, "Subitem"], Cell[469205, 11925, 119, 1, 28, "Item"], Cell[469327, 11928, 357, 11, 28, "Subitem"], Cell[469687, 11941, 220, 3, 28, "Item"], Cell[CellGroupData[{ Cell[469932, 11948, 737, 19, 58, "Subitem"], Cell[470672, 11969, 497, 8, 41, "Subitem"] }, Open ]], Cell[471184, 11980, 318, 4, 28, "Item"], Cell[471505, 11986, 731, 18, 26, "Subitem"] }, Open ]] }, Closed]] } ] *) (* End of internal cache information *)