Cell[CellGroupData[{Cell[BoxData[ RowBox[{"Manipulate", "[", " ", RowBox[{ RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ "ttp", ",", "Nppt2D", ",", "Npt2D", ",", "MaxV", ",", "psblk", ",", "psblu", ",", "Nppt3D", ",", "List2D", ",", "List3D", ",", "N2D", ",", "N3D"}], "}"}], ",", " ", RowBox[{"(*", " ", RowBox[{ "Calculations", " ", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "="}], " ", "*)"}], " ", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"with", "==", RowBox[{"withT", "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", " ", RowBox[{ "(*", " ", RowBox[{"2", "D", " ", "Graph"}], " ", "*)"}], " ", RowBox[{ RowBox[{"ttp", "=", "tooltip"}], ";", RowBox[{"Nppt2D", "=", RowBox[{"22", "+", RowBox[{"Floor", "[", RowBox[{"Mppt2D", "*", "range"}], "]"}]}]}], ";", " ", RowBox[{"Npt2D", "=", RowBox[{"ipt", "[", RowBox[{"[", "Nppt2D", "]"}], "]"}]}], ";", " ", RowBox[{"MaxV", "=", RowBox[{ RowBox[{"Max", "[", RowBox[{ RowBox[{"ppt2D1", "[", RowBox[{"[", RowBox[{"Nppt2D", ",", "1"}], "]"}], "]"}], ",", RowBox[{"ppt2D1", "[", RowBox[{"[", RowBox[{"Nppt2D", ",", "2"}], "]"}], "]"}]}], "]"}], "+", "1"}]}], ";", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"MaxV", "<", "400"}], ",", " ", RowBox[{ RowBox[{"psblk", "=", RowBox[{"Directive", "[", RowBox[{"Black", ",", RowBox[{"Opacity", "[", "1", "]"}], ",", RowBox[{"PointSize", "[", RowBox[{".002", "+", RowBox[{"2", "/", RowBox[{"(", RowBox[{"10", "+", " ", "MaxV"}], ")"}]}]}], "]"}], ",", RowBox[{"Lighting", "->", "None"}]}], "]"}]}], ";", " ", RowBox[{"psblu", "=", RowBox[{"Directive", "[", RowBox[{"Blue", ",", RowBox[{"Opacity", "[", "1", "]"}], ",", RowBox[{"PointSize", "[", RowBox[{".002", "+", RowBox[{"2", "/", RowBox[{"(", RowBox[{"10", "+", " ", "MaxV"}], ")"}]}]}], "]"}], ",", RowBox[{"Lighting", "->", "None"}]}], "]"}]}]}], ",", " ", RowBox[{ RowBox[{"psblk", "=", RowBox[{"Directive", "[", RowBox[{"Black", ",", RowBox[{"Opacity", "[", "1", "]"}], ",", RowBox[{"Lighting", "->", "None"}]}], "]"}]}], ";", " ", RowBox[{"psblu", "=", RowBox[{"Directive", "[", RowBox[{"Blue", ",", RowBox[{"Opacity", "[", "1", "]"}]}], "]"}]}]}], ",", RowBox[{"Lighting", "->", "None"}]}], "]"}]}], ",", " ", RowBox[{ "(*", " ", RowBox[{"3", "D", " ", "Graph"}], " ", "*)"}], " ", RowBox[{ RowBox[{"tooltip", "=", "False"}], ";", " ", RowBox[{"Nppt3D", "=", RowBox[{"22", "+", RowBox[{"Floor", "[", RowBox[{"Mppt3D", "*", "range"}], "]"}]}]}], ";", RowBox[{"MaxV", "=", RowBox[{ RowBox[{"Max", "[", RowBox[{ RowBox[{"ppt3D1", "[", RowBox[{"[", RowBox[{"Nppt3D", ",", "1"}], "]"}], "]"}], ",", RowBox[{"ppt3D1", "[", RowBox[{"[", RowBox[{"Nppt3D", ",", "2"}], "]"}], "]"}]}], "]"}], "+", "1"}]}]}]}], "]"}], ";", " ", RowBox[{"Switch", "[", RowBox[{"with", ",", " ", RowBox[{"withT", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{ "(*", "\"\< \ ---------------------------------------------------------- None \ \>\"", "*)"}], " ", RowBox[{ RowBox[{"Switch", "[", RowBox[{"show", ",", " ", RowBox[{"showT", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"(*", "\"\< PPT 1 \>\"", "*)"}], RowBox[{ RowBox[{"List2D", "=", "ppt2D1"}], ";", RowBox[{"N2D", "=", "Nppt2D"}]}], ",", " ", RowBox[{"showT", "[", RowBox[{"[", "2", "]"}], "]"}], ",", RowBox[{"(*", "\"\< PPT 2 \>\"", "*)"}], RowBox[{ RowBox[{"List2D", "=", "ppt2D2"}], ";", RowBox[{"N2D", "=", "Nppt2D"}]}], ",", " ", RowBox[{"showT", "[", RowBox[{"[", "3", "]"}], "]"}], ",", RowBox[{"(*", "\"\< PPT 1 & 2 \>\"", "*)"}], RowBox[{ RowBox[{"List2D", "=", "ppt2D"}], ";", RowBox[{"N2D", "=", RowBox[{"2", "*", "Nppt2D"}]}]}], ",", " ", RowBox[{"showT", "[", RowBox[{"[", "4", "]"}], "]"}], ",", " ", RowBox[{"(*", "\"\< PT \>\"", "*)"}], RowBox[{ RowBox[{"List2D", "=", "pt2D"}], ";", RowBox[{"N2D", "=", "Npt2D"}]}]}], "]"}], ";", RowBox[{"If", "[", RowBox[{ RowBox[{"tooltip", "&&", RowBox[{"N2D", "<", "9000"}]}], ",", RowBox[{"ttp", "=", "True"}], ",", RowBox[{"ttp", "=", "False"}]}], "]"}]}], ",", " ", RowBox[{"withT", "[", RowBox[{"[", "2", "]"}], "]"}], ",", RowBox[{ "(*", "\"\< \ ---------------------------------------------------------- Reals \>\ \"", "*)"}], " ", RowBox[{"Switch", "[", RowBox[{"show", ",", " ", RowBox[{"showT", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"(*", "\"\< PPT 1 \>\"", "*)"}], RowBox[{ RowBox[{"List3D", "=", "ppt3D1"}], ";", RowBox[{"N3D", "=", "Nppt3D"}]}], ",", " ", RowBox[{"showT", "[", RowBox[{"[", "2", "]"}], "]"}], ",", RowBox[{"(*", "\"\< PPT 2 \>\"", "*)"}], RowBox[{ RowBox[{"List3D", "=", "ppt3D2"}], ";", RowBox[{"N3D", "=", "Nppt3D"}]}], ",", " ", RowBox[{"showT", "[", RowBox[{"[", "3", "]"}], "]"}], ",", RowBox[{"(*", "\"\< PPT 1 & 2 \>\"", "*)"}], RowBox[{ RowBox[{"List3D", "=", "ppt3D"}], ";", RowBox[{"N3D", "=", RowBox[{"2", "*", "Nppt3D"}]}]}], ",", " ", RowBox[{"showT", "[", RowBox[{"[", "4", "]"}], "]"}], ",", " ", RowBox[{"(*", "\"\< PT \>\"", "*)"}], RowBox[{ RowBox[{"List3D", "=", "pt3D"}], ";", RowBox[{"N3D", "=", RowBox[{"ipt", "[", RowBox[{"[", "Nppt3D", "]"}], "]"}]}]}]}], "]"}], ",", " ", RowBox[{"withT", "[", RowBox[{"[", "3", "]"}], "]"}], ",", RowBox[{ "(*", "\"\< -------------------------------------------- \ Reals and Redundants \>\"", "*)"}], " ", RowBox[{"Switch", "[", RowBox[{"show", ",", " ", RowBox[{"showT", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"(*", "\"\< PPT 1 \>\"", "*)"}], RowBox[{ RowBox[{"List3D", "=", "ppt3D1"}], ";", RowBox[{"N3D", "=", "Nppt3D"}]}], ",", " ", RowBox[{"showT", "[", RowBox[{"[", "2", "]"}], "]"}], ",", RowBox[{"(*", "\"\< PPT 2 \>\"", "*)"}], RowBox[{ RowBox[{"List3D", "=", "ppt3D2"}], ";", RowBox[{"N3D", "=", "Nppt3D"}]}], ",", " ", RowBox[{"showT", "[", RowBox[{"[", "3", "]"}], "]"}], ",", RowBox[{"(*", "\"\< PPT 1 & 2 \>\"", "*)"}], RowBox[{ RowBox[{"List3D", "=", "ppt3D"}], ";", RowBox[{"N3D", "=", RowBox[{"2", "*", "Nppt3D"}]}]}], ",", " ", RowBox[{"showT", "[", RowBox[{"[", "4", "]"}], "]"}], ",", " ", RowBox[{"(*", "\"\< PT \>\"", "*)"}], RowBox[{ RowBox[{"List3D", "=", "pt3D"}], ";", RowBox[{"N3D", "=", RowBox[{"ipt", "[", RowBox[{"[", "Nppt3D", "]"}], "]"}]}]}]}], "]"}]}], " ", "]"}], ";", " ", RowBox[{"(*", " ", RowBox[{ "Display", " ", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "="}], " ", "*)"}], " ", RowBox[{"(*", RowBox[{"Pane", "["}], "*)"}], " ", RowBox[{"Switch", "[", RowBox[{"with", ",", " ", RowBox[{"withT", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{ "(*", "\"\< \ ---------------------------------------------------------- None \ \>\"", "*)"}], " ", RowBox[{"ControlActive", "[", " ", RowBox[{ RowBox[{"If", "[", RowBox[{"SqRoot", ",", " ", RowBox[{"ListPlot", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{ RowBox[{"Map", "[", RowBox[{"Pt2dSQRT", ",", "List2D"}], "]"}], ",", "N2D"}], "]"}], ",", RowBox[{"AspectRatio", "->", "1"}], ",", RowBox[{"PlotStyle", "->", "psblu"}], ",", RowBox[{"ImageSize", "->", RowBox[{"{", RowBox[{"400", ",", "400"}], "}"}]}]}], "]"}], ",", " ", RowBox[{"ListPlot", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"List2D", ",", "N2D"}], "]"}], ",", RowBox[{"AspectRatio", "->", "1"}], ",", RowBox[{"PlotStyle", "->", "psblu"}], ",", RowBox[{"ImageSize", "->", RowBox[{"{", RowBox[{"400", ",", "400"}], "}"}]}]}], "]"}]}], "]"}], ",", " ", RowBox[{"If", "[", RowBox[{"ttp", ",", " ", RowBox[{"If", "[", RowBox[{"SqRoot", ",", " ", RowBox[{"ListPlot", "[", RowBox[{ RowBox[{"Tooltip", "[", RowBox[{"Take", "[", RowBox[{ RowBox[{"Map", "[", RowBox[{"Pt2dSQRT", ",", "List2D"}], "]"}], ",", "N2D"}], "]"}], "]"}], ",", RowBox[{"AspectRatio", "->", "1"}], ",", RowBox[{"PlotStyle", "->", "psblk"}], ",", RowBox[{"ImageSize", "->", RowBox[{"{", RowBox[{"400", ",", "400"}], "}"}]}]}], "]"}], ",", " ", RowBox[{"ListPlot", "[", RowBox[{ RowBox[{"Tooltip", "[", RowBox[{"Take", "[", RowBox[{"List2D", ",", "N2D"}], "]"}], "]"}], ",", RowBox[{"AspectRatio", "->", "1"}], ",", RowBox[{"PlotStyle", "->", "psblk"}], ",", RowBox[{"ImageSize", "->", RowBox[{"{", RowBox[{"400", ",", "400"}], "}"}]}]}], "]"}]}], "]"}], ",", " ", RowBox[{"If", "[", RowBox[{"SqRoot", ",", " ", RowBox[{"ListPlot", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{ RowBox[{"Map", "[", RowBox[{"Pt2dSQRT", ",", "List2D"}], "]"}], ",", "N2D"}], "]"}], ",", RowBox[{"AspectRatio", "->", "1"}], ",", RowBox[{"PlotStyle", "->", "psblu"}], ",", RowBox[{"ImageSize", "->", RowBox[{"{", RowBox[{"400", ",", "400"}], "}"}]}]}], "]"}], ",", " ", RowBox[{"ListPlot", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"List2D", ",", "N2D"}], "]"}], ",", RowBox[{"AspectRatio", "->", "1"}], ",", RowBox[{"PlotStyle", "->", "psblu"}], ",", RowBox[{"ImageSize", "->", RowBox[{"{", RowBox[{"400", ",", "400"}], "}"}]}]}], "]"}]}], "]"}]}], "]"}]}], "]"}], ",", " ", RowBox[{"withT", "[", RowBox[{"[", "2", "]"}], "]"}], ",", RowBox[{ "(*", "\"\< \ ---------------------------------------------------------- Reals \>\ \"", "*)"}], " ", RowBox[{"Show", "[", RowBox[{ RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"{", RowBox[{ SqrtBox[ RowBox[{ RowBox[{"x", " ", "x"}], "+", RowBox[{"y", " ", "y"}]}]], ",", RowBox[{"-", SqrtBox[ RowBox[{ RowBox[{"x", " ", "x"}], "+", RowBox[{"y", " ", "y"}]}]]}]}], "}"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "MaxV"}], ",", "MaxV"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "MaxV"}], ",", "MaxV"}], "}"}], ",", RowBox[{"Mesh", "->", "None"}], ",", RowBox[{"ImagePadding", "->", "10"}], ",", RowBox[{"PlotStyle", "->", RowBox[{"Directive", "[", RowBox[{"Blue", ",", RowBox[{"Opacity", "[", ".2", "]"}]}], "]"}]}]}], "]"}], ",", " ", RowBox[{"ListPointPlot3D", "[", RowBox[{"{", RowBox[{"Take", "[", RowBox[{"List3D", ",", "N3D"}], "]"}], "}"}], "]"}], ",", RowBox[{"ImageSize", "->", RowBox[{"{", RowBox[{"400", ",", "400"}], "}"}]}]}], "]"}], ",", " ", RowBox[{"withT", "[", RowBox[{"[", "3", "]"}], "]"}], ",", RowBox[{ "(*", "\"\< -------------------------------------------- \ Reals and Redundants \>\"", "*)"}], " ", RowBox[{"Show", "[", RowBox[{ RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"{", RowBox[{ SqrtBox[ RowBox[{ RowBox[{"x", " ", "x"}], "+", RowBox[{"y", " ", "y"}]}]], ",", RowBox[{"-", SqrtBox[ RowBox[{ RowBox[{"x", " ", "x"}], "+", RowBox[{"y", " ", "y"}]}]]}]}], "}"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "MaxV"}], ",", "MaxV"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "MaxV"}], ",", "MaxV"}], "}"}], ",", RowBox[{"Mesh", "->", "None"}], ",", RowBox[{"ImagePadding", "->", "10"}], ",", RowBox[{"PlotStyle", "->", RowBox[{"Directive", "[", RowBox[{"Blue", ",", RowBox[{"Opacity", "[", ".2", "]"}]}], "]"}]}]}], "]"}], ",", " ", RowBox[{"ListPointPlot3D", "[", RowBox[{"{", RowBox[{"MyExpand", "[", RowBox[{"Take", "[", RowBox[{"List3D", ",", "N3D"}], "]"}], "]"}], "}"}], "]"}], ",", RowBox[{"ImageSize", "->", RowBox[{"{", RowBox[{"400", ",", "400"}], "}"}]}]}], "]"}]}], "]"}]}]}], "]"}], ",", " ", RowBox[{"(*", " ", RowBox[{ "Controls", " ", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "===", "="}], " ", "*)"}], " ", RowBox[{"Row", "[", RowBox[{ RowBox[{"{", " ", RowBox[{ RowBox[{"Control", "[", RowBox[{"{", RowBox[{"show", ",", RowBox[{"{", RowBox[{ "\"\< PPT 1 \>\"", ",", "\"\< PPT 2 \>\"", ",", "\"\< PPT 1 & 2 \>\"", ",", "\"\< PT \>\""}], "}"}]}], "}"}], "]"}], ",", "\"\< \>\"", ",", " ", RowBox[{"PaneSelector", "[", RowBox[{ RowBox[{"{", " ", RowBox[{"True", "->", RowBox[{"Row", "[", RowBox[{"{", RowBox[{ RowBox[{"Control", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"SqRoot", ",", "False", ",", RowBox[{"TraditionalForm", "[", RowBox[{"Sqrt", "[", RowBox[{"x", "+", RowBox[{"y", " ", "I"}]}], "]"}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"False", ",", "True"}], "}"}]}], "}"}], "]"}], ",", "\"\< \>\"", ",", RowBox[{"Control", "[", RowBox[{"{", RowBox[{"tooltip", ",", RowBox[{"{", RowBox[{"False", ",", "True"}], "}"}]}], "}"}], "]"}]}], "}"}], "]"}]}], " ", "}"}], ",", RowBox[{"Dynamic", "[", RowBox[{"with", "===", "\"\< 2D \>\""}], "]"}]}], "]"}]}], " ", "}"}], ",", "\"\< \>\""}], "]"}], ",", " ", RowBox[{"{", RowBox[{"with", ",", RowBox[{"{", RowBox[{ "\"\< 2D \>\"", ",", "\"\< 3D \>\"", ",", "\"\< 3D with redundants \>\""}], "}"}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{"range", ",", "0", ",", "10000", ",", "1", ",", RowBox[{"ImageSize", "->", "Large"}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"maxValue", ",", "3"}], "}"}], ",", RowBox[{"ControlType", "->", "None"}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"bufPM", ",", RowBox[{"{", "}"}]}], "}"}], ",", RowBox[{"ControlType", "->", "None"}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"bufP1", ",", RowBox[{"{", "}"}]}], "}"}], ",", RowBox[{"ControlType", "->", "None"}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"bufP2", ",", RowBox[{"{", "}"}]}], "}"}], ",", RowBox[{"ControlType", "->", "None"}]}], "}"}], ",", " ", RowBox[{"AutorunSequencing", "->", RowBox[{"{", RowBox[{"1", ",", "2", ",", "3", ",", "4"}], "}"}]}], ",", " ", RowBox[{"Initialization", ":>", RowBox[{"(", " ", RowBox[{"(*", " ", RowBox[{ RowBox[{ RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", " ", "Constant"}]}]}]}]}]}]}]}]}]}]}], " ", RowBox[{ RowBox[{ RowBox[{"Definitions", " ", "--"}], "--"}], "--"}]}], "-", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", "-"}]}]}]}]}]}]}]}]}]}]}]}]}], " ", "*)"}], " ", RowBox[{"(*", RowBox[{ RowBox[{"xyMax", "=", "4500"}], ";"}], "*)"}], RowBox[{"(*", " ", RowBox[{ RowBox[{"Stop", " ", "recursion", " ", "when", " ", "x"}], ">", RowBox[{"xyMax", " ", "or", " ", "y"}], ">", "xyMax"}], " ", "*)"}], " ", RowBox[{ RowBox[{"xyMax", "=", "10000"}], ";", " ", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"NOTE", "!!"}], "!!"}], "!!"}], "!!"}], "!!"}], "!!"}], "!!"}], "!!"}], "!!"}], "!!"}], " ", "Uncomment", " ", "to", " ", "extend", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"range", " ", "!!"}], "!!"}], "!!"}], "!!"}], "!!"}], "!!"}], "!!"}], "!!"}], "!"}]}], "*)"}], " ", RowBox[{"M0", " ", "=", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", " ", "2", ",", " ", "2"}], " ", "}"}], ",", RowBox[{"{", RowBox[{"2", " ", ",", "1", " ", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", " ", "2", ",", " ", "3"}], " ", "}"}]}], "}"}]}], ";", " ", RowBox[{"M1", "=", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", RowBox[{"-", "2"}], ",", RowBox[{"-", "2"}]}], "}"}], ",", RowBox[{"{", RowBox[{"2", " ", ",", "1", " ", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", " ", "2", ",", " ", "3"}], " ", "}"}]}], "}"}]}], ";", " ", " ", RowBox[{"M2", "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "2", ",", " ", "2"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", RowBox[{"-", "1"}], ",", RowBox[{"-", "2"}]}], "}"}], ",", RowBox[{"{", RowBox[{"2", " ", ",", "2", ",", " ", "3"}], "}"}]}], "}"}]}], ";", " ", RowBox[{"Mp", " ", "=", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", RowBox[{"-", "2"}], ",", RowBox[{"-", "2"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", RowBox[{"-", "1"}], ",", RowBox[{"-", "2"}]}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", " ", "2", ",", " ", "3"}], " ", "}"}]}], "}"}]}], ";", " ", RowBox[{"(*", RowBox[{ RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", "SquareRoot"}]}]}]}]}]}]}]}]}], " ", "of", " ", "complex", " ", "number", " ", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}], "--"}], "--"}], RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"-", RowBox[{"--", "-"}]}]}]}]}]}]}]}]}]}]}]}], " ", "*)"}], " ", RowBox[{ RowBox[{"Pt2dSQRT", "[", "pt2d_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"pt", "=", "pt2d"}], ",", "angle", ",", "abs"}], "}"}], ",", " ", RowBox[{ RowBox[{"abs", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"pt", "[", RowBox[{"[", "1", "]"}], "]"}], "^", "2"}], "+", RowBox[{ RowBox[{"pt", "[", RowBox[{"[", "2", "]"}], "]"}], "^", "2"}]}], ")"}], "^", RowBox[{"(", RowBox[{"1", "/", "4"}], ")"}]}]}], ";", RowBox[{"angle", "=", RowBox[{ RowBox[{"ArcTan", "[", RowBox[{ RowBox[{"pt", "[", RowBox[{"[", "2", "]"}], "]"}], "/", RowBox[{"pt", "[", RowBox[{"[", "1", "]"}], "]"}]}], "]"}], "/", "2"}]}], ";", " ", RowBox[{"{", RowBox[{ RowBox[{"N", "[", RowBox[{"abs", "*", RowBox[{"Cos", "[", "angle", "]"}]}], "]"}], ",", RowBox[{"N", "[", " ", RowBox[{"abs", "*", RowBox[{"Sin", "[", "angle", "]"}]}], "]"}]}], "}"}]}]}], "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{ RowBox[{ RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", " ", "PPT"}]}]}]}]}]}]}]}]}]}]}], " ", "Library", " ", "Function", " ", RowBox[{ RowBox[{ RowBox[{"Definitions", " ", "--"}], "--"}], "--"}]}], "-", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", "--"}]}]}]}]}]}]}], " ", "*)"}], " ", RowBox[{ RowBox[{"PPxyz", "[", "root_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"done", "=", "False"}], ",", RowBox[{"keeper", "=", "True"}]}], "}"}], ",", RowBox[{ RowBox[{"done", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"root", "[", RowBox[{"[", "1", "]"}], "]"}], ">", "maxValue"}], ")"}], " ", "||", " ", RowBox[{"(", RowBox[{ RowBox[{"root", "[", RowBox[{"[", "2", "]"}], "]"}], ">", "maxValue"}], ")"}]}]}], " ", ";", " ", RowBox[{"If", "[", RowBox[{"done", ",", RowBox[{"keeper", "=", "False"}], ",", " ", RowBox[{ RowBox[{"AppendTo", "[", RowBox[{"bufP1", ",", "root"}], "]"}], ";", RowBox[{"AppendTo", "[", RowBox[{"bufP2", ",", RowBox[{"{", RowBox[{ RowBox[{"root", "[", RowBox[{"[", "2", "]"}], "]"}], ",", RowBox[{"root", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"root", "[", RowBox[{"[", "3", "]"}], "]"}]}], "}"}]}], "]"}], ";", " ", RowBox[{"bufPM", "=", RowBox[{"Join", "[", RowBox[{"bufPM", ",", RowBox[{"PMult", "[", RowBox[{"maxValue", ",", "root"}], "]"}]}], "]"}]}], ";", " ", RowBox[{"PPxyz", "[", RowBox[{"root", ".", "M0"}], "]"}], ";", RowBox[{"PPxyz", "[", RowBox[{"root", ".", "M1"}], "]"}], ";", RowBox[{"PPxyz", "[", RowBox[{"root", ".", "M2"}], "]"}]}]}], "]"}]}]}], "]"}]}], ";", " ", RowBox[{ RowBox[{"PPList", "[", "xyRange_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "}"}], ",", RowBox[{ RowBox[{"bufP1", "=", RowBox[{"{", "}"}]}], ";", RowBox[{"bufP2", "=", RowBox[{"{", "}"}]}], ";", RowBox[{"bufPM", "=", RowBox[{"{", "}"}]}], ";", RowBox[{"maxValue", "=", "xyRange"}], ";", RowBox[{"PPxyz", "[", RowBox[{"{", RowBox[{"3", ",", "4", ",", "5"}], "}"}], "]"}]}]}], "]"}]}], ";", " ", RowBox[{ RowBox[{"PMult", "[", RowBox[{"xyRange_", ",", "root_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"buf", "=", RowBox[{"{", "}"}]}], ",", "k"}], "}"}], ",", " ", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"k", "=", RowBox[{"Floor", "[", RowBox[{"xyRange", "/", RowBox[{"Max", "[", RowBox[{ RowBox[{"root", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"root", "[", RowBox[{"[", "2", "]"}], "]"}]}], "]"}]}], " ", "]"}]}], ",", RowBox[{"k", ">", "1"}], ",", RowBox[{"k", "--"}], ",", " ", RowBox[{ RowBox[{"AppendTo", "[", RowBox[{"buf", ",", RowBox[{"k", "*", "root"}]}], "]"}], ";", RowBox[{"AppendTo", "[", RowBox[{"buf", ",", RowBox[{"k", "*", RowBox[{"{", RowBox[{ RowBox[{"root", "[", RowBox[{"[", "2", "]"}], "]"}], ",", RowBox[{"root", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"root", "[", RowBox[{"[", "3", "]"}], "]"}]}], "}"}]}]}], "]"}], ";"}]}], " ", "]"}], ";", "buf"}]}], "]"}]}], ";", " ", RowBox[{ RowBox[{"MyReflect", "[", "pt_", "]"}], ":=", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"pt", ".", "#"}], "&"}], ",", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"DiagonalMatrix", "[", "#", "]"}], "&"}], ",", RowBox[{"Tuples", "[", RowBox[{ RowBox[{"{", RowBox[{"1", ",", RowBox[{"-", "1"}]}], "}"}], ",", "3"}], "]"}]}], "]"}]}], "]"}]}], ";", " ", RowBox[{ RowBox[{"MyExpand", "[", "ptList_", "]"}], ":=", RowBox[{"Flatten", "[", RowBox[{ RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"MyReflect", "[", "#", "]"}], "&"}], ",", "ptList"}], "]"}], ",", "1"}], "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{ RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", " ", "Pre"}]}]}]}]}]}]}]}]}]}]}], " ", "Calculated", " ", "PPT", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Lists", " ", "--"}], "--"}], "--"}], "--"}], RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", RowBox[{"--", "--"}]}]}]}]}]}]}]}]}]}]}], " ", "*)"}], " ", RowBox[{"n", "=", "200"}], ";", " ", RowBox[{"PPList", "[", "xyMax", "]"}], ";", " ", RowBox[{"ppt2D1", "=", RowBox[{"Sort", "[", RowBox[{"bufP1", ",", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"Max", "[", RowBox[{ RowBox[{ "#", "[[", "1", "]]"}], ",", RowBox[{ "#", "[[", "2", "]]"}]}], "]"}], "<", RowBox[{"Max", "[", RowBox[{ RowBox[{ "#2", "[[", "1", "]]"}], ",", RowBox[{ "#2", "[[", "2", "]]"}]}], "]"}]}], "&"}], ")"}]}], "]"}]}], ";", " ", RowBox[{"ppt2D2", "=", RowBox[{"Sort", "[", RowBox[{"bufP2", ",", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"Max", "[", RowBox[{ RowBox[{ "#", "[[", "1", "]]"}], ",", RowBox[{ "#", "[[", "2", "]]"}]}], "]"}], "<", RowBox[{"Max", "[", RowBox[{ RowBox[{ "#2", "[[", "1", "]]"}], ",", RowBox[{ "#2", "[[", "2", "]]"}]}], "]"}]}], "&"}], ")"}]}], "]"}]}], ";", " ", RowBox[{"ppt2D", "=", RowBox[{"Join", "[", RowBox[{"ppt2D1", ",", "ppt2D2"}], "]"}]}], ";", RowBox[{"bufP1", "=", RowBox[{"{", "}"}]}], ";", RowBox[{"bufP2", "=", RowBox[{"{", "}"}]}], ";", " ", RowBox[{"ppt2D", "=", RowBox[{"Sort", "[", RowBox[{"ppt2D", ",", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"Max", "[", RowBox[{ RowBox[{ "#", "[[", "1", "]]"}], ",", RowBox[{ "#", "[[", "2", "]]"}]}], "]"}], "<", RowBox[{"Max", "[", RowBox[{ RowBox[{ "#2", "[[", "1", "]]"}], ",", RowBox[{ "#2", "[[", "2", "]]"}]}], "]"}]}], "&"}], ")"}]}], "]"}]}], ";", " ", RowBox[{"pt2D", "=", RowBox[{"Join", "[", RowBox[{"ppt2D1", ",", "ppt2D2", ",", "bufPM"}], "]"}]}], ";", " ", RowBox[{"bufPM", "=", RowBox[{"{", "}"}]}], ";", " ", RowBox[{"pt2D", "=", RowBox[{"Sort", "[", RowBox[{"pt2D", ",", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"Max", "[", RowBox[{ RowBox[{ "#", "[[", "1", "]]"}], ",", RowBox[{ "#", "[[", "2", "]]"}]}], "]"}], "<", RowBox[{"Max", "[", RowBox[{ RowBox[{ "#2", "[[", "1", "]]"}], ",", RowBox[{ "#2", "[[", "2", "]]"}]}], "]"}]}], "&"}], ")"}]}], "]"}]}], ";", " ", RowBox[{"ppt3D1", "=", RowBox[{"Take", "[", RowBox[{"ppt2D1", ",", "n"}], "]"}]}], ";", " ", RowBox[{"ppt3D2", "=", RowBox[{"Take", "[", RowBox[{"ppt2D2", ",", "n"}], "]"}]}], ";", " ", RowBox[{"ppt3D", "=", RowBox[{"Take", "[", RowBox[{"ppt2D", ",", RowBox[{"2", "*", "n"}]}], "]"}]}], ";", " ", RowBox[{"pt3D", "=", "pt2D"}], ";", " ", RowBox[{"ppt2D1", "=", RowBox[{"Drop", "[", RowBox[{"ppt2D1", ",", "0", ",", RowBox[{"-", "1"}]}], "]"}]}], ";", " ", RowBox[{"ppt2D2", "=", RowBox[{"Drop", "[", RowBox[{"ppt2D2", ",", "0", ",", RowBox[{"-", "1"}]}], "]"}]}], ";", " ", RowBox[{"ppt2D", "=", RowBox[{"Drop", "[", RowBox[{"ppt2D", ",", "0", ",", RowBox[{"-", "1"}]}], "]"}]}], ";", " ", RowBox[{"pt2D", "=", RowBox[{"Drop", "[", RowBox[{"pt2D", ",", "0", ",", RowBox[{"-", "1"}]}], "]"}]}], ";", " ", RowBox[{"showT", "=", RowBox[{"{", RowBox[{ "\"\< PPT 1 \>\"", ",", "\"\< PPT 2 \>\"", ",", "\"\< PPT 1 & 2 \>\"", ",", "\"\< PT \>\""}], "}"}]}], ";", RowBox[{"withT", "=", RowBox[{"{", RowBox[{ "\"\< 2D \>\"", ",", "\"\< 3D \>\"", ",", "\"\< 3D with redundants \>\""}], "}"}]}], ";", " ", RowBox[{"MaxRange", "=", "10000"}], ";", " ", RowBox[{"(*", RowBox[{ "Scale", " ", "Multipliers", " ", "for", " ", "standard", " ", "Slider"}], "*)"}], " ", RowBox[{"Mppt2D", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Length", "[", "ppt2D1", "]"}], "-", "22"}], ")"}], "/", "MaxRange"}]}], ";", " ", RowBox[{"Mpt2D", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Length", "[", "pt2D", "]"}], "-", "68"}], ")"}], "/", "MaxRange"}]}], ";", " ", RowBox[{"Mppt3D", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Length", "[", "ppt3D1", "]"}], "-", "22"}], ")"}], "/", "MaxRange"}]}], ";", " ", RowBox[{"Mpt3D", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Length", "[", "pt3D", "]"}], "-", "68"}], ")"}], "/", "MaxRange"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{ "Index", " ", "from", " ", "ppt2D1", " ", "to", " ", "corresponding", " ", "entry", " ", "in", " ", "pt2D"}], " ", "*)"}], " ", RowBox[{"ipt", "=", RowBox[{"{", "}"}]}], ";", RowBox[{"j", "=", "3"}], ";", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "<", RowBox[{ RowBox[{"Length", "[", "ppt2D1", "]"}], "+", "1"}]}], ",", RowBox[{"i", "++"}], ",", RowBox[{ RowBox[{"notID", "=", "True"}], ";", RowBox[{"j", "=", RowBox[{"j", "-", "2"}]}], ";", " ", RowBox[{"While", "[", RowBox[{"notID", ",", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"ppt2D1", "[", RowBox[{"[", "i", "]"}], "]"}], "==", RowBox[{"pt2D", "[", RowBox[{"[", "j", "]"}], "]"}]}], ",", RowBox[{ RowBox[{"AppendTo", "[", RowBox[{"ipt", ",", "j"}], "]"}], ";", RowBox[{"notID", "=", "False"}]}], ",", RowBox[{"notID", "=", "True"}]}], "]"}], ";", RowBox[{"j", "++"}]}]}], "]"}]}]}], "]"}], ";"}], " ", ")"}]}]}], "]"}]], "Input", CellGroupingRules->{"GroupTogetherGrouping", 10000.}, CellChangeTimes->{ 3.35696210375764*^9, 3.4900578520239725`*^9, {3.490057901286791*^9, 3.490057925847195*^9}, {3.4900579844225454`*^9, 3.490057985230592*^9}, {3.4900582148867273`*^9, 3.4900583209587946`*^9}, 3.490059037742792*^9, { 3.490059402864676*^9, 3.4900594120011983`*^9}, { 3.490059515609124*^9, 3.4900595403695407`*^9}, { 3.490060001985944*^9, 3.4900600655535793`*^9}, { 3.4900601385457544`*^9, 3.4900602136670513`*^9}, { 3.4900602659940443`*^9, 3.4900603107956066`*^9}, { 3.490060452680722*^9, 3.4900605160513463`*^9}, 3.4900625001208286`*^9, 3.4900625506527195`*^9, { 3.490062664605237*^9, 3.4900626806201525`*^9}, { 3.4900627554614334`*^9, 3.4900628343229437`*^9}, { 3.4900628717630854`*^9, 3.4900629179147253`*^9}, 3.4900633065309525`*^9, {3.4900640403389244`*^9, 3.4900640933709574`*^9}, 3.4900641448128996`*^9, { 3.4900641758046722`*^9, 3.4900642115727186`*^9}, { 3.4900653923252535`*^9, 3.49006541482154*^9}, 3.4900662838952484`*^9, {3.490066324818589*^9, 3.490066350068033*^9}, 3.4900665025627556`*^9, 3.490066604420581*^9, {3.4900666533083773`*^9, 3.490066671119396*^9}, {3.490066760502509*^9, 3.490066840182066*^9}, {3.4900672913568716`*^9, 3.490067356279585*^9}, {3.490067419007173*^9, 3.4900674195912066`*^9}, {3.490067536879915*^9, 3.49006755532897*^9}, 3.490067589129904*^9, 3.490067665961298*^9, 3.490067771672344*^9, 3.4900678084564486`*^9, { 3.4900680568496556`*^9, 3.490068064955119*^9}, { 3.4900680952248507`*^9, 3.490068124432521*^9}, { 3.4900682574661303`*^9, 3.490068285329724*^9}, { 3.490068400177293*^9, 3.4900684957027564`*^9}, { 3.4900685262165017`*^9, 3.4900685265985236`*^9}, { 3.49008280366464*^9, 3.490082861546951*^9}, {3.490082913314912*^9, 3.4900829279467487`*^9}, {3.49008303462385*^9, 3.4900830418652644`*^9}, {3.49008313129938*^9, 3.490083132266435*^9}, {3.490083207953764*^9, 3.4900832125540276`*^9}, {3.490083486117674*^9, 3.4900834965182695`*^9}, {3.490083561900009*^9, 3.4900835624510403`*^9}, {3.4900836411955442`*^9, 3.4900836421706*^9}, {3.49008421458034*^9, 3.4900842183605556`*^9}, {3.4900843335961475`*^9, 3.4900843415756035`*^9}, {3.490084447451659*^9, 3.4900844729391174`*^9}, {3.4900848270913734`*^9, 3.490084832237668*^9}, {3.4900848648055305`*^9, 3.490084872643979*^9}, 3.4900849803151374`*^9, { 3.490085019335369*^9, 3.4900850544853797`*^9}, { 3.4900852264102135`*^9, 3.490085239478961*^9}, { 3.490085387306416*^9, 3.4900854700351477`*^9}, { 3.4900858415403967`*^9, 3.490085863006624*^9}, { 3.490085904375991*^9, 3.4900859400250297`*^9}, 3.490086003417656*^9, 3.490086346464277*^9, 3.4900870293883376`*^9, 3.4900871995450697`*^9, 3.490087308369294*^9, { 3.490087393096141*^9, 3.490087414848385*^9}, { 3.4900876062543325`*^9, 3.490087625543436*^9}, 3.4900876827037053`*^9, 3.4900877673115444`*^9, { 3.490087875380726*^9, 3.4900878963699265`*^9}, 3.490088792944207*^9, {3.490088898794262*^9, 3.4900889351293397`*^9}, {3.4900893117218795`*^9, 3.4900893178222284`*^9}, 3.490089519462762*^9, { 3.4900898980124135`*^9, 3.4900899029476957`*^9}, 3.4900904908373213`*^9, {3.490090887289997*^9, 3.490090894977437*^9}, {3.4900909706467648`*^9, 3.490090978976241*^9}, {3.4900910326973143`*^9, 3.4900910332883472`*^9}, 3.490091082507163*^9, { 3.49009112877981*^9, 3.490091132604028*^9}, {3.490091278516374*^9, 3.490091279882452*^9}, {3.490091316749561*^9, 3.4900913190526924`*^9}, {3.490091382311311*^9, 3.490091495487784*^9}, 3.4900916336586866`*^9, 3.4900917735726895`*^9, {3.4901019250353203`*^9, 3.490101931114668*^9}, 3.490196899087525*^9, {3.490196957080842*^9, 3.4901969611730757`*^9}, {3.4901969930528994`*^9, 3.4901969978281727`*^9}, {3.4901971842878375`*^9, 3.4901971950574536`*^9}, 3.4901972391399746`*^9, { 3.4903518397716255`*^9, 3.490351909322603*^9}, 3.490352923093588*^9, {3.4903529885463314`*^9, 3.4903530367420883`*^9}, {3.490353105347012*^9, 3.4903531929620233`*^9}, {3.4903533306358976`*^9, 3.490353609508848*^9}, {3.49035373437399*^9, 3.490353766467826*^9}, 3.490353839678013*^9, {3.490353925264909*^9, 3.4903539631860776`*^9}, {3.4903541992255783`*^9, 3.490354230811385*^9}, {3.490354274888906*^9, 3.490354324804761*^9}, {3.490354364837051*^9, 3.490354375087637*^9}, {3.490354425043494*^9, 3.4903544282776794`*^9}, {3.490354542370205*^9, 3.4903545627493706`*^9}, {3.4903550431608486`*^9, 3.4903550487891703`*^9}, {3.4903551369272118`*^9, 3.4903551580264187`*^9}, {3.4903567337105427`*^9, 3.4903567513875537`*^9}, {3.490356788701688*^9, 3.4903567932309465`*^9}, {3.4903569352610703`*^9, 3.490357010306363*^9}, {3.490359842914379*^9, 3.490359850364805*^9}, {3.490360526451475*^9, 3.490360571908075*^9}, 3.4903609539689274`*^9, { 3.4903684194849305`*^9, 3.490368500969591*^9}, { 3.490368550309413*^9, 3.4903685559967384`*^9}, 3.4903687120736656`*^9, 3.4903687570052357`*^9, 3.490368819612817*^9, {3.4903694569332695`*^9, 3.4903695638473845`*^9}, {3.4903696283160715`*^9, 3.4903696363765326`*^9}, {3.490369807278308*^9, 3.4903698642785683`*^9}, {3.49036994070994*^9, 3.490369991184827*^9}, 3.4903706114253025`*^9, 3.4903706468583293`*^9, 3.4903707257378407`*^9, { 3.490375514094719*^9, 3.4903755507718167`*^9}, 3.490375669665617*^9, {3.49037579559182*^9, 3.4903758371221952`*^9}, 3.490574040101757*^9, { 3.490574116416122*^9, 3.4905741443767214`*^9}, 3.490575583808052*^9, {3.490575635189991*^9, 3.490575722571989*^9}, 3.4905757581980267`*^9, {3.490575820535592*^9, 3.490575856834668*^9}, {3.490575925105573*^9, 3.4905759630607443`*^9}, {3.4905760349638567`*^9, 3.490576071578951*^9}, 3.4905761825492983`*^9, 3.4905762469989843`*^9, {3.4905763956974897`*^9, 3.490576413919532*^9}, {3.490576475233039*^9, 3.490576486232668*^9}, {3.490576864855324*^9, 3.490576875869954*^9}, {3.490576979878903*^9, 3.4905769897154655`*^9}, {3.4905770431005187`*^9, 3.4905770497729006`*^9}, {3.4905779110291615`*^9, 3.490577920703715*^9}, {3.4905788454676085`*^9, 3.4905788584383507`*^9}, {3.4905791806827817`*^9, 3.490579206665268*^9}, 3.4905799112025647`*^9, { 3.4905806596363726`*^9, 3.4905807012247515`*^9}, 3.490582326252698*^9, {3.4905823702242126`*^9, 3.490582385334077*^9}, {3.49058241667587*^9, 3.4905824531589565`*^9}, {3.4905826049766397`*^9, 3.4905826133041162`*^9}, {3.4905826707234*^9, 3.490582684017161*^9}, {3.490582767623943*^9, 3.4905827741863184`*^9}, 3.490582953911598*^9, { 3.4905830108238535`*^9, 3.490583034849227*^9}, { 3.4905830868762035`*^9, 3.4905831564231806`*^9}, { 3.4905833639470506`*^9, 3.490583399723097*^9}, { 3.49058349261141*^9, 3.4905835267023597`*^9}, { 3.4905837912424903`*^9, 3.4905838039222155`*^9}, { 3.4905859608985877`*^9, 3.49058596828901*^9}, 3.490586089988971*^9, {3.4905866411244946`*^9, 3.490586757634158*^9}, {3.4905868016236744`*^9, 3.490586844852147*^9}, 3.490586946377954*^9, {3.490587051596972*^9, 3.490587053687092*^9}, {3.4905870943654184`*^9, 3.490587107588175*^9}, {3.4905871471584377`*^9, 3.4905871556519237`*^9}, 3.4905872352524767`*^9, 3.4905872911136713`*^9, {3.490587347523898*^9, 3.490587369328145*^9}, {3.49058741293464*^9, 3.490587426635423*^9}, {3.4905876742315845`*^9, 3.490587743343538*^9}, 3.490587810432375*^9, {3.490588146695608*^9, 3.4905881743181877`*^9}, 3.4905887518172193`*^9, { 3.4906089478623667`*^9, 3.4906089723487673`*^9}, 3.4906090450939283`*^9, {3.490613641455825*^9, 3.4906136605749187`*^9}, 3.490628811068677*^9, 3.490635036788768*^9, {3.490635533304167*^9, 3.4906355833960314`*^9}, {3.4906356930433035`*^9, 3.490635709364237*^9}, 3.490635953583205*^9, {3.490688143914362*^9, 3.490688217872592*^9}, {3.4906882795291185`*^9, 3.4906883655470386`*^9}, {3.4906883959537773`*^9, 3.4906884134167767`*^9}, 3.4906884545931315`*^9, { 3.490688518360779*^9, 3.4906885336346526`*^9}, { 3.4906886624140186`*^9, 3.4906886667422657`*^9}, { 3.490688709259698*^9, 3.4906887102677555`*^9}, { 3.4906888133026485`*^9, 3.4906888209420853`*^9}, { 3.490688852767906*^9, 3.4906888575071774`*^9}, 3.4906888904170594`*^9, {3.490688987404607*^9, 3.4906890141471367`*^9}, 3.490689093864696*^9, { 3.490689501075987*^9, 3.4906895019890394`*^9}, { 3.4906895688828654`*^9, 3.4906895691648817`*^9}, 3.4906896615561657`*^9, 3.49068980097414*^9, {3.490689857706385*^9, 3.490689919654928*^9}, {3.490689999688506*^9, 3.4906900068979187`*^9}, {3.490690168281149*^9, 3.490690178101711*^9}, {3.4906903468663635`*^9, 3.4906904053547087`*^9}, {3.490690472409544*^9, 3.490690476810796*^9}, {3.490690507985579*^9, 3.4906905350991297`*^9}, 3.490690689841981*^9, 3.490690802302413*^9, 3.490690879138808*^9, { 3.4906910812913704`*^9, 3.490691082985467*^9}, { 3.4906911390866756`*^9, 3.4906911408077745`*^9}, { 3.4906914496954417`*^9, 3.4906914639342566`*^9}, { 3.4906915094868617`*^9, 3.4906915212545347`*^9}, { 3.4906915779877796`*^9, 3.4906915819100037`*^9}, 3.49069191560109*^9, {3.490699168413927*^9, 3.490699221281951*^9}, {3.4906992517206917`*^9, 3.490699306859846*^9}, {3.490705412973096*^9, 3.490705430110076*^9}, {3.4907054972209144`*^9, 3.4907055594134717`*^9}, {3.4907056679196777`*^9, 3.490705675351103*^9}, {3.4907057282001257`*^9, 3.4907057350225153`*^9}, {3.490705802033348*^9, 3.490705809264762*^9}, {3.4908266553777647`*^9, 3.4908266600180297`*^9}, {3.490826708185785*^9, 3.4908267296350117`*^9}, {3.490826796894859*^9, 3.490826802845199*^9}, 3.4908268425104675`*^9, { 3.490862273519331*^9, 3.490862308726345*^9}, 3.4908623857937527`*^9, 3.4908625524422846`*^9, 3.490862706304085*^9, 3.4908629931464915`*^9, 3.490863049207698*^9, 3.4908631156755*^9, {3.4908631593259964`*^9, 3.490863171351684*^9}, {3.490863201616415*^9, 3.4908632357273664`*^9}, {3.4908632966918535`*^9, 3.490863328366665*^9}, 3.4908634646884623`*^9, { 3.4908635687164125`*^9, 3.4908636038854237`*^9}, 3.49086372656044*^9, 3.490863756954179*^9, 3.4908643140810447`*^9, 3.490865135259013*^9, 3.490865351241367*^9, 3.4908675352082825`*^9, {3.4908676383441815`*^9, 3.4908676442955217`*^9}, {3.490867751528655*^9, 3.4908677750139985`*^9}, {3.4908681360386477`*^9, 3.490868139099823*^9}, {3.490868269538284*^9, 3.4908682807359247`*^9}, 3.490868312987769*^9, 3.4908684231430693`*^9, 3.4908685390466986`*^9, { 3.490868684773034*^9, 3.4908687370390234`*^9}, { 3.4908687853887887`*^9, 3.4908688361636925`*^9}, { 3.4908688761799817`*^9, 3.490868914838193*^9}, 3.4908691316025915`*^9, 3.490869448547719*^9, 3.490869552099642*^9, {3.4908696653281183`*^9, 3.4908697069424987`*^9}, {3.4908698137226057`*^9, 3.4908698482375803`*^9}, {3.4908699265580597`*^9, 3.490869965584292*^9}, {3.4908701669818115`*^9, 3.4908702215309315`*^9}, {3.4908704798237047`*^9, 3.490870481590806*^9}, {3.4908705348238506`*^9, 3.4908705697688494`*^9}, {3.4908706415589557`*^9, 3.49087075807862*^9}, {3.4908708110206485`*^9, 3.4908708159489303`*^9}, {3.490871081997147*^9, 3.490871093780821*^9}, {3.4908711638308277`*^9, 3.490871174342429*^9}, {3.490871425644803*^9, 3.4908714527493534`*^9}, {3.490871585059921*^9, 3.490871672348913*^9}, {3.4908752693046474`*^9, 3.4908752928709955`*^9}, 3.490875458117447*^9, { 3.490875664173233*^9, 3.4908757251977234`*^9}, { 3.4908760749777293`*^9, 3.4908760758037767`*^9}, { 3.490876122848468*^9, 3.490876153331211*^9}, { 3.4908762030770564`*^9, 3.490876245556486*^9}, { 3.490876776620861*^9, 3.490876783560258*^9}, 3.4908771090078726`*^9, {3.4908771509892735`*^9, 3.49087716858428*^9}, 3.4908772534341335`*^9, { 3.4908778143562164`*^9, 3.490877873980626*^9}, 3.490877945466715*^9, {3.490878030573583*^9, 3.490878069907833*^9}, {3.4908781917268004`*^9, 3.490878206496645*^9}, 3.490878291770523*^9, { 3.4908783430064535`*^9, 3.4908783524149914`*^9}, 3.4908785045786943`*^9, {3.4908804457637243`*^9, 3.490880460413562*^9}, {3.490880521694067*^9, 3.4908805762211857`*^9}, {3.4908806639892063`*^9, 3.490880735734309*^9}, {3.490880966444505*^9, 3.490881051581375*^9}, 3.490887023576954*^9, { 3.4908871164062634`*^9, 3.4908871256637926`*^9}, { 3.490887157179595*^9, 3.4908871667631435`*^9}, { 3.490887232846923*^9, 3.490887236219116*^9}, 3.4908872943544407`*^9, 3.490887416075403*^9, { 3.4908874795550337`*^9, 3.490887528012806*^9}, { 3.4908875675490665`*^9, 3.4908875750734973`*^9}, { 3.49088760798238*^9, 3.4908877006786814`*^9}, { 3.490888003588007*^9, 3.4908881386637325`*^9}, { 3.490888173306714*^9, 3.4908881845133553`*^9}, { 3.490888232432096*^9, 3.490888268242144*^9}, { 3.4908882990419064`*^9, 3.49088830050299*^9}, { 3.490888385150831*^9, 3.4908883947473803`*^9}, { 3.490900269054551*^9, 3.4909002980572104`*^9}, { 3.4909005476394854`*^9, 3.4909005571650305`*^9}, { 3.490901156930335*^9, 3.4909011596194887`*^9}, { 3.4909011964835978`*^9, 3.490901247088492*^9}, { 3.4909013378986855`*^9, 3.4909013395727816`*^9}, { 3.4909014879312673`*^9, 3.490901501721056*^9}, { 3.4909016264931927`*^9, 3.4909016324235315`*^9}, { 3.4909016773931036`*^9, 3.4909016833284435`*^9}, { 3.4909017434848843`*^9, 3.490901751440339*^9}, { 3.4909017950218315`*^9, 3.4909018180021462`*^9}, { 3.4909025368772635`*^9, 3.4909026386430845`*^9}, { 3.490902748312357*^9, 3.490902783592375*^9}, 3.490902857605608*^9, {3.490902980787654*^9, 3.490902990740223*^9}, {3.4909030829904995`*^9, 3.4909031568777256`*^9}, 3.4909032150640535`*^9, { 3.4909034059979744`*^9, 3.490903407532062*^9}, { 3.4909034525066347`*^9, 3.490903469470605*^9}, { 3.4909036683449793`*^9, 3.4909036754773874`*^9}, { 3.4909150664889164`*^9, 3.4909151179468594`*^9}, { 3.4909151715019226`*^9, 3.4909152012766256`*^9}, { 3.490915349533106*^9, 3.4909153550854235`*^9}, { 3.490915450719893*^9, 3.490915458133317*^9}, { 3.4909155130324574`*^9, 3.490915569677697*^9}, { 3.490916032996197*^9, 3.4909160342222676`*^9}, { 3.49091606521104*^9, 3.4909160686152344`*^9}, { 3.4909161063783946`*^9, 3.4909161334669437`*^9}, { 3.4909161784415164`*^9, 3.490916214151559*^9}, 3.4909162554489207`*^9, {3.4909163332803726`*^9, 3.490916340716798*^9}, {3.4909168711821384`*^9, 3.4909168952325144`*^9}, {3.490916929260461*^9, 3.4909169362368593`*^9}, 3.490917020913703*^9, 3.4909170621130595`*^9, 3.490917192146497*^9, { 3.490917368828603*^9, 3.4909174279899864`*^9}, 3.490917482792121*^9, 3.49091753732624*^9, {3.4909176980864353`*^9, 3.4909177234218845`*^9}, {3.4909177971250997`*^9, 3.490917865577015*^9}, 3.490917923990356*^9, {3.490917955143138*^9, 3.490918025897185*^9}, {3.4909182125108585`*^9, 3.490918295605611*^9}, {3.49091833159867*^9, 3.4909183323217115`*^9}, {3.4909199118360543`*^9, 3.490919934180332*^9}, {3.4909202342564955`*^9, 3.490920238425734*^9}, 3.4909202881955805`*^9, { 3.49092032716881*^9, 3.4909203700532627`*^9}, { 3.490920443110441*^9, 3.4909204543890867`*^9}, { 3.4909209009136267`*^9, 3.490920970371599*^9}, { 3.490921038141475*^9, 3.4909210903354607`*^9}, 3.490921169800006*^9, {3.4909212189778185`*^9, 3.4909212197108603`*^9}, {3.49092125432384*^9, 3.490921320500625*^9}, {3.490921354392564*^9, 3.4909213609409385`*^9}, {3.4909214007022123`*^9, 3.4909214267317014`*^9}, {3.490922442409795*^9, 3.4909224874983735`*^9}, {3.4956421638092685`*^9, 3.4956422008743887`*^9}, {3.495647532981367*^9, 3.495647557052744*^9}, {3.4956476246636114`*^9, 3.495647682416915*^9}, {3.4956477329438047`*^9, 3.495647750766824*^9}, {3.495647792083187*^9, 3.49564779440232*^9}, {3.4956478779350977`*^9, 3.4956478784621277`*^9}, {3.4956487306888723`*^9, 3.495648731330909*^9}, {3.4956487689630613`*^9, 3.4956487695670958`*^9}, {3.4956488098844023`*^9, 3.4956488104214325`*^9}, {3.495648847507554*^9, 3.4956488481995935`*^9}, {3.4956488849976983`*^9, 3.495648885764742*^9}, 3.4956489174325533`*^9, { 3.4956489531175947`*^9, 3.49564895478469*^9}, { 3.495648997050107*^9, 3.4956489976981444`*^9}, { 3.4956490363553553`*^9, 3.4956490371434*^9}, {3.495649246441372*^9, 3.4956492651974444`*^9}, {3.495651762325272*^9, 3.4956517629043055`*^9}, {3.4956518001864376`*^9, 3.495651885781333*^9}, {3.495651964118814*^9, 3.4956519646358433`*^9}, {3.495652002179991*^9, 3.495652054226968*^9}, {3.495652084739713*^9, 3.495652108430068*^9}, {3.4956535328295393`*^9, 3.495653563648302*^9}, 3.49572678158253*^9, 3.4957268213608055`*^9, {3.4957282418120503`*^9, 3.4957282884587183`*^9}, {3.495818545746101*^9, 3.495818714828007*^9}, {3.49581888407693*^9, 3.495818889941517*^9}, {3.4958189477542973`*^9, 3.495819054419963*^9}, {3.495819136907211*^9, 3.4958192449560146`*^9}, {3.4971192071005297`*^9, 3.4971192134130297`*^9}, {3.4971192773036547`*^9, 3.4971192887880297`*^9}, {3.4971195713192797`*^9, 3.4971195728505297`*^9}, {3.4971205271036615`*^9, 3.497120558525738*^9}, {3.497121867838744*^9, 3.497121871901244*^9}, {3.4972293734756703`*^9, 3.497229373974871*^9}, {3.5059567452652216`*^9, 3.5059567973211994`*^9}, {3.5059569794646173`*^9, 3.5059569859079857`*^9}, {3.5059592146894646`*^9, 3.5059592451662083`*^9}, {3.505959276178982*^9, 3.5059593282589607`*^9}, {3.5059594125447817`*^9, 3.5059594702090797`*^9}, {3.505959574852065*^9, 3.5059595771531963`*^9}, 3.5059597530492573`*^9, { 3.5059600956268516`*^9, 3.5059601122688036`*^9}, { 3.505960210900445*^9, 3.505960211273466*^9}, {3.505960304296787*^9, 3.505960312822274*^9}, {3.5059604132890205`*^9, 3.5059604810008936`*^9}, {3.5059606601071377`*^9, 3.5059606839865036`*^9}, {3.5059616627364855`*^9, 3.5059617578009224`*^9}, {3.505961798273237*^9, 3.50596181125498*^9}, {3.5059618548504734`*^9, 3.505961903150236*^9}, {3.5059619376702104`*^9, 3.5059619411484094`*^9}, {3.5059620329756613`*^9, 3.5059620425552096`*^9}, 3.505962078210249*^9, { 3.505963729758712*^9, 3.5059637392812567`*^9}, { 3.5059641247223024`*^9, 3.505964151237819*^9}, { 3.50602704797569*^9, 3.506027052222933*^9}, { 3.5098893991527653`*^9, 3.5098894173768077`*^9}, 3.5098894688487515`*^9, 3.5098896870582323`*^9, 3.5100955744843197`*^9, {3.5103229691161957`*^9, 3.51032300405569*^9}, {3.5103230912714105`*^9, 3.510323092837567*^9}, 3.760777381819642*^9}], Cell[BoxData[ TagBox[ StyleBox[ DynamicModuleBox[{$CellContext`bufP1$$ = {}, $CellContext`bufP2$$ \ = {}, $CellContext`bufPM$$ = {}, $CellContext`maxValue$$ = 10000, $CellContext`range$$ = 0, $CellContext`show$$ = " PPT 1 ", $CellContext`SqRoot$$ = False, $CellContext`tooltip$$ = False, $CellContext`with$$ = " 2D ", Typeset`show$$ = True, Typeset`bookmarkList$$ = {}, Typeset`bookmarkMode$$ = "Menu", Typeset`animator$$, Typeset`animvar$$ = 1, Typeset`name$$ = "\"untitled\"", Typeset`specs$$ = {{ Hold[$CellContext`show$$], { " PPT 1 ", " PPT 2 ", " PPT 1 & 2 ", " PT "}}, {{ Hold[$CellContext`SqRoot$$], False, TraditionalForm[($CellContext`x + Complex[0, 1] $CellContext`y)^Rational[1, 2]]}, { False, True}}, { Hold[$CellContext`tooltip$$], {False, True}}, { Hold[ Row[{ Manipulate`Place[1], " ", PaneSelector[{True -> Row[{ Manipulate`Place[2], " ", Manipulate`Place[3]}]}, Dynamic[$CellContext`with$$ === " 2D "]]}, " "]], Manipulate`Dump`ThisIsNotAControl}, { Hold[$CellContext`with$$], { " 2D ", " 3D ", " 3D with redundants "}}, { Hold[$CellContext`range$$], 0, 10000, 1}, {{ Hold[$CellContext`maxValue$$], 3}}, {{ Hold[$CellContext`bufPM$$], {}}}, {{ Hold[$CellContext`bufP1$$], {}}}, {{ Hold[$CellContext`bufP2$$], {}}}}, Typeset`size$$ = { 400., {198., 202.}}, Typeset`update$$ = 0, Typeset`initDone$$, Typeset`skipInitDone$$ = False, $CellContext`show$38398$$ = 0, $CellContext`SqRoot$38399$$ = False, $CellContext`tooltip$38400$$ = False, $CellContext`with$38401$$ = 0, $CellContext`range$38402$$ = 0}, DynamicBox[Manipulate`ManipulateBoxes[ 2, StandardForm, "Variables" :> {$CellContext`bufP1$$ = {}, $CellContext`bufP2$$ = \ {}, $CellContext`bufPM$$ = {}, $CellContext`maxValue$$ = 3, $CellContext`range$$ = 0, $CellContext`show$$ = " PPT 1 ", $CellContext`SqRoot$$ = False, $CellContext`tooltip$$ = False, $CellContext`with$$ = " 2D "}, "ControllerVariables" :> { Hold[$CellContext`show$$, $CellContext`show$38398$$, 0], Hold[$CellContext`SqRoot$$, $CellContext`SqRoot$38399$$, False], Hold[$CellContext`tooltip$$, $CellContext`tooltip$38400$$, False], Hold[$CellContext`with$$, $CellContext`with$38401$$, 0], Hold[$CellContext`range$$, $CellContext`range$38402$$, 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`ttp$, $CellContext`Nppt2D$, \ $CellContext`Npt2D$, $CellContext`MaxV$, $CellContext`psblk$, \ $CellContext`psblu$, $CellContext`Nppt3D$, $CellContext`List2D$, \ $CellContext`List3D$, $CellContext`N2D$, $CellContext`N3D$}, If[$CellContext`with$$ == Part[$CellContext`withT, 1], $CellContext`ttp$ = $CellContext`tooltip$$; \ $CellContext`Nppt2D$ = 22 + Floor[$CellContext`Mppt2D $CellContext`range$$]; \ $CellContext`Npt2D$ = Part[$CellContext`ipt, $CellContext`Nppt2D$]; \ $CellContext`MaxV$ = Max[ Part[$CellContext`ppt2D1, $CellContext`Nppt2D$, 1], Part[$CellContext`ppt2D1, $CellContext`Nppt2D$, 2]] + 1; If[$CellContext`MaxV$ < 400, $CellContext`psblk$ = Directive[Black, Opacity[1], PointSize[0.002 + 2/(10 + $CellContext`MaxV$)], Lighting -> None]; $CellContext`psblu$ = Directive[Blue, Opacity[1], PointSize[0.002 + 2/(10 + $CellContext`MaxV$)], Lighting -> None], $CellContext`psblk$ = Directive[Black, Opacity[1], Lighting -> None]; $CellContext`psblu$ = Directive[Blue, Opacity[1]], Lighting -> None], $CellContext`tooltip$$ = False; $CellContext`Nppt3D$ = 22 + Floor[$CellContext`Mppt3D $CellContext`range$$]; \ $CellContext`MaxV$ = Max[ Part[$CellContext`ppt3D1, $CellContext`Nppt3D$, 1], Part[$CellContext`ppt3D1, $CellContext`Nppt3D$, 2]] + 1]; Switch[$CellContext`with$$, Part[$CellContext`withT, 1], Switch[$CellContext`show$$, Part[$CellContext`showT, 1], $CellContext`List2D$ = $CellContext`ppt2D1; \ $CellContext`N2D$ = $CellContext`Nppt2D$, Part[$CellContext`showT, 2], $CellContext`List2D$ = $CellContext`ppt2D2; \ $CellContext`N2D$ = $CellContext`Nppt2D$, Part[$CellContext`showT, 3], $CellContext`List2D$ = $CellContext`ppt2D; \ $CellContext`N2D$ = 2 $CellContext`Nppt2D$, Part[$CellContext`showT, 4], $CellContext`List2D$ = $CellContext`pt2D; \ $CellContext`N2D$ = $CellContext`Npt2D$]; If[ And[$CellContext`tooltip$$, $CellContext`N2D$ < 9000], $CellContext`ttp$ = True, $CellContext`ttp$ = False], Part[$CellContext`withT, 2], Switch[$CellContext`show$$, Part[$CellContext`showT, 1], $CellContext`List3D$ = $CellContext`ppt3D1; \ $CellContext`N3D$ = $CellContext`Nppt3D$, Part[$CellContext`showT, 2], $CellContext`List3D$ = $CellContext`ppt3D2; \ $CellContext`N3D$ = $CellContext`Nppt3D$, Part[$CellContext`showT, 3], $CellContext`List3D$ = $CellContext`ppt3D; \ $CellContext`N3D$ = 2 $CellContext`Nppt3D$, Part[$CellContext`showT, 4], $CellContext`List3D$ = $CellContext`pt3D; \ $CellContext`N3D$ = Part[$CellContext`ipt, $CellContext`Nppt3D$]], Part[$CellContext`withT, 3], Switch[$CellContext`show$$, Part[$CellContext`showT, 1], $CellContext`List3D$ = $CellContext`ppt3D1; \ $CellContext`N3D$ = $CellContext`Nppt3D$, Part[$CellContext`showT, 2], $CellContext`List3D$ = $CellContext`ppt3D2; \ $CellContext`N3D$ = $CellContext`Nppt3D$, Part[$CellContext`showT, 3], $CellContext`List3D$ = $CellContext`ppt3D; \ $CellContext`N3D$ = 2 $CellContext`Nppt3D$, Part[$CellContext`showT, 4], $CellContext`List3D$ = $CellContext`pt3D; \ $CellContext`N3D$ = Part[$CellContext`ipt, $CellContext`Nppt3D$]]]; Switch[$CellContext`with$$, Part[$CellContext`withT, 1], ControlActive[ If[$CellContext`SqRoot$$, ListPlot[ Take[ Map[$CellContext`Pt2dSQRT, $CellContext`List2D$], \ $CellContext`N2D$], AspectRatio -> 1, PlotStyle -> $CellContext`psblu$, ImageSize -> {400, 400}], ListPlot[ Take[$CellContext`List2D$, $CellContext`N2D$], AspectRatio -> 1, PlotStyle -> $CellContext`psblu$, ImageSize -> {400, 400}]], If[$CellContext`ttp$, If[$CellContext`SqRoot$$, ListPlot[ Tooltip[ Take[ Map[$CellContext`Pt2dSQRT, $CellContext`List2D$], \ $CellContext`N2D$]], AspectRatio -> 1, PlotStyle -> $CellContext`psblk$, ImageSize -> {400, 400}], ListPlot[ Tooltip[ Take[$CellContext`List2D$, $CellContext`N2D$]], AspectRatio -> 1, PlotStyle -> $CellContext`psblk$, ImageSize -> {400, 400}]], If[$CellContext`SqRoot$$, ListPlot[ Take[ Map[$CellContext`Pt2dSQRT, $CellContext`List2D$], \ $CellContext`N2D$], AspectRatio -> 1, PlotStyle -> $CellContext`psblu$, ImageSize -> {400, 400}], ListPlot[ Take[$CellContext`List2D$, $CellContext`N2D$], AspectRatio -> 1, PlotStyle -> $CellContext`psblu$, ImageSize -> {400, 400}]]]], Part[$CellContext`withT, 2], Show[ Plot3D[{($CellContext`x $CellContext`x + $CellContext`y \ $CellContext`y)^ Rational[ 1, 2], -($CellContext`x $CellContext`x + $CellContext`y \ $CellContext`y)^ Rational[ 1, 2]}, {$CellContext`x, -$CellContext`MaxV$, \ $CellContext`MaxV$}, {$CellContext`y, -$CellContext`MaxV$, \ $CellContext`MaxV$}, Mesh -> None, ImagePadding -> 10, PlotStyle -> Directive[Blue, Opacity[0.2]]], ListPointPlot3D[{ Take[$CellContext`List3D$, $CellContext`N3D$]}], ImageSize -> {400, 400}], Part[$CellContext`withT, 3], Show[ Plot3D[{($CellContext`x $CellContext`x + $CellContext`y \ $CellContext`y)^ Rational[ 1, 2], -($CellContext`x $CellContext`x + $CellContext`y \ $CellContext`y)^ Rational[ 1, 2]}, {$CellContext`x, -$CellContext`MaxV$, \ $CellContext`MaxV$}, {$CellContext`y, -$CellContext`MaxV$, \ $CellContext`MaxV$}, Mesh -> None, ImagePadding -> 10, PlotStyle -> Directive[Blue, Opacity[0.2]]], ListPointPlot3D[{ $CellContext`MyExpand[ Take[$CellContext`List3D$, $CellContext`N3D$]]}], ImageSize -> {400, 400}]]], "Specifications" :> {{$CellContext`show$$, { " PPT 1 ", " PPT 2 ", " PPT 1 & 2 ", " PT "}, ControlPlacement -> 1}, {{$CellContext`SqRoot$$, False, TraditionalForm[($CellContext`x + Complex[0, 1] $CellContext`y)^Rational[1, 2]]}, { False, True}, ControlPlacement -> 2}, {$CellContext`tooltip$$, {False, True}, ControlPlacement -> 3}, Row[{ Manipulate`Place[1], " ", PaneSelector[{True -> Row[{ Manipulate`Place[2], " ", Manipulate`Place[3]}]}, Dynamic[$CellContext`with$$ === " 2D "]]}, " "], {$CellContext`with$$, { " 2D ", " 3D ", " 3D with redundants "}}, {$CellContext`range$$, 0, 10000, 1, ImageSize -> Large}, {{$CellContext`maxValue$$, 3}, ControlType -> None}, {{$CellContext`bufPM$$, {}}, ControlType -> None}, {{$CellContext`bufP1$$, {}}, ControlType -> None}, {{$CellContext`bufP2$$, {}}, ControlType -> None}}, "Options" :> {AutorunSequencing -> {1, 2, 3, 4}}, "DefaultOptions" :> {ControllerLinking -> True}], ImageSizeCache->{512., {268., 274.}}, SingleEvaluation->True], Deinitialization:>None, DynamicModuleValues:>{}, Initialization:>(($CellContext`xyMax = 10000; $CellContext`M0 = {{1, 2, 2}, {2, 1, 2}, {2, 2, 3}}; $CellContext`M1 = {{-1, -2, -2}, {2, 1, 2}, {2, 2, 3}}; $CellContext`M2 = {{1, 2, 2}, {-2, -1, -2}, {2, 2, 3}}; $CellContext`Mp = {{-1, -2, -2}, {-2, -1, -2}, {2, 2, 3}}; $CellContext`Pt2dSQRT[ Pattern[$CellContext`pt2d, Blank[]]] := Module[{$CellContext`pt = $CellContext`pt2d, \ $CellContext`angle, $CellContext`abs}, $CellContext`abs = ( Part[$CellContext`pt, 1]^2 + Part[$CellContext`pt, 2]^2)^( 1/4); $CellContext`angle = ArcTan[Part[$CellContext`pt, 2]/Part[$CellContext`pt, 1]]/2; { N[$CellContext`abs Cos[$CellContext`angle]], N[$CellContext`abs Sin[$CellContext`angle]]}]; $CellContext`PPxyz[ Pattern[$CellContext`root$, Blank[]]] := Module[{$CellContext`done$ = False, $CellContext`keeper$ = True}, $CellContext`done$ = Or[Part[$CellContext`root$, 1] > $CellContext`maxValue$$, Part[$CellContext`root$, 2] > $CellContext`maxValue$$]; If[$CellContext`done$, $CellContext`keeper$ = False, AppendTo[$CellContext`bufP1$$, $CellContext`root$]; AppendTo[$CellContext`bufP2$$, { Part[$CellContext`root$, 2], Part[$CellContext`root$, 1], Part[$CellContext`root$, 3]}]; $CellContext`bufPM$$ = Join[$CellContext`bufPM$$, $CellContext`PMult[$CellContext`maxValue$$, \ $CellContext`root$]]; $CellContext`PPxyz[ Dot[$CellContext`root$, $CellContext`M0]]; \ $CellContext`PPxyz[ Dot[$CellContext`root$, $CellContext`M1]]; \ $CellContext`PPxyz[ Dot[$CellContext`root$, $CellContext`M2]]]]; \ $CellContext`PPList[ Pattern[$CellContext`xyRange$, Blank[]]] := Module[{}, $CellContext`bufP1$$ = {}; $CellContext`bufP2$$ = \ {}; $CellContext`bufPM$$ = {}; $CellContext`maxValue$$ = \ $CellContext`xyRange$; $CellContext`PPxyz[{3, 4, 5}]]; $CellContext`PMult[ Pattern[$CellContext`xyRange, Blank[]], Pattern[$CellContext`root, Blank[]]] := Module[{$CellContext`buf = {}, $CellContext`k}, For[$CellContext`k = Floor[$CellContext`xyRange/Max[ Part[$CellContext`root, 1], Part[$CellContext`root, 2]]], $CellContext`k > 1, Decrement[$CellContext`k], AppendTo[$CellContext`buf, $CellContext`k \ $CellContext`root]; AppendTo[$CellContext`buf, $CellContext`k { Part[$CellContext`root, 2], Part[$CellContext`root, 1], Part[$CellContext`root, 3]}]; Null]; $CellContext`buf]; $CellContext`MyReflect[ Pattern[$CellContext`pt, Blank[]]] := Map[Dot[$CellContext`pt, #]& , Map[DiagonalMatrix[#]& , Tuples[{1, -1}, 3]]]; $CellContext`MyExpand[ Pattern[$CellContext`ptList, Blank[]]] := Flatten[ Map[$CellContext`MyReflect[#]& , $CellContext`ptList], 1]; $CellContext`n = 200; $CellContext`PPList[$CellContext`xyMax]; \ $CellContext`ppt2D1 = Sort[$CellContext`bufP1$$, Max[ Part[#, 1], Part[#, 2]] < Max[ Part[#2, 1], Part[#2, 2]]& ]; $CellContext`ppt2D2 = Sort[$CellContext`bufP2$$, Max[ Part[#, 1], Part[#, 2]] < Max[ Part[#2, 1], Part[#2, 2]]& ]; $CellContext`ppt2D = Join[$CellContext`ppt2D1, $CellContext`ppt2D2]; \ $CellContext`bufP1$$ = {}; $CellContext`bufP2$$ = {}; \ $CellContext`ppt2D = Sort[$CellContext`ppt2D, Max[ Part[#, 1], Part[#, 2]] < Max[ Part[#2, 1], Part[#2, 2]]& ]; $CellContext`pt2D = Join[$CellContext`ppt2D1, $CellContext`ppt2D2, \ $CellContext`bufPM$$]; $CellContext`bufPM$$ = {}; $CellContext`pt2D = Sort[$CellContext`pt2D, Max[ Part[#, 1], Part[#, 2]] < Max[ Part[#2, 1], Part[#2, 2]]& ]; $CellContext`ppt3D1 = Take[$CellContext`ppt2D1, $CellContext`n]; $CellContext`ppt3D2 = Take[$CellContext`ppt2D2, $CellContext`n]; $CellContext`ppt3D = Take[$CellContext`ppt2D, 2 $CellContext`n]; $CellContext`pt3D = $CellContext`pt2D; \ $CellContext`ppt2D1 = Drop[$CellContext`ppt2D1, 0, -1]; $CellContext`ppt2D2 = Drop[$CellContext`ppt2D2, 0, -1]; $CellContext`ppt2D = Drop[$CellContext`ppt2D, 0, -1]; $CellContext`pt2D = Drop[$CellContext`pt2D, 0, -1]; $CellContext`showT = { " PPT 1 ", " PPT 2 ", " PPT 1 & 2 ", " PT "}; $CellContext`withT = { " 2D ", " 3D ", " 3D with redundants "}; $CellContext`MaxRange = 10000; $CellContext`Mppt2D = (Length[$CellContext`ppt2D1] - 22)/$CellContext`MaxRange; $CellContext`Mpt2D = ( Length[$CellContext`pt2D] - 68)/$CellContext`MaxRange; $CellContext`Mppt3D = ( Length[$CellContext`ppt3D1] - 22)/$CellContext`MaxRange; $CellContext`Mpt3D = ( Length[$CellContext`pt3D] - 68)/$CellContext`MaxRange; $CellContext`ipt = {}; \ $CellContext`j = 3; For[$CellContext`i = 1, $CellContext`i < Length[$CellContext`ppt2D1] + 1, Increment[$CellContext`i], $CellContext`notID = True; $CellContext`j = $CellContext`j - 2; While[$CellContext`notID, If[Part[$CellContext`ppt2D1, $CellContext`i] == Part[$CellContext`pt2D, $CellContext`j], AppendTo[$CellContext`ipt, $CellContext`j]; \ $CellContext`notID = False, $CellContext`notID = True]; Increment[$CellContext`j]]]; Null); Typeset`initDone$$ = True), SynchronousInitialization->True, UnsavedVariables:>{Typeset`initDone$$}, UntrackedVariables:>{Typeset`size$$}], "Manipulate", Deployed->True, StripOnInput->False], Manipulate`InterpretManipulate[1]]], "Output", CellGroupingRules->{"GroupTogetherGrouping", 10000.}, CellChangeTimes->{3.5103230969849815`*^9, 3.5105439071534166`*^9, 3.760777381819916*^9}, CellID->214224931] }, {2}]]