Cell[CellGroupData[{Cell[BoxData[ RowBox[{"Manipulate", "[", RowBox[{ RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ "\[CapitalDelta]", ",", "By", ",", "Bx", ",", "Bz", ",", "vB1", ",", "vB1n", ",", "vB2", ",", "Ax", ",", "Ay", ",", "Az", ",", "vA", ",", "vAn", ",", "Px", ",", "Py", ",", "Pz", ",", "vP", ",", "vQ", ",", "w", ",", "v", ",", "u", ",", "Cx", ",", "Cy", ",", "Cz", ",", "vC1", ",", "vC1n", ",", "vC2", ",", " ", "cylinderA", ",", "cylinderB", ",", "cylinderC", ",", "polygonA", ",", "polygonB", ",", " ", "cub", ",", "cuba", ",", "cubb", ",", " ", "angle", ",", " ", "cubeFaceTransforms", ",", " ", "circularTransforms", ",", "allTransforms"}], " ", "}"}], ",", " ", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"lift", ">", RowBox[{ RowBox[{"Cos", "[", RowBox[{"Pi", "/", "polygon"}], "]"}], "/", RowBox[{"Tan", "[", RowBox[{"Pi", "/", "polygon"}], "]"}]}]}], ",", RowBox[{"lift", "=", RowBox[{ RowBox[{"N", "@", RowBox[{"Cos", "[", RowBox[{"Pi", "/", "polygon"}], "]"}]}], "/", RowBox[{"Tan", "[", RowBox[{"Pi", "/", "polygon"}], "]"}]}]}]}], "]"}], ";", " ", RowBox[{"\[CapitalDelta]", "=", RowBox[{ RowBox[{"N", "@", "Pi"}], "/", "polygon"}]}], ";", " ", RowBox[{"By", "=", "lift"}], ";", RowBox[{"Bx", "=", RowBox[{"By", " ", RowBox[{"Tan", "[", "\[CapitalDelta]", "]"}]}]}], ";", RowBox[{"Bz", " ", "=", "0"}], ";", " ", RowBox[{"vB1", "=", RowBox[{"{", RowBox[{ RowBox[{"-", "Bx"}], ",", "By", ",", "Bz", ",", "1."}], "}"}]}], ";", " ", RowBox[{"vB2", "=", RowBox[{"{", RowBox[{"Bx", ",", "By", ",", "Bz", ",", "1."}], "}"}]}], ";", " ", RowBox[{"Ay", "=", RowBox[{"By", "+", RowBox[{"Sqrt", "[", RowBox[{"1", "-", RowBox[{"Bx", "^", "2"}]}], "]"}]}]}], ";", RowBox[{"Ax", "=", "0"}], ";", RowBox[{"Az", "=", "0"}], ";", " ", RowBox[{"vA", "=", RowBox[{"{", RowBox[{"Ax", ",", "Ay", ",", "Az", ",", "1."}], "}"}]}], ";", " ", RowBox[{"Px", "=", RowBox[{"Py", " ", RowBox[{"Tan", "[", "\[CapitalDelta]", "]"}]}]}], ";", RowBox[{"Py", "=", "4"}], ";", RowBox[{"Pz", "=", "0"}], ";", " ", RowBox[{"vP", "=", RowBox[{"{", RowBox[{ RowBox[{"-", "Px"}], ",", "Py", ",", "Pz", ",", "1."}], "}"}]}], ";", " ", RowBox[{"vQ", "=", RowBox[{"{", RowBox[{"Px", ",", "Py", ",", "Pz", ",", "1."}], "}"}]}], ";", " ", RowBox[{"w", "=", RowBox[{"Ay", " ", RowBox[{"Sin", "[", "\[CapitalDelta]", "]"}]}]}], ";", RowBox[{"v", "=", RowBox[{"Sqrt", "[", RowBox[{"1", "-", RowBox[{"w", "^", "2"}]}], "]"}]}], ";", RowBox[{"u", "=", RowBox[{"Sqrt", "[", RowBox[{ RowBox[{"Bx", "^", "2"}], "+", RowBox[{"By", "^", "2"}]}], "]"}]}], ";", RowBox[{"Cx", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", "v"}], "+", "u"}], ")"}], RowBox[{"Sin", "[", "\[CapitalDelta]", "]"}]}]}], ";", " ", RowBox[{"Cy", "=", RowBox[{"Cx", "/", RowBox[{"Tan", "[", "\[CapitalDelta]", "]"}]}]}], ";", RowBox[{"Cz", "=", "0"}], ";", " ", RowBox[{"vC1", "=", RowBox[{"{", RowBox[{"Cx", ",", "Cy", ",", "Cz", ",", "1."}], "}"}]}], ";", " ", RowBox[{"vC2", "=", RowBox[{"{", RowBox[{ RowBox[{"-", "Cx"}], ",", "Cy", ",", "Cz", ",", "1."}], "}"}]}], ";", " ", RowBox[{"vAn", "=", RowBox[{"{", RowBox[{"Ax", ",", "Ay", ",", "0.05", ",", "1."}], "}"}]}], ";", " ", RowBox[{"vC1n", "=", RowBox[{"{", RowBox[{"Cx", ",", "Cy", ",", RowBox[{"Cz", "+", "0.03"}], ",", "1."}], "}"}]}], ";", " ", RowBox[{"vB1n", "=", RowBox[{"{", RowBox[{ RowBox[{"-", "Bx"}], ",", "By", ",", RowBox[{"Bz", "+", "0.03"}], ",", "1."}], "}"}]}], ";", " ", " ", RowBox[{"cylinderA", " ", "=", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "Ay", ",", RowBox[{"-", "0.05"}], ",", "1."}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "Ay", ",", "0.05", ",", "1."}], "}"}]}], "}"}]}], ";", " ", RowBox[{"cylinderB", " ", "=", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"Bx", ",", "By", ",", RowBox[{"-", "0.1"}], ",", "1."}], "}"}], ",", RowBox[{"{", RowBox[{"Bx", ",", "By", ",", "0.1", ",", "1."}], "}"}]}], "}"}]}], ";", " ", RowBox[{"cylinderC", " ", "=", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"Cx", ",", "Cy", ",", RowBox[{"-", "0.1"}], ",", "1."}], "}"}], ",", RowBox[{"{", RowBox[{"Cx", ",", "Cy", ",", "0.1", ",", "1."}], "}"}]}], "}"}]}], ";", " ", RowBox[{"polygonA", " ", "=", " ", RowBox[{"{", RowBox[{"vAn", ",", "vC1n", ",", "vB1n"}], "}"}]}], ";", " ", RowBox[{"polygonB", " ", "=", " ", RowBox[{"{", RowBox[{"vA", ",", "vC2", ",", "vB2"}], "}"}]}], ";", " ", " ", RowBox[{"circularTransforms", " ", "=", RowBox[{"Chop", "@", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"angle", " ", "=", RowBox[{"i", " ", "2", " ", "\[CapitalDelta]"}]}], ";", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "angle", "]"}], ",", RowBox[{"-", RowBox[{"Sin", "[", "angle", "]"}]}], ",", "0.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Sin", "[", "angle", "]"}], ",", RowBox[{"Cos", "[", "angle", "]"}], ",", "0.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", "0.", ",", "1.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", "0.", ",", "0.", ",", "1."}], "}"}]}], "}"}]}], " ", ",", RowBox[{"{", RowBox[{"i", ",", "polygon"}], "}"}]}], "]"}]}]}], ";", " ", " ", RowBox[{"cubeFaceTransforms", " ", "=", " ", RowBox[{"Chop", "@", " ", RowBox[{"Join", "[", " ", RowBox[{ RowBox[{"{", " ", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1.", ",", "0.", ",", "0.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", "1.", ",", "0.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", "0.", ",", "1.", ",", "Cy"}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", "0.", ",", "0.", ",", "1."}], "}"}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1.", ",", "0.", ",", "0.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", RowBox[{"-", "1."}], ",", "0.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", "0.", ",", RowBox[{"-", "1."}], ",", RowBox[{"-", "Cy"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", "0.", ",", "0.", ",", "1."}], "}"}]}], "}"}]}], " ", "}"}], ",", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"angle", " ", "=", " ", RowBox[{"i", " ", "2", " ", RowBox[{"Pi", "/", "4."}]}]}], ";", " ", RowBox[{"{", RowBox[{ RowBox[{"{", " ", RowBox[{ RowBox[{"Cos", "[", "angle", "]"}], ",", "0.", ",", " ", RowBox[{"Sin", "[", "angle", "]"}], ",", RowBox[{ RowBox[{"-", " ", "Cy"}], " ", RowBox[{"Sin", "[", "angle", "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Sin", "[", "angle", "]"}], ",", "0.", ",", RowBox[{"-", RowBox[{"Cos", "[", "angle", "]"}]}], ",", " ", RowBox[{"Cy", " ", RowBox[{"Cos", "[", "angle", "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", "1.`", ",", "0.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", "0.", ",", "0.", ",", "1.`"}], "}"}]}], "}"}]}], ",", " ", RowBox[{"{", RowBox[{"i", ",", "4"}], "}"}]}], "]"}]}], " ", "]"}]}]}], ";", " ", " ", RowBox[{"allTransforms", " ", "=", " ", RowBox[{"Flatten", "[", RowBox[{ RowBox[{"Outer", "[", RowBox[{ "Dot", ",", "cubeFaceTransforms", ",", "circularTransforms", ",", "1"}], "]"}], ",", "1"}], "]"}]}], ";", " ", " ", RowBox[{"cub", "=", RowBox[{ RowBox[{"PolyhedronData", "[", "\"\\"", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ";", " ", RowBox[{"cuba", "=", RowBox[{"{", RowBox[{ RowBox[{"Opacity", "[", "op", "]"}], ",", RowBox[{"Scale", "[", RowBox[{"cub", ",", RowBox[{"1.8", " ", "Cy", " ", RowBox[{"{", RowBox[{"1", ",", "1", ",", "1"}], "}"}]}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "]"}]}], "}"}]}], ";", " ", RowBox[{"cubb", "=", RowBox[{"Scale", "[", RowBox[{"cub", ",", RowBox[{"3", " ", RowBox[{"{", RowBox[{"1", ",", "1", ",", "1"}], "}"}]}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "]"}]}], ";", " ", " ", RowBox[{"Graphics3D", "[", RowBox[{ RowBox[{"{", " ", RowBox[{ RowBox[{"RGBColor", "[", RowBox[{"1", ",", ".47", ",", "0"}], "]"}], ",", " ", RowBox[{"Cylinder", "[", " ", RowBox[{ RowBox[{"Map", "[", RowBox[{"Most", ",", RowBox[{"Outer", "[", " ", RowBox[{ "Dot", ",", "allTransforms", ",", "cylinderA", ",", "1"}], "]"}], ",", RowBox[{"{", "2", "}"}]}], "]"}], " ", ",", RowBox[{"Dynamic", "[", "size", "]"}]}], "]"}], ",", " ", RowBox[{"RGBColor", "[", RowBox[{".12", ",", ".61", ",", ".78"}], "]"}], ",", " ", RowBox[{"Cylinder", "[", " ", RowBox[{ RowBox[{"Map", "[", RowBox[{"Most", ",", RowBox[{"Outer", "[", " ", RowBox[{ "Dot", ",", "allTransforms", ",", "cylinderB", ",", "1"}], "]"}], ",", RowBox[{"{", "2", "}"}]}], "]"}], " ", ",", RowBox[{"Dynamic", "[", "size1", "]"}]}], "]"}], ",", " ", RowBox[{"RGBColor", "[", RowBox[{"1", ",", ".71", ",", "0"}], "]"}], ",", " ", RowBox[{"Cylinder", "[", " ", RowBox[{ RowBox[{"Map", "[", RowBox[{"Most", ",", RowBox[{"Outer", "[", " ", RowBox[{ "Dot", ",", "allTransforms", ",", "cylinderC", ",", "1"}], "]"}], ",", RowBox[{"{", "2", "}"}]}], "]"}], " ", ",", RowBox[{"Dynamic", "[", "size1", "]"}]}], "]"}], ",", " ", RowBox[{"RGBColor", "[", RowBox[{".7", ",", ".89", ",", ".64"}], "]"}], ",", RowBox[{"Polygon", "[", RowBox[{"Map", "[", RowBox[{"Most", ",", RowBox[{"Outer", "[", " ", RowBox[{ "Dot", ",", "allTransforms", ",", "polygonA", ",", "1"}], "]"}], ",", RowBox[{"{", "2", "}"}]}], "]"}], "]"}], ",", " ", RowBox[{"RGBColor", "[", RowBox[{"1", ",", ".71", ",", "0"}], "]"}], ",", RowBox[{"Polygon", "[", RowBox[{"Map", "[", RowBox[{"Most", ",", RowBox[{"Outer", "[", " ", RowBox[{ "Dot", ",", "allTransforms", ",", "polygonB", ",", "1"}], "]"}], ",", RowBox[{"{", "2", "}"}]}], "]"}], "]"}], ",", " ", "White", ",", "cuba", ",", "cubb"}], "}"}], " ", ",", " ", RowBox[{"SphericalRegion", "->", "True"}], ",", " ", RowBox[{"ViewPoint", "->", RowBox[{"{", RowBox[{"3", ",", RowBox[{"-", "6"}], ",", "2"}], "}"}]}], ",", " ", RowBox[{"ViewAngle", "->", RowBox[{"Pi", "/", "15."}]}], ",", " ", RowBox[{"Background", "->", RowBox[{"RGBColor", "[", RowBox[{"0.9", ",", "1", ",", "1"}], "]"}]}], ",", " ", RowBox[{"Boxed", "->", "False"}], ",", " ", RowBox[{"ImageSize", "->", "420"}]}], "]"}]}]}], " ", "]"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"lift", ",", "1", ",", "\"\\""}], "}"}], ",", "0", ",", RowBox[{ RowBox[{"Cos", "[", RowBox[{"Pi", "/", "polygon"}], "]"}], "/", RowBox[{"Tan", "[", RowBox[{"Pi", "/", "polygon"}], "]"}]}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "size", ",", "0.12", ",", "\"\\""}], "}"}], ",", "0.05", ",", "0.4", ",", RowBox[{"Appearance", "->", "\"\\""}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"size1", ",", "0.1", ",", "\"\\""}], "}"}], ",", "0.05", ",", "0.4", ",", RowBox[{"Appearance", "->", "\"\\""}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"polygon", ",", "16", ",", "\"\\""}], "}"}], ",", RowBox[{"{", RowBox[{"8", ",", "16", ",", "24"}], "}"}], ",", RowBox[{"ImageSize", "->", "Tiny"}], ",", " ", RowBox[{"ControlPlacement", "->", "Left"}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"op", ",", "1", ",", "\"\\""}], "}"}], ",", "1", ",", "0", ",", RowBox[{"ImageSize", "->", "Tiny"}], ",", " ", RowBox[{"ControlPlacement", "->", "Left"}]}], "}"}], ",", " ", RowBox[{"TrackedSymbols", ":>", RowBox[{"{", RowBox[{ "lift", ",", "polygon", ",", "size", ",", "size1", ",", "op"}], "}"}]}]}], "]"}]], "Input", CellGroupingRules->{"GroupTogetherGrouping", 10000.}, CellChangeTimes->{{3.38034751490625*^9, 3.380347533890625*^9}, { 3.38034771503125*^9, 3.380347724953125*^9}, {3.380347817765625*^9, 3.380347820046875*^9}, {3.380347888640625*^9, 3.3803479053125*^9}, 3.380347977015625*^9, {3.38034806321875*^9, 3.380348107328125*^9}, {3.380348148125*^9, 3.380348186421875*^9}, { 3.380348242578125*^9, 3.380348292390625*^9}, {3.3803483450625*^9, 3.380348372875*^9}, {3.380348417453125*^9, 3.38034845603125*^9}, { 3.380348493015625*^9, 3.380348498703125*^9}, {3.38034853821875*^9, 3.380348558703125*^9}, 3.380349238328125*^9, {3.3803493004375*^9, 3.38034932259375*^9}, {3.38034940684375*^9, 3.380349479578125*^9}, {3.380350179*^9, 3.380350204984375*^9}, 3.38035033478125*^9, {3.380350919328125*^9, 3.38035104140625*^9}, { 3.380351073953125*^9, 3.38035108109375*^9}, {3.38035121665625*^9, 3.380351247703125*^9}, {3.38035129275*^9, 3.38035132846875*^9}, { 3.38035141840625*^9, 3.380351420984375*^9}, {3.38035146646875*^9, 3.380351502296875*^9}, {3.380351606796875*^9, 3.38035164071875*^9}, {3.380351699609375*^9, 3.3803517005625*^9}, 3.38035180090625*^9, 3.3803518431875*^9, {3.38035203746875*^9, 3.380352077828125*^9}, {3.3803521179375*^9, 3.380352146359375*^9}, {3.3803522736875*^9, 3.380352282796875*^9}, {3.380352315703125*^9, 3.38035233503125*^9}, 3.380352408578125*^9, {3.380352609515625*^9, 3.380352619984375*^9}, {3.380352650625*^9, 3.380352656109375*^9}, { 3.380352746625*^9, 3.380352765734375*^9}, {3.380352798234375*^9, 3.380352843234375*^9}, {3.3803528848125*^9, 3.380352907953125*^9}, {3.380352989546875*^9, 3.38035300359375*^9}, {3.380353046640625*^9, 3.380353094828125*^9}, {3.380353161109375*^9, 3.380353162140625*^9}, {3.38035320590625*^9, 3.380353231578125*^9}, {3.380353306984375*^9, 3.38035334940625*^9}, {3.38035339190625*^9, 3.38035342728125*^9}, { 3.38035350840625*^9, 3.380353516125*^9}, {3.38035355153125*^9, 3.380353555875*^9}, {3.3803535888125*^9, 3.380353618953125*^9}, { 3.38035365775*^9, 3.380353670546875*^9}, {3.380353725828125*^9, 3.38035373071875*^9}, {3.38035378309375*^9, 3.38035384603125*^9}, { 3.380353903859375*^9, 3.3803539068125*^9}, {3.38035396546875*^9, 3.38035398228125*^9}, 3.380354018171875*^9, {3.3803540581875*^9, 3.38035406809375*^9}, {3.380354144140625*^9, 3.380354145140625*^9}, {3.38035419675*^9, 3.3803542301875*^9}, 3.3803542615625*^9, {3.380354364078125*^9, 3.380354375*^9}, { 3.38035445221875*^9, 3.380354487171875*^9}, {3.3803545214375*^9, 3.380354534640625*^9}, {3.3803545836875*^9, 3.380354647296875*^9}, {3.380354715265625*^9, 3.380354849671875*^9}, {3.380355169375*^9, 3.38035517503125*^9}, { 3.38035529659375*^9, 3.380355297734375*^9}, {3.38035534034375*^9, 3.3803553806875*^9}, {3.380355421578125*^9, 3.380355429578125*^9}, {3.380355461640625*^9, 3.380355462328125*^9}, {3.3803554966875*^9, 3.38035552178125*^9}, { 3.380355747984375*^9, 3.38035576728125*^9}, {3.380355905734375*^9, 3.3803559095625*^9}, {3.3803641539375*^9, 3.380364154765625*^9}, 3.38036423084375*^9, {3.38036427559375*^9, 3.380364383296875*^9}, { 3.380364502390625*^9, 3.380364577734375*^9}, {3.3803646726875*^9, 3.380364758296875*^9}, 3.38036485184375*^9, {3.380364934546875*^9, 3.380364979640625*^9}, {3.380365015140625*^9, 3.3803650391875*^9}, {3.380365164546875*^9, 3.380365270890625*^9}, {3.38036538*^9, 3.380365402421875*^9}, { 3.3803654393125*^9, 3.380365481515625*^9}, {3.3803655196875*^9, 3.380365526875*^9}, {3.380365576421875*^9, 3.380365581*^9}, { 3.380365686609375*^9, 3.380365689296875*^9}, {3.380365737328125*^9, 3.380365742421875*^9}, {3.38036577509375*^9, 3.380365807578125*^9}, {3.380365841921875*^9, 3.3803658435625*^9}, {3.380365922921875*^9, 3.38036593996875*^9}, { 3.380367252140625*^9, 3.38036727828125*^9}, {3.38037231465625*^9, 3.38037239684375*^9}, {3.3803724274375*^9, 3.38037245403125*^9}, { 3.380372543265625*^9, 3.3803725818125*^9}, {3.380372621625*^9, 3.380372666546875*^9}, {3.380372808546875*^9, 3.380372861828125*^9}, {3.380372950953125*^9, 3.3803730809375*^9}, {3.3803731256875*^9, 3.380373126921875*^9}, { 3.380373175421875*^9, 3.38037320515625*^9}, {3.38037329425*^9, 3.38037332615625*^9}, {3.38037335703125*^9, 3.38037335928125*^9}, { 3.380373411421875*^9, 3.380373424484375*^9}, {3.380373466*^9, 3.380373477296875*^9}, {3.3803735523125*^9, 3.380373559109375*^9}, {3.380374801484375*^9, 3.38037486*^9}, { 3.380374921875*^9, 3.380374937046875*^9}, {3.380374991640625*^9, 3.38037500790625*^9}, 3.3803750383125*^9, {3.380375145640625*^9, 3.380375150625*^9}, {3.380375392015625*^9, 3.38037539315625*^9}, { 3.380375456609375*^9, 3.38037561325*^9}, {3.380375700640625*^9, 3.380375758078125*^9}, {3.38037584353125*^9, 3.380375846203125*^9}, {3.38037591090625*^9, 3.380375912578125*^9}, {3.38037595453125*^9, 3.3803759819375*^9}, { 3.380376051765625*^9, 3.38037608959375*^9}, {3.3803762089375*^9, 3.3803762095*^9}, 3.3822934820404835`*^9, {3.3822935694779835`*^9, 3.3822935766342335`*^9}, {3.3822936338842335`*^9, 3.3822936371186085`*^9}, {3.383744568984375*^9, 3.383744772609375*^9}, {3.38374480828125*^9, 3.3837448298125*^9}, 3.3847077399741507`*^9, {3.384798336610811*^9, 3.384798338720186*^9}, {3.384798386610811*^9, 3.384798388704561*^9}, {3.507662347338261*^9, 3.507662374380965*^9}, {3.5076648203105335`*^9, 3.5076648211556177`*^9}, 3.75978437624719*^9}, CellID->173070274], Cell[BoxData[ TagBox[ StyleBox[ DynamicModuleBox[{$CellContext`lift$$ = 1, $CellContext`op$$ = 1, $CellContext`polygon$$ = 16, $CellContext`size$$ = 0.12, $CellContext`size1$$ = 0.1, Typeset`show$$ = True, Typeset`bookmarkList$$ = {}, Typeset`bookmarkMode$$ = "Menu", Typeset`animator$$, Typeset`animvar$$ = 1, Typeset`name$$ = "\"untitled\"", Typeset`specs$$ = {{{ Hold[$CellContext`lift$$], 1, "lift"}, 0, Dynamic[ Cos[Pi/$CellContext`polygon$$]/Tan[ Pi/$CellContext`polygon$$]]}, {{ Hold[$CellContext`size$$], 0.12, "diameters of pivot"}, 0.05, 0.4}, {{ Hold[$CellContext`size1$$], 0.1, "diameter of nodes"}, 0.05, 0.4}, {{ Hold[$CellContext`polygon$$], 16, "scissors"}, {8, 16, 24}}, {{ Hold[$CellContext`op$$], 1, "opacity"}, 1, 0}}, Typeset`size$$ = {420., {208., 212.}}, Typeset`update$$ = 0, Typeset`initDone$$, Typeset`skipInitDone$$ = True, $CellContext`lift$804$$ = 0, $CellContext`size$805$$ = 0, $CellContext`size1$806$$ = 0, $CellContext`polygon$807$$ = 0, $CellContext`op$808$$ = 0}, DynamicBox[Manipulate`ManipulateBoxes[ 1, StandardForm, "Variables" :> {$CellContext`lift$$ = 1, $CellContext`op$$ = 1, $CellContext`polygon$$ = 16, $CellContext`size$$ = 0.12, $CellContext`size1$$ = 0.1}, "ControllerVariables" :> { Hold[$CellContext`lift$$, $CellContext`lift$804$$, 0], Hold[$CellContext`size$$, $CellContext`size$805$$, 0], Hold[$CellContext`size1$$, $CellContext`size1$806$$, 0], Hold[$CellContext`polygon$$, $CellContext`polygon$807$$, 0], Hold[$CellContext`op$$, $CellContext`op$808$$, 0]}, "OtherVariables" :> { Typeset`show$$, Typeset`bookmarkList$$, Typeset`bookmarkMode$$, Typeset`animator$$, Typeset`animvar$$, Typeset`name$$, Typeset`specs$$, Typeset`size$$, Typeset`update$$, Typeset`initDone$$, Typeset`skipInitDone$$}, "Body" :> Module[{$CellContext`\[CapitalDelta]$, $CellContext`By$, \ $CellContext`Bx$, $CellContext`Bz$, $CellContext`vB1$, \ $CellContext`vB1n$, $CellContext`vB2$, $CellContext`Ax$, \ $CellContext`Ay$, $CellContext`Az$, $CellContext`vA$, \ $CellContext`vAn$, $CellContext`Px$, $CellContext`Py$, \ $CellContext`Pz$, $CellContext`vP$, $CellContext`vQ$, \ $CellContext`w$, $CellContext`v$, $CellContext`u$, $CellContext`Cx$, \ $CellContext`Cy$, $CellContext`Cz$, $CellContext`vC1$, \ $CellContext`vC1n$, $CellContext`vC2$, $CellContext`cylinderA$, \ $CellContext`cylinderB$, $CellContext`cylinderC$, \ $CellContext`polygonA$, $CellContext`polygonB$, $CellContext`cub$, \ $CellContext`cuba$, $CellContext`cubb$, $CellContext`angle$, \ $CellContext`cubeFaceTransforms$, $CellContext`circularTransforms$, \ $CellContext`allTransforms$}, If[$CellContext`lift$$ > Cos[Pi/$CellContext`polygon$$]/Tan[ Pi/$CellContext`polygon$$], $CellContext`lift$$ = N[ Cos[Pi/$CellContext`polygon$$]]/Tan[ Pi/$CellContext`polygon$$]]; $CellContext`\[CapitalDelta]$ = N[Pi]/$CellContext`polygon$$; $CellContext`By$ = \ $CellContext`lift$$; $CellContext`Bx$ = $CellContext`By$ Tan[$CellContext`\[CapitalDelta]$]; $CellContext`Bz$ = 0; $CellContext`vB1$ = {-$CellContext`Bx$, $CellContext`By$, \ $CellContext`Bz$, 1.}; $CellContext`vB2$ = {$CellContext`Bx$, \ $CellContext`By$, $CellContext`Bz$, 1.}; $CellContext`Ay$ = $CellContext`By$ + Sqrt[1 - $CellContext`Bx$^2]; $CellContext`Ax$ = 0; $CellContext`Az$ = 0; $CellContext`vA$ = {$CellContext`Ax$, $CellContext`Ay$, \ $CellContext`Az$, 1.}; $CellContext`Px$ = $CellContext`Py$ Tan[$CellContext`\[CapitalDelta]$]; $CellContext`Py$ = 4; $CellContext`Pz$ = 0; $CellContext`vP$ = {-$CellContext`Px$, $CellContext`Py$, \ $CellContext`Pz$, 1.}; $CellContext`vQ$ = {$CellContext`Px$, \ $CellContext`Py$, $CellContext`Pz$, 1.}; $CellContext`w$ = $CellContext`Ay$ Sin[$CellContext`\[CapitalDelta]$]; $CellContext`v$ = Sqrt[1 - $CellContext`w$^2]; $CellContext`u$ = Sqrt[$CellContext`Bx$^2 + $CellContext`By$^2]; \ $CellContext`Cx$ = (2 $CellContext`v$ + $CellContext`u$) Sin[$CellContext`\[CapitalDelta]$]; $CellContext`Cy$ = \ $CellContext`Cx$/Tan[$CellContext`\[CapitalDelta]$]; $CellContext`Cz$ = 0; $CellContext`vC1$ = {$CellContext`Cx$, $CellContext`Cy$, \ $CellContext`Cz$, 1.}; $CellContext`vC2$ = {-$CellContext`Cx$, \ $CellContext`Cy$, $CellContext`Cz$, 1.}; $CellContext`vAn$ = {$CellContext`Ax$, \ $CellContext`Ay$, 0.05, 1.}; $CellContext`vC1n$ = {$CellContext`Cx$, \ $CellContext`Cy$, $CellContext`Cz$ + 0.03, 1.}; $CellContext`vB1n$ = {-$CellContext`Bx$, \ $CellContext`By$, $CellContext`Bz$ + 0.03, 1.}; $CellContext`cylinderA$ = {{ 0, $CellContext`Ay$, -0.05, 1.}, { 0, $CellContext`Ay$, 0.05, 1.}}; $CellContext`cylinderB$ = {{$CellContext`Bx$, \ $CellContext`By$, -0.1, 1.}, {$CellContext`Bx$, $CellContext`By$, 0.1, 1.}}; $CellContext`cylinderC$ = {{$CellContext`Cx$, \ $CellContext`Cy$, -0.1, 1.}, {$CellContext`Cx$, $CellContext`Cy$, 0.1, 1.}}; $CellContext`polygonA$ = {$CellContext`vAn$, \ $CellContext`vC1n$, $CellContext`vB1n$}; $CellContext`polygonB$ = \ {$CellContext`vA$, $CellContext`vC2$, $CellContext`vB2$}; \ $CellContext`circularTransforms$ = Chop[ Table[$CellContext`angle$ = ($CellContext`i 2) $CellContext`\[CapitalDelta]$; {{ Cos[$CellContext`angle$], -Sin[$CellContext`angle$], 0., 0.}, { Sin[$CellContext`angle$], Cos[$CellContext`angle$], 0., 0.}, {0., 0., 1., 0.}, { 0., 0., 0., 1.}}, {$CellContext`i, $CellContext`polygon$$}]]; \ $CellContext`cubeFaceTransforms$ = Chop[ Join[{{{1., 0., 0., 0.}, {0., 1., 0., 0.}, { 0., 0., 1., $CellContext`Cy$}, {0., 0., 0., 1.}}, {{1., 0., 0., 0.}, {0., -1., 0., 0.}, { 0., 0., -1., -$CellContext`Cy$}, {0., 0., 0., 1.}}}, Table[$CellContext`angle$ = ($CellContext`i 2) (Pi/4.); {{ Cos[$CellContext`angle$], 0., Sin[$CellContext`angle$], (-$CellContext`Cy$) Sin[$CellContext`angle$]}, { Sin[$CellContext`angle$], 0., - Cos[$CellContext`angle$], $CellContext`Cy$ Cos[$CellContext`angle$]}, {0., 1., 0., 0.}, {0., 0., 0., 1.}}, {$CellContext`i, 4}]]]; $CellContext`allTransforms$ = Flatten[ Outer[ Dot, $CellContext`cubeFaceTransforms$, \ $CellContext`circularTransforms$, 1], 1]; $CellContext`cub$ = Part[ PolyhedronData["Cube"], 1]; $CellContext`cuba$ = { Opacity[$CellContext`op$$], Scale[$CellContext`cub$, (1.8 $CellContext`Cy$) {1, 1, 1}, {0, 0, 0}]}; $CellContext`cubb$ = Scale[$CellContext`cub$, 3 {1, 1, 1}, {0, 0, 0}]; Graphics3D[{ RGBColor[1, 0.47, 0], Cylinder[ Map[Most, Outer[ Dot, $CellContext`allTransforms$, \ $CellContext`cylinderA$, 1], {2}], Dynamic[$CellContext`size$$]], RGBColor[0.12, 0.61, 0.78], Cylinder[ Map[Most, Outer[ Dot, $CellContext`allTransforms$, \ $CellContext`cylinderB$, 1], {2}], Dynamic[$CellContext`size1$$]], RGBColor[1, 0.71, 0], Cylinder[ Map[Most, Outer[ Dot, $CellContext`allTransforms$, \ $CellContext`cylinderC$, 1], {2}], Dynamic[$CellContext`size1$$]], RGBColor[0.7, 0.89, 0.64], Polygon[ Map[Most, Outer[ Dot, $CellContext`allTransforms$, $CellContext`polygonA$, 1], {2}]], RGBColor[1, 0.71, 0], Polygon[ Map[Most, Outer[ Dot, $CellContext`allTransforms$, $CellContext`polygonB$, 1], {2}]], White, $CellContext`cuba$, $CellContext`cubb$}, SphericalRegion -> True, ViewPoint -> {3, -6, 2}, ViewAngle -> Pi/15., Background -> RGBColor[0.9, 1, 1], Boxed -> False, ImageSize -> 420]], "Specifications" :> {{{$CellContext`lift$$, 1, "lift"}, 0, Dynamic[ Cos[Pi/$CellContext`polygon$$]/Tan[ Pi/$CellContext`polygon$$]]}, {{$CellContext`size$$, 0.12, "diameters of pivot"}, 0.05, 0.4, Appearance -> "Labeled"}, {{$CellContext`size1$$, 0.1, "diameter of nodes"}, 0.05, 0.4, Appearance -> "Labeled"}, {{$CellContext`polygon$$, 16, "scissors"}, {8, 16, 24}, ImageSize -> Tiny, ControlPlacement -> Left}, {{$CellContext`op$$, 1, "opacity"}, 1, 0, ImageSize -> Tiny, ControlPlacement -> Left}}, "Options" :> { TrackedSymbols :> {$CellContext`lift$$, \ $CellContext`polygon$$, $CellContext`size$$, $CellContext`size1$$, \ $CellContext`op$$}}, "DefaultOptions" :> {ControllerLinking -> True}], ImageSizeCache->{589., {281., 287.}}, SingleEvaluation->True], Deinitialization:>None, DynamicModuleValues:>{}, SynchronousInitialization->True, UnsavedVariables:>{Typeset`initDone$$}, UntrackedVariables:>{Typeset`size$$}], "Manipulate", Deployed->True, StripOnInput->False], Manipulate`InterpretManipulate[1]]], "Output", CellGroupingRules->{"GroupTogetherGrouping", 10000.}, CellChangeTimes->{3.759784376247546*^9}, CellID->34715564] }, {2}]]