(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 46167, 1316] NotebookOptionsPosition[ 44190, 1243] NotebookOutlinePosition[ 44666, 1262] CellTagsIndexPosition[ 44623, 1259] WindowFrame->Normal ContainsDynamic->False*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["mQhull:convexHull Example", "Title"], Cell[CellGroupData[{ Cell["\<\ \[Copyright]2006 (click to the right for licensing information and details)\ \>", "Subsubsection"], Cell[TextData[{ "\[Copyright]2006 California Institute of Technology.\nAll Rights Reserved.\n\ \n", StyleBox["This library is free software; you can redistribute it and/or \ modify it under the terms of the GNU Lesser Public License as published by \ the Free Software Foundation; either version 2.1 of the License, or any later \ version.\n\nThis library is distributed in the hope that it will be useful, \ but WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF \ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. The software and \ documentation provided hereunder is on an \"as is\" basis, and the \ California Institute of Technology has no obligations to provide maintenance, \ support, updates, enhancements or modifications. In no event shall the \ California Institute of Technology be liable to any party for direct, \ indirect, special, incidental or consequential damages, including lost \ profits, arising out of the use of this software and its documentation, even \ if the California Institute of Technology have been advised of the \ possibility of such damage. See the GNU Lesser General Public License for \ more details.\n\nYou should have received a copy of the GNU Lesser General \ Public License along with this library; if not, write to the Free Software \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.\n\n \ The original code contained here was initially developed by:\n\n \tBruce E. \ Shapiro\n \tBiological Network Modeling Center\n \tDivision of Biology, Mail \ Code 139-74\n \tCalifornia Institute of Technology\n \tPasadena, CA, 91125, \ USA\n \tbshapiro at caltech dot edu", FontSize->12] }], "Text"], Cell["19 Nov 2007 updated for version 6 ", "Text", CellChangeTimes->{{3.404489730068894*^9, 3.404489751908959*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["Define a set of points", "Section"], Cell[BoxData[ RowBox[{ RowBox[{"points", "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"2.1", ",", "2.1", ",", "3."}], "}"}], ",", RowBox[{"{", RowBox[{"9.4", ",", "4.2", ",", RowBox[{"-", "1.2"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "2.3"}], ",", "10.1", ",", RowBox[{"-", "2.2"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.3"}], ",", "6.6", ",", RowBox[{"-", "3.2"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "6.1"}], ",", RowBox[{"-", "6.4"}], ",", "0.9"}], "}"}], ",", RowBox[{"{", RowBox[{"5.7", ",", RowBox[{"-", "7.1"}], ",", "3.3"}], "}"}], ",", RowBox[{"{", RowBox[{"1.5", ",", "1.5", ",", "12."}], "}"}], ",", RowBox[{"{", RowBox[{"10.4", ",", "6.8", ",", "14.1"}], "}"}], ",", RowBox[{"{", RowBox[{"5.4", ",", "11.", ",", "14."}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.8"}], ",", "3.6", ",", "9."}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4.9"}], ",", "1.", ",", "15."}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.7"}], ",", RowBox[{"-", "7.4"}], ",", "11."}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", RowBox[{"-", "11.6"}]}], "}"}], ",", RowBox[{"{", RowBox[{"2.4", ",", RowBox[{"-", "9.7"}], ",", RowBox[{"-", "14.6"}]}], "}"}], ",", RowBox[{"{", RowBox[{"9.3", ",", RowBox[{"-", "3.6"}], ",", RowBox[{"-", "8.5"}]}], "}"}], ",", RowBox[{"{", RowBox[{"6.8", ",", "7.3", ",", RowBox[{"-", "13.7"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "5.4"}], ",", "8.4", ",", RowBox[{"-", "7.4"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "9.6"}], ",", "2.7", ",", RowBox[{"-", "12.9"}]}], "}"}]}], "}"}]}], ";"}]], "Input"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ch", "=", RowBox[{"convexHull", "[", RowBox[{"points", ",", RowBox[{"convexHullFormat", "\[Rule]", " ", RowBox[{"{", RowBox[{ RowBox[{"facetNormals", "\[Rule]", " ", "True"}], ",", RowBox[{"facets", "\[Rule]", " ", "True"}]}], "}"}]}]}], "]"}]}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"vertexCoordinates", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"9.4`", ",", "4.2`", ",", RowBox[{"-", "1.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "2.3`"}], ",", "10.1`", ",", RowBox[{"-", "2.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.3`"}], ",", "6.6`", ",", RowBox[{"-", "3.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "6.1`"}], ",", RowBox[{"-", "6.4`"}], ",", "0.9`"}], "}"}], ",", RowBox[{"{", RowBox[{"5.7`", ",", RowBox[{"-", "7.1`"}], ",", "3.3`"}], "}"}], ",", RowBox[{"{", RowBox[{"10.4`", ",", "6.8`", ",", "14.1`"}], "}"}], ",", RowBox[{"{", RowBox[{"5.4`", ",", "11.`", ",", "14.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.8`"}], ",", "3.6`", ",", "9.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4.9`"}], ",", "1.`", ",", "15.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.7`"}], ",", RowBox[{"-", "7.4`"}], ",", "11.`"}], "}"}], ",", RowBox[{"{", RowBox[{"2.4`", ",", RowBox[{"-", "9.7`"}], ",", RowBox[{"-", "14.6`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"9.3`", ",", RowBox[{"-", "3.6`"}], ",", RowBox[{"-", "8.5`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"6.8`", ",", "7.3`", ",", RowBox[{"-", "13.7`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "5.4`"}], ",", "8.4`", ",", RowBox[{"-", "7.4`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "9.6`"}], ",", "2.7`", ",", RowBox[{"-", "12.9`"}]}], "}"}]}], "}"}]}], ",", RowBox[{"vertices", "\[Rule]", RowBox[{"{", RowBox[{ "2", ",", "3", ",", "4", ",", "5", ",", "6", ",", "8", ",", "9", ",", "10", ",", "11", ",", "12", ",", "14", ",", "15", ",", "16", ",", "17", ",", "18"}], "}"}]}], ",", RowBox[{"facets", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"14", ",", "16", ",", "18"}], "}"}], ",", RowBox[{"{", RowBox[{"11", ",", "9", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"9", ",", "16", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"5", ",", "14", ",", "18"}], "}"}], ",", RowBox[{"{", RowBox[{"15", ",", "16", ",", "14"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "9", ",", "11"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "5", ",", "18"}], "}"}], ",", RowBox[{"{", RowBox[{"5", ",", "10", ",", "11"}], "}"}], ",", RowBox[{"{", RowBox[{"9", ",", "3", ",", "16"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "3", ",", "9"}], "}"}], ",", RowBox[{"{", RowBox[{"12", ",", "11", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"12", ",", "5", ",", "11"}], "}"}], ",", RowBox[{"{", RowBox[{"5", ",", "12", ",", "14"}], "}"}], ",", RowBox[{"{", RowBox[{"16", ",", "2", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", "15", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"15", ",", "2", ",", "16"}], "}"}], ",", RowBox[{"{", RowBox[{"16", ",", "17", ",", "18"}], "}"}], ",", RowBox[{"{", RowBox[{"3", ",", "17", ",", "16"}], "}"}], ",", RowBox[{"{", RowBox[{"15", ",", "6", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"6", ",", "12", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"6", ",", "15", ",", "14"}], "}"}], ",", RowBox[{"{", RowBox[{"12", ",", "6", ",", "14"}], "}"}], ",", RowBox[{"{", RowBox[{"4", ",", "3", ",", "10"}], "}"}], ",", RowBox[{"{", RowBox[{"4", ",", "17", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"4", ",", "10", ",", "18"}], "}"}], ",", RowBox[{"{", RowBox[{"17", ",", "4", ",", "18"}], "}"}]}], "}"}]}], ",", RowBox[{"facetNormals", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "0.0682802096792786`"}], ",", "0.07035863770784748`", ",", RowBox[{"-", "0.9951821316050895`"}], ",", RowBox[{"-", "13.68330783243792`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ "0.0342211181810412`", ",", "0.0644854195723994`", ",", "0.9973317129887183`", ",", RowBox[{"-", "14.85677763531607`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.6424524332520092`", ",", "0.7631702968559552`", ",", RowBox[{"-", "0.06946919465033292`"}], ",", RowBox[{"-", "10.8915476798717`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.7125344493805771`"}], ",", RowBox[{"-", "0.6551009421257196`"}], ",", RowBox[{"-", "0.2512715942400021`"}], ",", RowBox[{"-", "8.312961736010125`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.7269071107673338`", ",", RowBox[{"-", "0.1526941624593228`"}], ",", RowBox[{"-", "0.669545028408645`"}], ",", RowBox[{"-", "13.00106785646325`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5577217853516001`"}], ",", "0.6286515594468383`", ",", "0.5419812053469033`", ",", RowBox[{"-", "11.49120638787323`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.9674607800801585`"}], ",", RowBox[{"-", "0.2367585046334751`"}], ",", "0.08924712595042981`", ",", RowBox[{"-", "7.497087601498594`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.8892180707974748`"}], ",", RowBox[{"-", "0.3695750901204901`"}], ",", "0.2696395284999004`", ",", RowBox[{"-", "8.032186384285643`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.1456317207425346`", ",", "0.9815686130710054`", ",", RowBox[{"-", "0.1237516050297174`"}], ",", RowBox[{"-", "9.851143565374702`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.537432621404957`"}], ",", "0.8167224461531041`", ",", "0.2100729002024923`", ",", RowBox[{"-", "9.022831354932267`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.1908391057899001`", ",", RowBox[{"-", "0.36182498861076`"}], ",", "0.912503760714516`", ",", RowBox[{"-", "12.39061980373647`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.8275637677294727`"}], ",", RowBox[{"-", "0.4650155705206583`"}], ",", "0.314481683909804`", ",", RowBox[{"-", "8.30727215000082`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.3019494010814595`"}], ",", RowBox[{"-", "0.9525968715256774`"}], ",", "0.03722579140918256`", ",", RowBox[{"-", "7.972014536629501`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.9400132381879149`", ",", "0.3208252363038451`", ",", RowBox[{"-", "0.1159580949397328`"}], ",", RowBox[{"-", "10.32274014537023`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.9955548680592183`", ",", "0.05723746102731859`", ",", RowBox[{"-", "0.074795572988905`"}], ",", RowBox[{"-", "9.688367783658077`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.9753614524025949`", ",", "0.1439537047456756`", ",", RowBox[{"-", "0.1671746633228122`"}], ",", RowBox[{"-", "9.973612808503605`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.2426375708175696`"}], ",", "0.760253554108902`", ",", RowBox[{"-", "0.6026122656339908`"}], ",", RowBox[{"-", "12.15570350262119`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.05764975979936637`"}], ",", "0.9585572285678231`", ",", RowBox[{"-", "0.2790063525360121`"}], ",", RowBox[{"-", "10.42783643165278`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.8957874050145704`", ",", RowBox[{"-", "0.4187324536174541`"}], ",", "0.1490907686772343`", ",", RowBox[{"-", "8.570988165901849`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.5817146298486547`", ",", RowBox[{"-", "0.6125227684023516`"}], ",", "0.5351859000466676`", ",", RowBox[{"-", "9.430798515948032`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.6700235633950529`", ",", RowBox[{"-", "0.7421733203019455`"}], ",", RowBox[{"-", "0.01572218583344226`"}], ",", RowBox[{"-", "9.036681672245255`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0.1577637993701577`", ",", RowBox[{"-", "0.980944112113698`"}], ",", "0.1133985560655918`", ",", RowBox[{"-", "8.238172087433608`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5877210751117689`"}], ",", "0.7909156700081792`", ",", "0.1704005305302174`", ",", RowBox[{"-", "8.9651255726732`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5825689752313734`"}], ",", "0.8085351231999062`", ",", "0.08297194495719579`", ",", RowBox[{"-", "9.32357510844538`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.9173277235185827`"}], ",", "0.3937044259389223`", ",", "0.05921716525061275`", ",", RowBox[{"-", "9.10544666408058`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.7673318275206235`"}], ",", "0.6369489076552691`", ",", RowBox[{"-", "0.07414819964516652`"}], ",", RowBox[{"-", "10.04265937028986`"}]}], "}"}]}], "}"}]}]}], "}"}]], "Output", CellChangeTimes->{3.4044882518719*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Display the points and their convex hull", "Section"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"plot1", "=", RowBox[{"ListPointPlot3D", "[", RowBox[{"points", ",", " ", RowBox[{"PlotStyle", "\[Rule]", " ", RowBox[{"Directive", "[", RowBox[{ RowBox[{"PointSize", "[", ".02", "]"}], ",", " ", "Red"}], "]"}]}], ",", " ", RowBox[{"ImageSize", "\[Rule]", " ", "500"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.404489377015235*^9, 3.404489418676264*^9}, { 3.404489460064888*^9, 3.4044894616536703`*^9}, {3.404489516779086*^9, 3.404489518581902*^9}}], Cell[BoxData[ Graphics3DBox[ {RGBColor[1, 0, 0], PointSize[0.02], Point3DBox[{{2.1, 2.1, 3.}, {9.4, 4.2, -1.2}, {-2.3, 10.1, -2.2}, {-7.3, 6.6, -3.2}, {-6.1, -6.4, 0.9}, {5.7, -7.1, 3.3}, {1.5, 1.5, 12.}, {10.4, 6.8, 14.1}, {5.4, 11., 14.}, {-7.8, 3.6, 9.}, {-4.9, 1., 15.}, {-1.7, -7.4, 11.}, {0, 0, -11.6}, {2.4, -9.7, -14.6}, { 9.3, -3.6, -8.5}, {6.8, 7.3, -13.7}, {-5.4, 8.4, -7.4}, {-9.6, 2.7, -12.9}}]}, Axes->True, BoxRatios->{1, 1, 0.4}, ImageSize->500, PlotRange->{{-9.6, 10.4}, {-9.7, 11.}, Automatic}, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.02], Scaled[0.02]}, {Automatic, Automatic}}]], "Output", CellChangeTimes->{{3.4044893977587147`*^9, 3.404489419077289*^9}, 3.404489463420026*^9, 3.404489519053503*^9}] }, Open ]], Cell["The points are in red, their convex hull is in green", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"plot2", "=", RowBox[{"ListPointPlot3D", "[", RowBox[{ RowBox[{"vertexCoordinates", "/.", "ch"}], ",", " ", RowBox[{"PlotStyle", "\[Rule]", " ", RowBox[{"Directive", "[", RowBox[{ RowBox[{"PointSize", "[", ".04", "]"}], ",", " ", RowBox[{"Hue", "[", ".35", "]"}]}], "]"}]}], ",", " ", RowBox[{"ImageSize", "\[Rule]", " ", "500"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.404489479248974*^9, 3.404489527927764*^9}}], Cell[BoxData[ Graphics3DBox[ {Hue[0.35], PointSize[0.04], Point3DBox[{{9.4, 4.2, -1.2}, {-2.3, 10.1, -2.2}, {-7.3, 6.6, -3.2}, {-6.1, -6.4, 0.9}, {5.7, -7.1, 3.3}, {10.4, 6.8, 14.1}, {5.4, 11., 14.}, {-7.8, 3.6, 9.}, {-4.9, 1., 15.}, {-1.7, -7.4, 11.}, { 2.4, -9.7, -14.6}, {9.3, -3.6, -8.5}, {6.8, 7.3, -13.7}, {-5.4, 8.4, -7.4}, {-9.6, 2.7, -12.9}}]}, Axes->True, BoxRatios->{1, 1, 0.4}, ImageSize->500, PlotRange->{{-9.6, 10.4}, {-9.7, 11.}, Automatic}, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.02], Scaled[0.02]}, {Automatic, Automatic}}]], "Output", CellChangeTimes->{{3.404489499782918*^9, 3.404489528736985*^9}}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Show", "[", RowBox[{"plot1", ",", "plot2", ",", RowBox[{"ImageSize", "\[Rule]", " ", "500"}]}], "]"}]], "Input", CellChangeTimes->{3.40448942767721*^9}], Cell[BoxData[ Graphics3DBox[{ {RGBColor[1, 0, 0], PointSize[0.02], Point3DBox[{{2.1, 2.1, 3.}, {9.4, 4.2, -1.2}, {-2.3, 10.1, -2.2}, {-7.3, 6.6, -3.2}, {-6.1, -6.4, 0.9}, {5.7, -7.1, 3.3}, {1.5, 1.5, 12.}, {10.4, 6.8, 14.1}, {5.4, 11., 14.}, {-7.8, 3.6, 9.}, {-4.9, 1., 15.}, {-1.7, -7.4, 11.}, {0, 0, -11.6}, {2.4, -9.7, -14.6}, { 9.3, -3.6, -8.5}, {6.8, 7.3, -13.7}, {-5.4, 8.4, -7.4}, {-9.6, 2.7, -12.9}}]}, {Hue[0.35], PointSize[0.04], Point3DBox[{{9.4, 4.2, -1.2}, {-2.3, 10.1, -2.2}, {-7.3, 6.6, -3.2}, {-6.1, -6.4, 0.9}, {5.7, -7.1, 3.3}, {10.4, 6.8, 14.1}, {5.4, 11., 14.}, {-7.8, 3.6, 9.}, {-4.9, 1., 15.}, {-1.7, -7.4, 11.}, { 2.4, -9.7, -14.6}, {9.3, -3.6, -8.5}, {6.8, 7.3, -13.7}, {-5.4, 8.4, -7.4}, {-9.6, 2.7, -12.9}}]}}, Axes->True, BoxRatios->{1, 1, 0.4}, ImageSize->500, PlotRange->{{-9.6, 10.4}, {-9.7, 11.}, Automatic}, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.02], Scaled[0.02]}, {Automatic, Automatic}}]], "Output", CellChangeTimes->{ 3.404489428706172*^9, {3.404489503292817*^9, 3.404489532440538*^9}}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Plot the convex hull as a convex 3D convex surface", "Section"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"facetIndices", "=", RowBox[{"facets", "/.", "ch"}]}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"14", ",", "16", ",", "18"}], "}"}], ",", RowBox[{"{", RowBox[{"11", ",", "9", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"9", ",", "16", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"5", ",", "14", ",", "18"}], "}"}], ",", RowBox[{"{", RowBox[{"15", ",", "16", ",", "14"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "9", ",", "11"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "5", ",", "18"}], "}"}], ",", RowBox[{"{", RowBox[{"5", ",", "10", ",", "11"}], "}"}], ",", RowBox[{"{", RowBox[{"9", ",", "3", ",", "16"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "3", ",", "9"}], "}"}], ",", RowBox[{"{", RowBox[{"12", ",", "11", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"12", ",", "5", ",", "11"}], "}"}], ",", RowBox[{"{", RowBox[{"5", ",", "12", ",", "14"}], "}"}], ",", RowBox[{"{", RowBox[{"16", ",", "2", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", "15", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"15", ",", "2", ",", "16"}], "}"}], ",", RowBox[{"{", RowBox[{"16", ",", "17", ",", "18"}], "}"}], ",", RowBox[{"{", RowBox[{"3", ",", "17", ",", "16"}], "}"}], ",", RowBox[{"{", RowBox[{"15", ",", "6", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"6", ",", "12", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"6", ",", "15", ",", "14"}], "}"}], ",", RowBox[{"{", RowBox[{"12", ",", "6", ",", "14"}], "}"}], ",", RowBox[{"{", RowBox[{"4", ",", "3", ",", "10"}], "}"}], ",", RowBox[{"{", RowBox[{"4", ",", "17", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"4", ",", "10", ",", "18"}], "}"}], ",", RowBox[{"{", RowBox[{"17", ",", "4", ",", "18"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.40448955189475*^9}] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"loop", "[", "alist_", "]"}], ":=", " ", RowBox[{"Append", "[", RowBox[{"alist", ",", RowBox[{"alist", "[", RowBox[{"[", "1", "]"}], "]"}]}], "]"}]}]], "Input"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"loopedFacetIndices", "=", RowBox[{"loop", "/@", "facetIndices"}]}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"14", ",", "16", ",", "18", ",", "14"}], "}"}], ",", RowBox[{"{", RowBox[{"11", ",", "9", ",", "8", ",", "11"}], "}"}], ",", RowBox[{"{", RowBox[{"9", ",", "16", ",", "8", ",", "9"}], "}"}], ",", RowBox[{"{", RowBox[{"5", ",", "14", ",", "18", ",", "5"}], "}"}], ",", RowBox[{"{", RowBox[{"15", ",", "16", ",", "14", ",", "15"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "9", ",", "11", ",", "10"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "5", ",", "18", ",", "10"}], "}"}], ",", RowBox[{"{", RowBox[{"5", ",", "10", ",", "11", ",", "5"}], "}"}], ",", RowBox[{"{", RowBox[{"9", ",", "3", ",", "16", ",", "9"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "3", ",", "9", ",", "10"}], "}"}], ",", RowBox[{"{", RowBox[{"12", ",", "11", ",", "8", ",", "12"}], "}"}], ",", RowBox[{"{", RowBox[{"12", ",", "5", ",", "11", ",", "12"}], "}"}], ",", RowBox[{"{", RowBox[{"5", ",", "12", ",", "14", ",", "5"}], "}"}], ",", RowBox[{"{", RowBox[{"16", ",", "2", ",", "8", ",", "16"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", "15", ",", "8", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{"15", ",", "2", ",", "16", ",", "15"}], "}"}], ",", RowBox[{"{", RowBox[{"16", ",", "17", ",", "18", ",", "16"}], "}"}], ",", RowBox[{"{", RowBox[{"3", ",", "17", ",", "16", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"15", ",", "6", ",", "8", ",", "15"}], "}"}], ",", RowBox[{"{", RowBox[{"6", ",", "12", ",", "8", ",", "6"}], "}"}], ",", RowBox[{"{", RowBox[{"6", ",", "15", ",", "14", ",", "6"}], "}"}], ",", RowBox[{"{", RowBox[{"12", ",", "6", ",", "14", ",", "12"}], "}"}], ",", RowBox[{"{", RowBox[{"4", ",", "3", ",", "10", ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{"4", ",", "17", ",", "3", ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{"4", ",", "10", ",", "18", ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{"17", ",", "4", ",", "18", ",", "17"}], "}"}]}], "}"}]], "Output",\ CellChangeTimes->{3.404489556545054*^9}] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"index2xyz", "[", "ijklist_", "]"}], ":=", " ", RowBox[{ RowBox[{ RowBox[{"points", "[", RowBox[{"[", "#", "]"}], "]"}], "&"}], "/@", "ijklist"}]}]], "Input"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"loopedFacetCoordinates", "=", RowBox[{"index2xyz", "/@", "loopedFacetIndices"}]}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"2.4`", ",", RowBox[{"-", "9.7`"}], ",", RowBox[{"-", "14.6`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"6.8`", ",", "7.3`", ",", RowBox[{"-", "13.7`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "9.6`"}], ",", "2.7`", ",", RowBox[{"-", "12.9`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"2.4`", ",", RowBox[{"-", "9.7`"}], ",", RowBox[{"-", "14.6`"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4.9`"}], ",", "1.`", ",", "15.`"}], "}"}], ",", RowBox[{"{", RowBox[{"5.4`", ",", "11.`", ",", "14.`"}], "}"}], ",", RowBox[{"{", RowBox[{"10.4`", ",", "6.8`", ",", "14.1`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4.9`"}], ",", "1.`", ",", "15.`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"5.4`", ",", "11.`", ",", "14.`"}], "}"}], ",", RowBox[{"{", RowBox[{"6.8`", ",", "7.3`", ",", RowBox[{"-", "13.7`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"10.4`", ",", "6.8`", ",", "14.1`"}], "}"}], ",", RowBox[{"{", RowBox[{"5.4`", ",", "11.`", ",", "14.`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "6.1`"}], ",", RowBox[{"-", "6.4`"}], ",", "0.9`"}], "}"}], ",", RowBox[{"{", RowBox[{"2.4`", ",", RowBox[{"-", "9.7`"}], ",", RowBox[{"-", "14.6`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "9.6`"}], ",", "2.7`", ",", RowBox[{"-", "12.9`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "6.1`"}], ",", RowBox[{"-", "6.4`"}], ",", "0.9`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"9.3`", ",", RowBox[{"-", "3.6`"}], ",", RowBox[{"-", "8.5`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"6.8`", ",", "7.3`", ",", RowBox[{"-", "13.7`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"2.4`", ",", RowBox[{"-", "9.7`"}], ",", RowBox[{"-", "14.6`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"9.3`", ",", RowBox[{"-", "3.6`"}], ",", RowBox[{"-", "8.5`"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "7.8`"}], ",", "3.6`", ",", "9.`"}], "}"}], ",", RowBox[{"{", RowBox[{"5.4`", ",", "11.`", ",", "14.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4.9`"}], ",", "1.`", ",", "15.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.8`"}], ",", "3.6`", ",", "9.`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "7.8`"}], ",", "3.6`", ",", "9.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "6.1`"}], ",", RowBox[{"-", "6.4`"}], ",", "0.9`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "9.6`"}], ",", "2.7`", ",", RowBox[{"-", "12.9`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.8`"}], ",", "3.6`", ",", "9.`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "6.1`"}], ",", RowBox[{"-", "6.4`"}], ",", "0.9`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.8`"}], ",", "3.6`", ",", "9.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4.9`"}], ",", "1.`", ",", "15.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "6.1`"}], ",", RowBox[{"-", "6.4`"}], ",", "0.9`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"5.4`", ",", "11.`", ",", "14.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "2.3`"}], ",", "10.1`", ",", RowBox[{"-", "2.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"6.8`", ",", "7.3`", ",", RowBox[{"-", "13.7`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"5.4`", ",", "11.`", ",", "14.`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "7.8`"}], ",", "3.6`", ",", "9.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "2.3`"}], ",", "10.1`", ",", RowBox[{"-", "2.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"5.4`", ",", "11.`", ",", "14.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.8`"}], ",", "3.6`", ",", "9.`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1.7`"}], ",", RowBox[{"-", "7.4`"}], ",", "11.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4.9`"}], ",", "1.`", ",", "15.`"}], "}"}], ",", RowBox[{"{", RowBox[{"10.4`", ",", "6.8`", ",", "14.1`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.7`"}], ",", RowBox[{"-", "7.4`"}], ",", "11.`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1.7`"}], ",", RowBox[{"-", "7.4`"}], ",", "11.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "6.1`"}], ",", RowBox[{"-", "6.4`"}], ",", "0.9`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "4.9`"}], ",", "1.`", ",", "15.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.7`"}], ",", RowBox[{"-", "7.4`"}], ",", "11.`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "6.1`"}], ",", RowBox[{"-", "6.4`"}], ",", "0.9`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.7`"}], ",", RowBox[{"-", "7.4`"}], ",", "11.`"}], "}"}], ",", RowBox[{"{", RowBox[{"2.4`", ",", RowBox[{"-", "9.7`"}], ",", RowBox[{"-", "14.6`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "6.1`"}], ",", RowBox[{"-", "6.4`"}], ",", "0.9`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"6.8`", ",", "7.3`", ",", RowBox[{"-", "13.7`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"9.4`", ",", "4.2`", ",", RowBox[{"-", "1.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"10.4`", ",", "6.8`", ",", "14.1`"}], "}"}], ",", RowBox[{"{", RowBox[{"6.8`", ",", "7.3`", ",", RowBox[{"-", "13.7`"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"9.4`", ",", "4.2`", ",", RowBox[{"-", "1.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"9.3`", ",", RowBox[{"-", "3.6`"}], ",", RowBox[{"-", "8.5`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"10.4`", ",", "6.8`", ",", "14.1`"}], "}"}], ",", RowBox[{"{", RowBox[{"9.4`", ",", "4.2`", ",", RowBox[{"-", "1.2`"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"9.3`", ",", RowBox[{"-", "3.6`"}], ",", RowBox[{"-", "8.5`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"9.4`", ",", "4.2`", ",", RowBox[{"-", "1.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"6.8`", ",", "7.3`", ",", RowBox[{"-", "13.7`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"9.3`", ",", RowBox[{"-", "3.6`"}], ",", RowBox[{"-", "8.5`"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"6.8`", ",", "7.3`", ",", RowBox[{"-", "13.7`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "5.4`"}], ",", "8.4`", ",", RowBox[{"-", "7.4`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "9.6`"}], ",", "2.7`", ",", RowBox[{"-", "12.9`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"6.8`", ",", "7.3`", ",", RowBox[{"-", "13.7`"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "2.3`"}], ",", "10.1`", ",", RowBox[{"-", "2.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "5.4`"}], ",", "8.4`", ",", RowBox[{"-", "7.4`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"6.8`", ",", "7.3`", ",", RowBox[{"-", "13.7`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "2.3`"}], ",", "10.1`", ",", RowBox[{"-", "2.2`"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"9.3`", ",", RowBox[{"-", "3.6`"}], ",", RowBox[{"-", "8.5`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"5.7`", ",", RowBox[{"-", "7.1`"}], ",", "3.3`"}], "}"}], ",", RowBox[{"{", RowBox[{"10.4`", ",", "6.8`", ",", "14.1`"}], "}"}], ",", RowBox[{"{", RowBox[{"9.3`", ",", RowBox[{"-", "3.6`"}], ",", RowBox[{"-", "8.5`"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"5.7`", ",", RowBox[{"-", "7.1`"}], ",", "3.3`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.7`"}], ",", RowBox[{"-", "7.4`"}], ",", "11.`"}], "}"}], ",", RowBox[{"{", RowBox[{"10.4`", ",", "6.8`", ",", "14.1`"}], "}"}], ",", RowBox[{"{", RowBox[{"5.7`", ",", RowBox[{"-", "7.1`"}], ",", "3.3`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"5.7`", ",", RowBox[{"-", "7.1`"}], ",", "3.3`"}], "}"}], ",", RowBox[{"{", RowBox[{"9.3`", ",", RowBox[{"-", "3.6`"}], ",", RowBox[{"-", "8.5`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"2.4`", ",", RowBox[{"-", "9.7`"}], ",", RowBox[{"-", "14.6`"}]}], "}"}], ",", RowBox[{"{", RowBox[{"5.7`", ",", RowBox[{"-", "7.1`"}], ",", "3.3`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1.7`"}], ",", RowBox[{"-", "7.4`"}], ",", "11.`"}], "}"}], ",", RowBox[{"{", RowBox[{"5.7`", ",", RowBox[{"-", "7.1`"}], ",", "3.3`"}], "}"}], ",", RowBox[{"{", RowBox[{"2.4`", ",", RowBox[{"-", "9.7`"}], ",", RowBox[{"-", "14.6`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.7`"}], ",", RowBox[{"-", "7.4`"}], ",", "11.`"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "7.3`"}], ",", "6.6`", ",", RowBox[{"-", "3.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "2.3`"}], ",", "10.1`", ",", RowBox[{"-", "2.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.8`"}], ",", "3.6`", ",", "9.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.3`"}], ",", "6.6`", ",", RowBox[{"-", "3.2`"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "7.3`"}], ",", "6.6`", ",", RowBox[{"-", "3.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "5.4`"}], ",", "8.4`", ",", RowBox[{"-", "7.4`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "2.3`"}], ",", "10.1`", ",", RowBox[{"-", "2.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.3`"}], ",", "6.6`", ",", RowBox[{"-", "3.2`"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "7.3`"}], ",", "6.6`", ",", RowBox[{"-", "3.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.8`"}], ",", "3.6`", ",", "9.`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "9.6`"}], ",", "2.7`", ",", RowBox[{"-", "12.9`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.3`"}], ",", "6.6`", ",", RowBox[{"-", "3.2`"}]}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "5.4`"}], ",", "8.4`", ",", RowBox[{"-", "7.4`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "7.3`"}], ",", "6.6`", ",", RowBox[{"-", "3.2`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "9.6`"}], ",", "2.7`", ",", RowBox[{"-", "12.9`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "5.4`"}], ",", "8.4`", ",", RowBox[{"-", "7.4`"}]}], "}"}]}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.404489562638237*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"convexObject", "=", RowBox[{"Graphics3D", "[", RowBox[{ RowBox[{"Polygon", "/@", "loopedFacetCoordinates"}], ",", " ", RowBox[{"ImageSize", "\[Rule]", " ", "500"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.404489654309273*^9, 3.404489710928111*^9}}], Cell[BoxData[ Graphics3DBox[{ Polygon3DBox[{{2.4, -9.7, -14.6}, {6.8, 7.3, -13.7}, {-9.6, 2.7, -12.9}, { 2.4, -9.7, -14.6}}], Polygon3DBox[{{-4.9, 1., 15.}, {5.4, 11., 14.}, {10.4, 6.8, 14.1}, {-4.9, 1., 15.}}], Polygon3DBox[{{5.4, 11., 14.}, {6.8, 7.3, -13.7}, {10.4, 6.8, 14.1}, {5.4, 11., 14.}}], Polygon3DBox[{{-6.1, -6.4, 0.9}, {2.4, -9.7, -14.6}, {-9.6, 2.7, -12.9}, {-6.1, -6.4, 0.9}}], Polygon3DBox[{{9.3, -3.6, -8.5}, {6.8, 7.3, -13.7}, {2.4, -9.7, -14.6}, { 9.3, -3.6, -8.5}}], Polygon3DBox[{{-7.8, 3.6, 9.}, {5.4, 11., 14.}, {-4.9, 1., 15.}, {-7.8, 3.6, 9.}}], Polygon3DBox[{{-7.8, 3.6, 9.}, {-6.1, -6.4, 0.9}, {-9.6, 2.7, -12.9}, {-7.8, 3.6, 9.}}], Polygon3DBox[{{-6.1, -6.4, 0.9}, {-7.8, 3.6, 9.}, {-4.9, 1., 15.}, {-6.1, -6.4, 0.9}}], Polygon3DBox[{{5.4, 11., 14.}, {-2.3, 10.1, -2.2}, {6.8, 7.3, -13.7}, {5.4, 11., 14.}}], Polygon3DBox[{{-7.8, 3.6, 9.}, {-2.3, 10.1, -2.2}, {5.4, 11., 14.}, {-7.8, 3.6, 9.}}], Polygon3DBox[{{-1.7, -7.4, 11.}, {-4.9, 1., 15.}, {10.4, 6.8, 14.1}, {-1.7, -7.4, 11.}}], Polygon3DBox[{{-1.7, -7.4, 11.}, {-6.1, -6.4, 0.9}, {-4.9, 1., 15.}, {-1.7, -7.4, 11.}}], Polygon3DBox[{{-6.1, -6.4, 0.9}, {-1.7, -7.4, 11.}, { 2.4, -9.7, -14.6}, {-6.1, -6.4, 0.9}}], Polygon3DBox[{{6.8, 7.3, -13.7}, {9.4, 4.2, -1.2}, {10.4, 6.8, 14.1}, {6.8, 7.3, -13.7}}], Polygon3DBox[{{9.4, 4.2, -1.2}, {9.3, -3.6, -8.5}, {10.4, 6.8, 14.1}, {9.4, 4.2, -1.2}}], Polygon3DBox[{{9.3, -3.6, -8.5}, {9.4, 4.2, -1.2}, {6.8, 7.3, -13.7}, { 9.3, -3.6, -8.5}}], Polygon3DBox[{{6.8, 7.3, -13.7}, {-5.4, 8.4, -7.4}, {-9.6, 2.7, -12.9}, { 6.8, 7.3, -13.7}}], Polygon3DBox[{{-2.3, 10.1, -2.2}, {-5.4, 8.4, -7.4}, {6.8, 7.3, -13.7}, {-2.3, 10.1, -2.2}}], Polygon3DBox[{{9.3, -3.6, -8.5}, {5.7, -7.1, 3.3}, {10.4, 6.8, 14.1}, { 9.3, -3.6, -8.5}}], Polygon3DBox[{{5.7, -7.1, 3.3}, {-1.7, -7.4, 11.}, {10.4, 6.8, 14.1}, { 5.7, -7.1, 3.3}}], Polygon3DBox[{{5.7, -7.1, 3.3}, {9.3, -3.6, -8.5}, {2.4, -9.7, -14.6}, { 5.7, -7.1, 3.3}}], Polygon3DBox[{{-1.7, -7.4, 11.}, {5.7, -7.1, 3.3}, { 2.4, -9.7, -14.6}, {-1.7, -7.4, 11.}}], Polygon3DBox[{{-7.3, 6.6, -3.2}, {-2.3, 10.1, -2.2}, {-7.8, 3.6, 9.}, {-7.3, 6.6, -3.2}}], Polygon3DBox[{{-7.3, 6.6, -3.2}, {-5.4, 8.4, -7.4}, {-2.3, 10.1, -2.2}, {-7.3, 6.6, -3.2}}], Polygon3DBox[{{-7.3, 6.6, -3.2}, {-7.8, 3.6, 9.}, {-9.6, 2.7, -12.9}, {-7.3, 6.6, -3.2}}], Polygon3DBox[{{-5.4, 8.4, -7.4}, {-7.3, 6.6, -3.2}, {-9.6, 2.7, -12.9}, {-5.4, 8.4, -7.4}}]}, ImageSize->500]], "Output", CellChangeTimes->{{3.404489659714634*^9, 3.4044897113951473`*^9}}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"convexHullWithVertices", "=", RowBox[{"Show", "[", RowBox[{ RowBox[{"{", RowBox[{"convexObject", ",", "plot2"}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "12"}], ",", "12"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "12"}], ",", "12"}], "}"}], ",", "Automatic"}], "}"}]}]}], "]"}]}]], "Input", CellChangeTimes->{3.404489717825144*^9}], Cell[BoxData[ Graphics3DBox[{{ Polygon3DBox[{{2.4, -9.7, -14.6}, {6.8, 7.3, -13.7}, {-9.6, 2.7, -12.9}, { 2.4, -9.7, -14.6}}], Polygon3DBox[{{-4.9, 1., 15.}, {5.4, 11., 14.}, {10.4, 6.8, 14.1}, {-4.9, 1., 15.}}], Polygon3DBox[{{5.4, 11., 14.}, {6.8, 7.3, -13.7}, {10.4, 6.8, 14.1}, {5.4, 11., 14.}}], Polygon3DBox[{{-6.1, -6.4, 0.9}, {2.4, -9.7, -14.6}, {-9.6, 2.7, -12.9}, {-6.1, -6.4, 0.9}}], Polygon3DBox[{{9.3, -3.6, -8.5}, {6.8, 7.3, -13.7}, {2.4, -9.7, -14.6}, { 9.3, -3.6, -8.5}}], Polygon3DBox[{{-7.8, 3.6, 9.}, {5.4, 11., 14.}, {-4.9, 1., 15.}, {-7.8, 3.6, 9.}}], Polygon3DBox[{{-7.8, 3.6, 9.}, {-6.1, -6.4, 0.9}, {-9.6, 2.7, -12.9}, {-7.8, 3.6, 9.}}], Polygon3DBox[{{-6.1, -6.4, 0.9}, {-7.8, 3.6, 9.}, {-4.9, 1., 15.}, {-6.1, -6.4, 0.9}}], Polygon3DBox[{{5.4, 11., 14.}, {-2.3, 10.1, -2.2}, {6.8, 7.3, -13.7}, { 5.4, 11., 14.}}], Polygon3DBox[{{-7.8, 3.6, 9.}, {-2.3, 10.1, -2.2}, {5.4, 11., 14.}, {-7.8, 3.6, 9.}}], Polygon3DBox[{{-1.7, -7.4, 11.}, {-4.9, 1., 15.}, {10.4, 6.8, 14.1}, {-1.7, -7.4, 11.}}], Polygon3DBox[{{-1.7, -7.4, 11.}, {-6.1, -6.4, 0.9}, {-4.9, 1., 15.}, {-1.7, -7.4, 11.}}], Polygon3DBox[{{-6.1, -6.4, 0.9}, {-1.7, -7.4, 11.}, { 2.4, -9.7, -14.6}, {-6.1, -6.4, 0.9}}], Polygon3DBox[{{6.8, 7.3, -13.7}, {9.4, 4.2, -1.2}, {10.4, 6.8, 14.1}, { 6.8, 7.3, -13.7}}], Polygon3DBox[{{9.4, 4.2, -1.2}, {9.3, -3.6, -8.5}, {10.4, 6.8, 14.1}, { 9.4, 4.2, -1.2}}], Polygon3DBox[{{9.3, -3.6, -8.5}, {9.4, 4.2, -1.2}, {6.8, 7.3, -13.7}, { 9.3, -3.6, -8.5}}], Polygon3DBox[{{6.8, 7.3, -13.7}, {-5.4, 8.4, -7.4}, {-9.6, 2.7, -12.9}, { 6.8, 7.3, -13.7}}], Polygon3DBox[{{-2.3, 10.1, -2.2}, {-5.4, 8.4, -7.4}, {6.8, 7.3, -13.7}, {-2.3, 10.1, -2.2}}], Polygon3DBox[{{9.3, -3.6, -8.5}, {5.7, -7.1, 3.3}, {10.4, 6.8, 14.1}, { 9.3, -3.6, -8.5}}], Polygon3DBox[{{5.7, -7.1, 3.3}, {-1.7, -7.4, 11.}, {10.4, 6.8, 14.1}, { 5.7, -7.1, 3.3}}], Polygon3DBox[{{5.7, -7.1, 3.3}, {9.3, -3.6, -8.5}, {2.4, -9.7, -14.6}, { 5.7, -7.1, 3.3}}], Polygon3DBox[{{-1.7, -7.4, 11.}, {5.7, -7.1, 3.3}, { 2.4, -9.7, -14.6}, {-1.7, -7.4, 11.}}], Polygon3DBox[{{-7.3, 6.6, -3.2}, {-2.3, 10.1, -2.2}, {-7.8, 3.6, 9.}, {-7.3, 6.6, -3.2}}], Polygon3DBox[{{-7.3, 6.6, -3.2}, {-5.4, 8.4, -7.4}, {-2.3, 10.1, -2.2}, {-7.3, 6.6, -3.2}}], Polygon3DBox[{{-7.3, 6.6, -3.2}, {-7.8, 3.6, 9.}, {-9.6, 2.7, -12.9}, {-7.3, 6.6, -3.2}}], Polygon3DBox[{{-5.4, 8.4, -7.4}, {-7.3, 6.6, -3.2}, {-9.6, 2.7, -12.9}, {-5.4, 8.4, -7.4}}]}, {Hue[0.35], PointSize[0.04], Point3DBox[{{9.4, 4.2, -1.2}, {-2.3, 10.1, -2.2}, {-7.3, 6.6, -3.2}, {-6.1, -6.4, 0.9}, {5.7, -7.1, 3.3}, {10.4, 6.8, 14.1}, {5.4, 11., 14.}, {-7.8, 3.6, 9.}, {-4.9, 1., 15.}, {-1.7, -7.4, 11.}, { 2.4, -9.7, -14.6}, {9.3, -3.6, -8.5}, {6.8, 7.3, -13.7}, {-5.4, 8.4, -7.4}, {-9.6, 2.7, -12.9}}]}}, ImageSize->500, PlotRange->{{-12, 12}, {-12, 12}, Automatic}]], "Output", CellChangeTimes->{3.404489718322646*^9}] }, Open ]] }, Open ]] }, Open ]] }, WindowSize->{790, 813}, WindowMargins->{{Automatic, 563}, {142, Automatic}}, DockedCells->(FrontEndExecute[{ FrontEnd`NotebookApply[ FrontEnd`InputNotebook[], #, Placeholder]}]& ), CellLabelAutoDelete->True, FrontEndVersion->"6.0 for Mac OS X x86 (32-bit) (June 19, 2007)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[590, 23, 42, 0, 76, "Title"], Cell[CellGroupData[{ Cell[657, 27, 108, 2, 25, "Subsubsection"], Cell[768, 31, 1679, 25, 386, "Text"], Cell[2450, 58, 116, 1, 26, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[2603, 64, 41, 0, 37, "Section"], Cell[2647, 66, 2029, 62, 73, "Input"], Cell[CellGroupData[{ Cell[4701, 132, 324, 9, 27, "Input"], Cell[5028, 143, 10084, 255, 343, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[15161, 404, 60, 0, 67, "Section"], Cell[CellGroupData[{ Cell[15246, 408, 521, 12, 27, "Input"], Cell[15770, 422, 814, 19, 421, "Output"] }, Open ]], Cell[16599, 444, 68, 0, 26, "Text"], Cell[CellGroupData[{ Cell[16692, 448, 489, 11, 43, "Input"], Cell[17184, 461, 698, 17, 421, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[17919, 483, 184, 4, 27, "Input"], Cell[18106, 489, 1155, 25, 421, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[19310, 520, 69, 0, 67, "Section"], Cell[CellGroupData[{ Cell[19404, 524, 90, 2, 27, "Input"], Cell[19497, 528, 1933, 55, 73, "Output"] }, Open ]], Cell[21445, 586, 212, 6, 27, "Input"], Cell[CellGroupData[{ Cell[21682, 596, 104, 2, 27, "Input"], Cell[21789, 600, 2210, 56, 88, "Output"] }, Open ]], Cell[24014, 659, 208, 6, 27, "Input"], Cell[CellGroupData[{ Cell[24247, 669, 119, 2, 27, "Input"], Cell[24369, 673, 13016, 412, 403, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[37422, 1090, 291, 6, 27, "Input"], Cell[37716, 1098, 2719, 55, 684, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[40472, 1158, 523, 16, 43, "Input"], Cell[40998, 1176, 3152, 62, 633, "Output"] }, Open ]] }, Open ]] }, Open ]] } ] *) (* End of internal cache information *)