(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 11.1' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] NotebookDataLength[ 92858, 2545] NotebookOptionsPosition[ 88089, 2419] NotebookOutlinePosition[ 88682, 2443] CellTagsIndexPosition[ 88596, 2438] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["Reflection", "Title",ExpressionUUID->"7bd30226-cd4b-480c-9f76-f94c11c3619e"], Cell[CellGroupData[{ Cell["Author", "Subsection",ExpressionUUID->"d21b1021-8060-4e70-a05a-9f2668f2dad0"], Cell["\<\ Eric W. Weisstein November 15, 2005\ \>", "Text",ExpressionUUID->"50d86193-ac51-45fb-9697-b38811e743b1"], Cell[TextData[{ "This notebook downloaded from ", ButtonBox["http://mathworld.wolfram.com/notebooks/PlaneGeometry/Reflection.\ nb", BaseStyle->"Hyperlink", ButtonData:>{ URL["http://mathworld.wolfram.com/notebooks/PlaneGeometry/Reflection.nb"], None}], "." }], "Text",ExpressionUUID->"b52c51e9-254c-4473-82c1-6ed2cdd2c5df"], Cell[TextData[{ "For more information, see Eric's ", StyleBox["MathWorld", FontSlant->"Italic"], " entry ", ButtonBox["http://mathworld.wolfram.com/Reflection.html", BaseStyle->"Hyperlink", ButtonData:>{ URL["http://mathworld.wolfram.com/Reflection.html"], None}], "." }], "Text",ExpressionUUID->"04aa9569-844b-4243-96db-1b71a167ae8a"], Cell["\<\ \[Copyright]2005 Wolfram Research, Inc. except for portions noted otherwise\ \>", "Text",ExpressionUUID->"7a75c8cf-a155-49cd-85e6-0c3eee002791"] }, Open ]], Cell[CellGroupData[{ Cell["Initialization", "Subsection",ExpressionUUID->"e5d3f3d2-0572-44ff-b02a-9804939e253f"], Cell[BoxData[ RowBox[{"<<", "Graphics`Arrow`"}]], "Input",ExpressionUUID->"82674102-7b5f-44eb-b4b0-7f02510ba179"] }, Open ]], Cell[CellGroupData[{ Cell["Figure", "Section",ExpressionUUID->"6fd0aa62-5edd-47ca-9d0f-d2d51e6bc95d"], Cell[BoxData[ RowBox[{ RowBox[{"unit", "[", "v_", "]"}], ":=", RowBox[{"v", "/", RowBox[{"Sqrt", "[", RowBox[{"v", ".", "v"}], "]"}]}]}]], "Input",ExpressionUUID->"a725aa9b-\ 406b-4d30-8c0b-4575e62642b2"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{"v", "=", RowBox[{"{", RowBox[{".6", ",", ".4"}], "}"}]}], ";"}], "\n", RowBox[{ RowBox[{"vv", "=", RowBox[{"Sqrt", "[", RowBox[{"v", ".", "v"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"n", "=", RowBox[{"{", RowBox[{".2", ",", ".4"}], "}"}]}], ";"}], "\n", RowBox[{"Show", "[", RowBox[{"Graphics", "[", RowBox[{ RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"Black", ",", RowBox[{"Arrow", "[", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", "v"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Dashing", "[", RowBox[{"{", ".02", "}"}], "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", RowBox[{"v", "-", RowBox[{ RowBox[{"unit", "[", "n", "]"}], RowBox[{"v", ".", RowBox[{"unit", "[", "n", "]"}]}]}]}]}], "}"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"Blue", ",", RowBox[{"Arrow", "[", RowBox[{"v", ",", RowBox[{"v", "+", RowBox[{".2", RowBox[{"unit", "[", "n", "]"}]}]}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Dashing", "[", RowBox[{"{", ".02", "}"}], "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"v", "-", RowBox[{".8", " ", RowBox[{"unit", "[", "n", "]"}]}]}], ",", "v"}], "}"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"Red", ",", RowBox[{"Arrow", "[", RowBox[{"v", ",", RowBox[{"v", "+", "v", "-", RowBox[{"2", RowBox[{"(", RowBox[{"v", ".", RowBox[{"unit", "[", "n", "]"}]}], ")"}], RowBox[{"unit", "[", "n", "]"}]}]}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Dashing", "[", RowBox[{"{", ".02", "}"}], "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"v", "-", RowBox[{ RowBox[{"unit", "[", "n", "]"}], RowBox[{"v", ".", RowBox[{"unit", "[", "n", "]"}]}]}]}], ",", RowBox[{"v", "+", "v", "-", RowBox[{"2", RowBox[{"(", RowBox[{"v", ".", RowBox[{"unit", "[", "n", "]"}]}], ")"}], RowBox[{"unit", "[", "n", "]"}]}]}]}], "}"}], "]"}]}], "}"}]}], "\[IndentingNewLine]", "}"}], ",", RowBox[{"AspectRatio", "\[Rule]", "Automatic"}]}], "]"}], "]"}]}], "Input",\ ExpressionUUID->"92d1bb39-c1f4-4bb2-95d3-c97f521e3240"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1.30379 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 1.38138 0.473083 1.38138 [ [ 0 0 0 0 ] [ 1 1.30379 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 1.30379 L 0 1.30379 L closepath clip newpath % Start of user PostScript /mathtops { gsave MBeginOrig moveto MEndOrig currentpoint grestore } bind def /MAtocoords { mathtops 4 2 roll mathtops 4 copy pop pop 3 -1 roll sub /arry exch def exch sub /arrx exch def arrx dup mul arry dup mul add sqrt /arrl exch def translate } bind def /MAarrowhead1 { gsave MAtocoords arrl 0. eq { 0 0 Mdot } { [ arrx arrl div arry arrl div -1 arry mul arrl div arrx arrl div 0 0 ] concat -0.05 0.0125 moveto 0 0 lineto -0.05 -0.0125 lineto fill -0.05 0.0125 moveto 0 0 lineto -0.05 -0.0125 lineto -0.05 0.0125 lineto stroke } ifelse grestore } def % End of user PostScript 0 0 0 r .5 Mabswid [ ] 0 setdash .02381 .47308 m .85264 1.02563 L s % Start of user PostScript 0 0 0.6 0.4 MAarrowhead1 % End of user PostScript [ .02 ] 0 setdash .02381 .47308 m .46585 .25206 L s 0 0 1 r [ ] 0 setdash .85264 1.02563 m .97619 1.27274 L s % Start of user PostScript 0.6 0.4 0.689443 0.578885 MAarrowhead1 % End of user PostScript [ .02 ] 0 setdash .35842 .0372 m .85264 1.02563 L s 1 0 0 r [ ] 0 setdash .85264 1.02563 m .90789 .03104 L s % Start of user PostScript 0.6 0.4 0.64 -0.32 MAarrowhead1 % End of user PostScript [ .02 ] 0 setdash .46585 .25206 m .90789 .03104 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{189.438, 246.938}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}},ImageCache->GraphicsData["CompressedBitmap", "\<\ eJylWulPVFcUfw6zsAw4wIggtAwWBFHQCiogVZDKLijRloqiU6SKqdWCNm1s 2mja2HQ3bbqYtOluofv+yX+rX6fz7nLeBX/nPm5KMrzh/bbzXubd5QxHs9cu zl/OXluYy2aGFrNXLy7MLWUGryzmTxVs8Dzvfv71b8bz3+fyb9Wv+7n8Tx4M P6z4h4j/rlyeGBCHgvy7nP7xniZSHpCnBOqleM0saaJrIx4H9BkixdfSjwD6 U+qccfJB4bI4REXd6uW/V0V/RvRiK28QxE+RNumsPSt+x0yFVmnZEJCNU6Qg xYwURB8DN6hCnvPMc8piGFiMAItK3mKFh97zD8KomieNghL66KJr3YRn3Oi9 lFPPC8eAsJuEDW7CLnXOpFssblHONp50E3ha6EdBWbuBRbObxSmePgHorXRl bbxwEgibSbiLF1o+lNdJvweQ1BCyRKROnnQMVFcPbqSjRS1ld/PC40BYTcID vHAKCKtA0RaLZR66QCX08aQToIQyEh52E07x9JOAXkg5Q27CBLhHFosngEUM WAzzFpbbLKbBAuNJtJfg5fREc2w9Fy0hf3Y6ztOnwQWiYuTkI4MjvnncTRgM AQGUABbjvMUEsHiSp49Sqad50jCRykExo7wwmLTX3tJ1W5wG9BGePkClbnYT HgalzvH0fkA/z9N7qaxLPOkA8MyAq0BPorLoARYNbhZnAX2Qp++lK9sOhEd4 YQcJl3jSPQDJ5ZmcEIVez+dm8AAvbCPhHjfhTqIHUAewQIO6smih7C43YTPI 7gYW/bzFNmDxCk+33PoGuorgqQlKOMQL60mItkcW4bwbvZZyRoDwIC+sISFa z1qE1UQPoLd5eppy7vCkCiKhtUAvLwyG2ABytFgA9B5AT0t6KZU6A4RoaaeE SVDqxzy9BNA/4elxKutznhQDnnPgKrp4i2hg4SkbPRus10KtFLywKvbzFmKl EPEdUPY+XlgEsu/y9GLKsZCSwPMcKAvtF1Z9qHwHR+FGkD0LLDp4ixRlOwp1 /8HMRmsYtB9TFpWUjQYHRdoEct4BdMmTux7heQoUs5sX6mYGWE+u16KGstE6 Gm1slVD3Q8xstF2xWNRRNtqktPPCh0H2azy9nnIspAbgibaoO3mLrZTjKGwE 2WhDvoO3aKJsR6FurpjZN3h6C+VYSK3A80WevoM8x0Ht23mhbtiYOWhRYbFo p2zUlkOdJ9mjoGfKzEZNTNT/UhaPUvbzPEkPZ2bOczy9kzxR67eJF+opyMxB bXWLxX7KRivIRl6o1yBmdr+bRQ9lo2XvI7xQr7PM7Hme/hjlWEiHgOdBUBbq tyqLPspxFOp9ipndCywyvMUAZTsK9Y4SzK+IPkg5FtIw8JwGdNlSkI+/8ESb uId44RjI2etmMU7Z+4CwjhdOgOxOYIG+g1AWk5SN+pCKpLtoZs4kT58iTwvp BPDcBWrfwlucpBxHoe6dmdltwKKGt5im7HYgRN8WKaH+lsHMRq0YRZ+hHAvp DPBsBWVV8RazlOMoPAeym90sspTdAoRpIJT3l3p5ZnaTm8V5ykYbZ0V6BuSg /a+iXyDPRlAM+jJTCRdADur0WSwuUfZWICznhc+C7AywSPEWlykb7aUU6QrI QfsMRb9KnhbSIvCsA7WX8RZLlOMovA6ytwCLUt7iBcp2FOq1MXj2EP0lyrGQ bgBPtAySY6P3Mnnq7+DM2ot5oe5SmjmVbhavUnYaCIt44U2QXQEsCnmLW5SN JnZF0ttG8NlA9NfJMwWKSfDC2yCn1M3iDcouA8I4L3wTZJe4WbxF2UkgjPFC 3Rsxs9EQp+jvUo6F9D7wLARlFfAWdyjHUfgByEbfNkZ4iw8pO67uniEUZ3I0 xnkfSYqZJzmeB2+7/OzKXq7IkBeTU3rdMkWaT/2DaKZaSKLrGxPxUWVMNdcZ 2YmczDZgjd8NLASuY9QaWP7zlGzqwhK+4KvT0IOLTO9LANWEQl8BqDoU+hpA m0OhbwBUFQp9C6BNodB3AEqHQvcAVBkKfQ+gilBoGUDlodAKgFKh0A8A2hgK /Qigsv8D/QSg0lDoZwAlQ6FfAFQSCv0KoOJQ6DcAFYVCv4tDlCD/mH8lDDQi hg+p1gNN3DQWQ6tnvMTfiVXZqygR8Xv1UB4168GOKvQPxV8DK/TP1Xmm0AL9 BSA58Ht/0z1QJ/4JuFS9nMvW8++63ob/AITF9Ps=\ \>"],ImageRangeCache->{{{0., 188.438}, {245.938, 0.}} -> {0., 0., 0., \ 0.}},ExpressionUUID->"006c9b49-2bbe-4ce4-87b8-2e37958c6be7"], Cell[BoxData[ TagBox[ RowBox[{"\[SkeletonIndicator]", "Graphics", "\[SkeletonIndicator]"}], False, Editable->False]], "Output",ExpressionUUID->"92a53b15-8d57-4273-a29b-\ 52db8e2a3ee1"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Trilinears", "Section",ExpressionUUID->"b7dfd354-bcd8-46ec-9c9c-99605098e0cb"], Cell[BoxData["\<\"Rehashing triangle centers...\"\>"], "Print",ExpressionUUID->"5b573a1e-cddc-47c8-bb52-213cba637e79"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "Reflection"}]], "Input",ExpressionUUID->"aff992cb-31f7-4b9f-8ccc-5f48e316fbe5"], Cell[BoxData["\<\"Reflection[point,line] gives the reflection of the point in \ the specified line. Reflection[center1,center2] gives the reflection of \ center1 in center 2. Reflection[{alpha1,beta1,gamma1},{alpha2,beta2,gamma2}] \ gives the reflection of the specified point P1 in the point P2.\"\>"], "Print",\ CellTags-> "Info3311253617-4052398",ExpressionUUID->"091832ed-a44f-49ba-8e7e-\ 47e8cdf2e03b"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Reflection", "[", RowBox[{ RowBox[{"{", RowBox[{ SubscriptBox["\[Alpha]", "0"], ",", SubscriptBox["\[Beta]", "0"], ",", SubscriptBox["\[Gamma]", "0"]}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["\[Alpha]", "1"], ",", SubscriptBox["\[Beta]", "1"], ",", SubscriptBox["\[Gamma]", "1"]}], "}"}]}], "]"}]], "Input",ExpressionUUID-\ >"64501f00-8e68-4cc6-8015-04c735cbaa6e"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"2", " ", SubscriptBox["\[Alpha]", "1"], " ", RowBox[{"(", RowBox[{ RowBox[{"b", " ", SubscriptBox["\[Beta]", "0"]}], "+", RowBox[{"c", " ", SubscriptBox["\[Gamma]", "0"]}]}], ")"}]}], "+", RowBox[{ SubscriptBox["\[Alpha]", "0"], " ", RowBox[{"(", RowBox[{ RowBox[{"a", " ", SubscriptBox["\[Alpha]", "1"]}], "-", RowBox[{"b", " ", SubscriptBox["\[Beta]", "1"]}], "-", RowBox[{"c", " ", SubscriptBox["\[Gamma]", "1"]}]}], ")"}]}]}], ",", RowBox[{ RowBox[{"2", " ", SubscriptBox["\[Beta]", "1"], " ", RowBox[{"(", RowBox[{ RowBox[{"a", " ", SubscriptBox["\[Alpha]", "0"]}], "+", RowBox[{"c", " ", SubscriptBox["\[Gamma]", "0"]}]}], ")"}]}], "+", RowBox[{ SubscriptBox["\[Beta]", "0"], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "a"}], " ", SubscriptBox["\[Alpha]", "1"]}], "+", RowBox[{"b", " ", SubscriptBox["\[Beta]", "1"]}], "-", RowBox[{"c", " ", SubscriptBox["\[Gamma]", "1"]}]}], ")"}]}]}], ",", RowBox[{ RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"a", " ", SubscriptBox["\[Alpha]", "0"]}], "+", RowBox[{"b", " ", SubscriptBox["\[Beta]", "0"]}]}], ")"}], " ", SubscriptBox["\[Gamma]", "1"]}], "+", RowBox[{ SubscriptBox["\[Gamma]", "0"], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "a"}], " ", SubscriptBox["\[Alpha]", "1"]}], "-", RowBox[{"b", " ", SubscriptBox["\[Beta]", "1"]}], "+", RowBox[{"c", " ", SubscriptBox["\[Gamma]", "1"]}]}], ")"}]}]}]}], "}"}]], "Output",Expre\ ssionUUID->"d682de68-e668-43e8-ab60-73072661172c"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Derivation of Trilinear Line-in-Trilinear Line", "Section",ExpressionUUID->"c759db03-0ab2-495b-b4e4-da4da82e35c5"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"int", "=", RowBox[{"Intersections", "[", RowBox[{ RowBox[{"TrilinearLine", "[", RowBox[{"{", RowBox[{"l", ",", "m", ",", "n"}], "}"}], "]"}], ",", RowBox[{"TrilinearLine", "[", RowBox[{"{", RowBox[{"ll", ",", "mm", ",", "nn"}], "}"}], "]"}]}], "]"}]}]], "Input",\ ExpressionUUID->"1a5d25a1-6c93-490d-95ac-17ef4fa15178"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "mm"}], " ", "n"}], "+", RowBox[{"m", " ", "nn"}]}], ",", RowBox[{ RowBox[{"ll", " ", "n"}], "-", RowBox[{"l", " ", "nn"}]}], ",", RowBox[{ RowBox[{ RowBox[{"-", "ll"}], " ", "m"}], "+", RowBox[{"l", " ", "mm"}]}]}], "}"}]], "Output",ExpressionUUID->"6351d26c-\ b62e-4bae-974d-032c73adc9cb"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Simplify", "[", RowBox[{ RowBox[{"{", RowBox[{"nn", ",", "nn", ",", RowBox[{"-", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}]}]}], "}"}], ".", RowBox[{"{", RowBox[{"ll", ",", "mm", ",", "nn"}], "}"}]}], "]"}]], "Input",ExpressionU\ UID->"1b776242-44bd-4c27-9bcc-68c14a976dad"], Cell[BoxData["0"], "Output",ExpressionUUID->"3fd1243c-7416-4455-825e-37b032ddb890"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"foot", "=", RowBox[{"Simplify", "[", RowBox[{"Intersections", "[", RowBox[{ RowBox[{"PerpendicularLine", "[", RowBox[{ RowBox[{"TrilinearLine", "[", RowBox[{"{", RowBox[{"l", ",", "m", ",", "n"}], "}"}], "]"}], ",", RowBox[{"apt", "=", RowBox[{"{", RowBox[{"nn", ",", "nn", ",", RowBox[{"-", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}]}]}], "}"}]}]}], "]"}], ",", RowBox[{"TrilinearLine", "[", RowBox[{"{", RowBox[{"l", ",", "m", ",", "n"}], "}"}], "]"}]}], "]"}], "]"}]}]], "Input",ExpressionUUID->"2542277d-38ca-4d75-843c-ac30c2c335f3"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "l"}], " ", "ll", " ", "n"}], "-", RowBox[{"l", " ", "mm", " ", "n"}], "+", RowBox[{"l", " ", "m", " ", "nn"}], "-", RowBox[{ SuperscriptBox["m", "2"], " ", "nn"}], "-", RowBox[{ SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"2", " ", "m", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{"l", " ", "nn"}], "-", RowBox[{"m", " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"ll", " ", "m", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"m", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{ SuperscriptBox["m", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ",", RowBox[{ RowBox[{ RowBox[{"-", "ll"}], " ", "m", " ", "n"}], "-", RowBox[{"m", " ", "mm", " ", "n"}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "nn"}], "+", RowBox[{"l", " ", "m", " ", "nn"}], "-", RowBox[{ SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "-", RowBox[{"l", " ", "nn"}], "+", RowBox[{"m", " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{"2", " ", "l", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"l", " ", "ll", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ",", RowBox[{ RowBox[{ SuperscriptBox["l", "2"], " ", "ll"}], "+", RowBox[{"ll", " ", SuperscriptBox["m", "2"]}], "+", RowBox[{ SuperscriptBox["l", "2"], " ", "mm"}], "+", RowBox[{ SuperscriptBox["m", "2"], " ", "mm"}], "+", RowBox[{"l", " ", "n", " ", "nn"}], "+", RowBox[{"m", " ", "n", " ", "nn"}], "-", RowBox[{"m", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "-", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "-", RowBox[{"2", " ", "l", " ", "ll", " ", "m", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "l", " ", "m", " ", "mm", " ", RowBox[{"Cos", "[", "C", "]"}]}]}]}], "}"}]], "Output",ExpressionUUID->\ "2a3b44b2-4a3c-4a91-9fe1-2b085f22bea4"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"rp", "=", RowBox[{"Reflection", "[", RowBox[{ RowBox[{"{", RowBox[{"nn", ",", "nn", ",", RowBox[{"-", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}]}]}], "}"}], ",", "foot"}], "]"}]}]], "Input",ExpressionUUID->"82636a2a-da55-4054-ad5d-b22b4076789f"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "ll"}], "-", "mm"}], ")"}]}], "+", RowBox[{"b", " ", "nn"}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "l"}], " ", "ll", " ", "n"}], "-", RowBox[{"l", " ", "mm", " ", "n"}], "+", RowBox[{"l", " ", "m", " ", "nn"}], "-", RowBox[{ SuperscriptBox["m", "2"], " ", "nn"}], "-", RowBox[{ SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"2", " ", "m", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{"l", " ", "nn"}], "-", RowBox[{"m", " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"ll", " ", "m", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"m", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{ SuperscriptBox["m", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], "+", RowBox[{"nn", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "c"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["l", "2"], " ", "ll"}], "+", RowBox[{"ll", " ", SuperscriptBox["m", "2"]}], "+", RowBox[{ SuperscriptBox["l", "2"], " ", "mm"}], "+", RowBox[{ SuperscriptBox["m", "2"], " ", "mm"}], "+", RowBox[{"l", " ", "n", " ", "nn"}], "+", RowBox[{"m", " ", "n", " ", "nn"}], "-", RowBox[{"m", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "-", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "-", RowBox[{"2", " ", "l", " ", "ll", " ", "m", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "l", " ", "m", " ", "mm", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], "-", RowBox[{"b", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "ll"}], " ", "m", " ", "n"}], "-", RowBox[{"m", " ", "mm", " ", "n"}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "nn"}], "+", RowBox[{"l", " ", "m", " ", "nn"}], "-", RowBox[{ SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "-", RowBox[{"l", " ", "nn"}], "+", RowBox[{"m", " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{"2", " ", "l", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"l", " ", "ll", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], "+", RowBox[{"a", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "l"}], " ", "ll", " ", "n"}], "-", RowBox[{"l", " ", "mm", " ", "n"}], "+", RowBox[{"l", " ", "m", " ", "nn"}], "-", RowBox[{ SuperscriptBox["m", "2"], " ", "nn"}], "-", RowBox[{ SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"2", " ", "m", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{"l", " ", "nn"}], "-", RowBox[{"m", " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"ll", " ", "m", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"m", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{ SuperscriptBox["m", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}]}], ")"}]}]}], ",", RowBox[{ RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "ll"}], "-", "mm"}], ")"}]}], "+", RowBox[{"a", " ", "nn"}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "ll"}], " ", "m", " ", "n"}], "-", RowBox[{"m", " ", "mm", " ", "n"}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "nn"}], "+", RowBox[{"l", " ", "m", " ", "nn"}], "-", RowBox[{ SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "-", RowBox[{"l", " ", "nn"}], "+", RowBox[{"m", " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{"2", " ", "l", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"l", " ", "ll", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], "+", RowBox[{"nn", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "c"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["l", "2"], " ", "ll"}], "+", RowBox[{"ll", " ", SuperscriptBox["m", "2"]}], "+", RowBox[{ SuperscriptBox["l", "2"], " ", "mm"}], "+", RowBox[{ SuperscriptBox["m", "2"], " ", "mm"}], "+", RowBox[{"l", " ", "n", " ", "nn"}], "+", RowBox[{"m", " ", "n", " ", "nn"}], "-", RowBox[{"m", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "-", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "-", RowBox[{"2", " ", "l", " ", "ll", " ", "m", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "l", " ", "m", " ", "mm", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], "+", RowBox[{"b", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "ll"}], " ", "m", " ", "n"}], "-", RowBox[{"m", " ", "mm", " ", "n"}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "nn"}], "+", RowBox[{"l", " ", "m", " ", "nn"}], "-", RowBox[{ SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "-", RowBox[{"l", " ", "nn"}], "+", RowBox[{"m", " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{"2", " ", "l", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"l", " ", "ll", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], "-", RowBox[{"a", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "l"}], " ", "ll", " ", "n"}], "-", RowBox[{"l", " ", "mm", " ", "n"}], "+", RowBox[{"l", " ", "m", " ", "nn"}], "-", RowBox[{ SuperscriptBox["m", "2"], " ", "nn"}], "-", RowBox[{ SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"2", " ", "m", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{"l", " ", "nn"}], "-", RowBox[{"m", " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"ll", " ", "m", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"m", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{ SuperscriptBox["m", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}]}], ")"}]}]}], ",", RowBox[{ RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"a", " ", "nn"}], "+", RowBox[{"b", " ", "nn"}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["l", "2"], " ", "ll"}], "+", RowBox[{"ll", " ", SuperscriptBox["m", "2"]}], "+", RowBox[{ SuperscriptBox["l", "2"], " ", "mm"}], "+", RowBox[{ SuperscriptBox["m", "2"], " ", "mm"}], "+", RowBox[{"l", " ", "n", " ", "nn"}], "+", RowBox[{"m", " ", "n", " ", "nn"}], "-", RowBox[{"m", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "-", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "-", RowBox[{"2", " ", "l", " ", "ll", " ", "m", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "l", " ", "m", " ", "mm", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "ll"}], "-", "mm"}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["l", "2"], " ", "ll"}], "+", RowBox[{"ll", " ", SuperscriptBox["m", "2"]}], "+", RowBox[{ SuperscriptBox["l", "2"], " ", "mm"}], "+", RowBox[{ SuperscriptBox["m", "2"], " ", "mm"}], "+", RowBox[{"l", " ", "n", " ", "nn"}], "+", RowBox[{"m", " ", "n", " ", "nn"}], "-", RowBox[{"m", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "-", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "-", RowBox[{"2", " ", "l", " ", "ll", " ", "m", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "l", " ", "m", " ", "mm", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], "-", RowBox[{"b", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "ll"}], " ", "m", " ", "n"}], "-", RowBox[{"m", " ", "mm", " ", "n"}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "nn"}], "+", RowBox[{"l", " ", "m", " ", "nn"}], "-", RowBox[{ SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "-", RowBox[{"l", " ", "nn"}], "+", RowBox[{"m", " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{"2", " ", "l", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"l", " ", "ll", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], "-", RowBox[{"a", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "l"}], " ", "ll", " ", "n"}], "-", RowBox[{"l", " ", "mm", " ", "n"}], "+", RowBox[{"l", " ", "m", " ", "nn"}], "-", RowBox[{ SuperscriptBox["m", "2"], " ", "nn"}], "-", RowBox[{ SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"2", " ", "m", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{"l", " ", "nn"}], "-", RowBox[{"m", " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"ll", " ", "m", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"m", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"l", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{ SuperscriptBox["m", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}]}], ")"}]}]}]}], "}"}]], "Output",ExpressionUUID->"0df5cae0-ab7e-436a-a137-6e897f283bde"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Simplify", "[", RowBox[{"TrilinearLine", "[", RowBox[{"Line", "[", RowBox[{"int", ",", "rp"}], "]"}], "]"}], "]"}]], "Input",ExpressionUUID->\ "f52167c0-cb27-48c7-ada5-22b098d537ad"], Cell[BoxData[ RowBox[{"TrilinearLine", "[", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "ll"}], " ", "n"}], "-", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", SuperscriptBox["l", "2"], " ", SuperscriptBox["ll", "2"]}], "-", RowBox[{"c", " ", SuperscriptBox["ll", "2"], " ", SuperscriptBox["m", "2"]}], "+", RowBox[{"c", " ", SuperscriptBox["l", "2"], " ", "ll", " ", "mm"}], "+", RowBox[{"2", " ", "c", " ", "l", " ", "ll", " ", "m", " ", "mm"}], "-", RowBox[{"c", " ", "ll", " ", SuperscriptBox["m", "2"], " ", "mm"}], "+", RowBox[{"2", " ", "c", " ", "l", " ", "m", " ", SuperscriptBox["mm", "2"]}], "+", RowBox[{"a", " ", "l", " ", SuperscriptBox["ll", "2"], " ", "n"}], "+", RowBox[{"b", " ", SuperscriptBox["ll", "2"], " ", "m", " ", "n"}], "+", RowBox[{"a", " ", "l", " ", "ll", " ", "mm", " ", "n"}], "+", RowBox[{"b", " ", "ll", " ", "m", " ", "mm", " ", "n"}], "-", RowBox[{"2", " ", "a", " ", SuperscriptBox["l", "2"], " ", "ll", " ", "nn"}], "-", RowBox[{"b", " ", SuperscriptBox["l", "2"], " ", "ll", " ", "nn"}], "-", RowBox[{"a", " ", "l", " ", "ll", " ", "m", " ", "nn"}], "-", RowBox[{"b", " ", "l", " ", "ll", " ", "m", " ", "nn"}], "+", RowBox[{"a", " ", "ll", " ", SuperscriptBox["m", "2"], " ", "nn"}], "-", RowBox[{"2", " ", "a", " ", "l", " ", "m", " ", "mm", " ", "nn"}], "-", RowBox[{"2", " ", "b", " ", "l", " ", "m", " ", "mm", " ", "nn"}], "+", RowBox[{"c", " ", "l", " ", "ll", " ", "n", " ", "nn"}], "-", RowBox[{"c", " ", "ll", " ", "m", " ", "n", " ", "nn"}], "+", RowBox[{"2", " ", "c", " ", "l", " ", "mm", " ", "n", " ", "nn"}], "+", RowBox[{"a", " ", "ll", " ", SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"b", " ", "ll", " ", SuperscriptBox["n", "2"], " ", "nn"}], "-", RowBox[{"2", " ", "a", " ", "l", " ", "n", " ", SuperscriptBox["nn", "2"]}], "-", RowBox[{"2", " ", "b", " ", "l", " ", "n", " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", "a", " ", "nn", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "ll"}], " ", "m", " ", "n"}], "+", RowBox[{"l", " ", "mm", " ", "n"}], "+", RowBox[{"l", " ", "m", " ", "nn"}]}], ")"}]}], "-", RowBox[{"b", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["ll", "2"], " ", SuperscriptBox["n", "2"]}], "-", RowBox[{"2", " ", "l", " ", "nn", " ", RowBox[{"(", RowBox[{ RowBox[{"mm", " ", "n"}], "+", RowBox[{"m", " ", "nn"}]}], ")"}]}], "+", RowBox[{"ll", " ", "n", " ", RowBox[{"(", RowBox[{ RowBox[{"mm", " ", "n"}], "-", RowBox[{"l", " ", "nn"}], "+", RowBox[{"m", " ", "nn"}]}], ")"}]}]}], ")"}]}], "+", RowBox[{"c", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["ll", "2"], " ", "m", " ", "n"}], "-", RowBox[{"2", " ", "l", " ", "mm", " ", RowBox[{"(", RowBox[{ RowBox[{"mm", " ", "n"}], "+", RowBox[{"m", " ", "nn"}]}], ")"}]}], "+", RowBox[{"ll", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", "l", " ", "mm", " ", "n"}], "+", RowBox[{"m", " ", "mm", " ", "n"}], "-", RowBox[{"l", " ", "m", " ", "nn"}], "+", RowBox[{ SuperscriptBox["m", "2"], " ", "nn"}]}], ")"}]}]}], ")"}]}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", "b", " ", SuperscriptBox["l", "2"], " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"c", " ", "l", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["ll", "2"], " ", "n"}], "+", RowBox[{"2", " ", "l", " ", "mm", " ", "nn"}], "+", RowBox[{"ll", " ", RowBox[{"(", RowBox[{ RowBox[{"mm", " ", "n"}], "+", RowBox[{"l", " ", "nn"}], "-", RowBox[{"m", " ", "nn"}]}], ")"}]}]}], ")"}]}], "+", RowBox[{"a", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["ll", "2"], " ", SuperscriptBox["n", "2"]}], "-", RowBox[{"2", " ", SuperscriptBox["l", "2"], " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"ll", " ", "n", " ", RowBox[{"(", RowBox[{ RowBox[{"mm", " ", "n"}], "-", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}]}]}], ")"}]}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "-", RowBox[{"2", " ", "c", " ", SuperscriptBox["l", "2"], " ", "ll", " ", "mm", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "c", " ", SuperscriptBox["l", "2"], " ", SuperscriptBox["mm", "2"], " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"b", " ", "l", " ", SuperscriptBox["ll", "2"], " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"a", " ", SuperscriptBox["ll", "2"], " ", "m", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"b", " ", "l", " ", "ll", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"a", " ", "ll", " ", "m", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"b", " ", SuperscriptBox["l", "2"], " ", "ll", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"a", " ", "l", " ", "ll", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"b", " ", "l", " ", "ll", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"a", " ", "ll", " ", SuperscriptBox["m", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"2", " ", "a", " ", SuperscriptBox["l", "2"], " ", "mm", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"2", " ", "b", " ", SuperscriptBox["l", "2"], " ", "mm", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "-", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", "c", " ", "l", " ", SuperscriptBox["ll", "2"], " ", "m"}], "+", RowBox[{"c", " ", SuperscriptBox["l", "2"], " ", "ll", " ", "mm"}], "-", RowBox[{"2", " ", "c", " ", "l", " ", "ll", " ", "m", " ", "mm"}], "-", RowBox[{"c", " ", "ll", " ", SuperscriptBox["m", "2"], " ", "mm"}], "+", RowBox[{"c", " ", SuperscriptBox["l", "2"], " ", SuperscriptBox["mm", "2"]}], "-", RowBox[{"c", " ", SuperscriptBox["m", "2"], " ", SuperscriptBox["mm", "2"]}], "-", RowBox[{"a", " ", "l", " ", "ll", " ", "mm", " ", "n"}], "-", RowBox[{"b", " ", "ll", " ", "m", " ", "mm", " ", "n"}], "-", RowBox[{"a", " ", "l", " ", SuperscriptBox["mm", "2"], " ", "n"}], "-", RowBox[{"b", " ", "m", " ", SuperscriptBox["mm", "2"], " ", "n"}], "+", RowBox[{"2", " ", "a", " ", "l", " ", "ll", " ", "m", " ", "nn"}], "+", RowBox[{"2", " ", "b", " ", "l", " ", "ll", " ", "m", " ", "nn"}], "-", RowBox[{"b", " ", SuperscriptBox["l", "2"], " ", "mm", " ", "nn"}], "+", RowBox[{"a", " ", "l", " ", "m", " ", "mm", " ", "nn"}], "+", RowBox[{"b", " ", "l", " ", "m", " ", "mm", " ", "nn"}], "+", RowBox[{"a", " ", SuperscriptBox["m", "2"], " ", "mm", " ", "nn"}], "+", RowBox[{"2", " ", "b", " ", SuperscriptBox["m", "2"], " ", "mm", " ", "nn"}], "-", RowBox[{"2", " ", "c", " ", "ll", " ", "m", " ", "n", " ", "nn"}], "+", RowBox[{"c", " ", "l", " ", "mm", " ", "n", " ", "nn"}], "-", RowBox[{"c", " ", "m", " ", "mm", " ", "n", " ", "nn"}], "-", RowBox[{"a", " ", "mm", " ", SuperscriptBox["n", "2"], " ", "nn"}], "-", RowBox[{"b", " ", "mm", " ", SuperscriptBox["n", "2"], " ", "nn"}], "+", RowBox[{"2", " ", "a", " ", "m", " ", "n", " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"2", " ", "b", " ", "m", " ", "n", " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", "a", " ", SuperscriptBox["m", "2"], " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"b", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "mm", " ", SuperscriptBox["n", "2"]}], "+", RowBox[{ SuperscriptBox["mm", "2"], " ", SuperscriptBox["n", "2"]}], "-", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "mm", " ", "n", " ", "nn"}], "-", RowBox[{"2", " ", SuperscriptBox["m", "2"], " ", SuperscriptBox["nn", "2"]}]}], ")"}]}], "+", RowBox[{"c", " ", "m", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", RowBox[{"(", RowBox[{ RowBox[{"mm", " ", "n"}], "+", RowBox[{"2", " ", "m", " ", "nn"}]}], ")"}]}], "+", RowBox[{"mm", " ", RowBox[{"(", RowBox[{ RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "l"}], "+", "m"}], ")"}], " ", "nn"}]}], ")"}]}]}], ")"}]}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", "b", " ", "nn", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "m", " ", "n"}], "-", RowBox[{"l", " ", "mm", " ", "n"}], "+", RowBox[{"l", " ", "m", " ", "nn"}]}], ")"}]}], "+", RowBox[{"a", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["mm", "2"], " ", SuperscriptBox["n", "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "-", "m"}], ")"}], " ", "mm", " ", "n", " ", "nn"}], "-", RowBox[{"2", " ", "l", " ", "m", " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"ll", " ", "n", " ", RowBox[{"(", RowBox[{ RowBox[{"mm", " ", "n"}], "-", RowBox[{"2", " ", "m", " ", "nn"}]}], ")"}]}]}], ")"}]}], "+", RowBox[{"c", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", SuperscriptBox["ll", "2"], " ", "m", " ", "n"}], "-", RowBox[{"l", " ", "mm", " ", RowBox[{"(", RowBox[{ RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "-", "m"}], ")"}], " ", "nn"}]}], ")"}]}], "+", RowBox[{"ll", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "l"}], " ", "mm", " ", "n"}], "+", RowBox[{"2", " ", "m", " ", "mm", " ", "n"}], "+", RowBox[{"2", " ", "l", " ", "m", " ", "nn"}]}], ")"}]}]}], ")"}]}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"2", " ", "c", " ", SuperscriptBox["ll", "2"], " ", SuperscriptBox["m", "2"], " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"2", " ", "c", " ", "ll", " ", SuperscriptBox["m", "2"], " ", "mm", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"b", " ", "l", " ", "ll", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"a", " ", "ll", " ", "m", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"b", " ", "l", " ", SuperscriptBox["mm", "2"], " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"a", " ", "m", " ", SuperscriptBox["mm", "2"], " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "a", " ", "ll", " ", SuperscriptBox["m", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "b", " ", "ll", " ", SuperscriptBox["m", "2"], " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"b", " ", SuperscriptBox["l", "2"], " ", "mm", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"a", " ", "l", " ", "m", " ", "mm", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"b", " ", "l", " ", "m", " ", "mm", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"a", " ", SuperscriptBox["m", "2"], " ", "mm", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "-", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", "c", " ", "l", " ", SuperscriptBox["ll", "2"], " ", "n"}], "-", RowBox[{"2", " ", "c", " ", "l", " ", "ll", " ", "mm", " ", "n"}], "-", RowBox[{"2", " ", "c", " ", "ll", " ", "m", " ", "mm", " ", "n"}], "-", RowBox[{"2", " ", "c", " ", "m", " ", SuperscriptBox["mm", "2"], " ", "n"}], "+", RowBox[{"c", " ", SuperscriptBox["l", "2"], " ", "ll", " ", "nn"}], "+", RowBox[{"c", " ", "ll", " ", SuperscriptBox["m", "2"], " ", "nn"}], "+", RowBox[{"c", " ", SuperscriptBox["l", "2"], " ", "mm", " ", "nn"}], "+", RowBox[{"c", " ", SuperscriptBox["m", "2"], " ", "mm", " ", "nn"}], "+", RowBox[{"a", " ", "l", " ", "ll", " ", "n", " ", "nn"}], "+", RowBox[{"2", " ", "b", " ", "l", " ", "ll", " ", "n", " ", "nn"}], "-", RowBox[{"b", " ", "ll", " ", "m", " ", "n", " ", "nn"}], "-", RowBox[{"a", " ", "l", " ", "mm", " ", "n", " ", "nn"}], "+", RowBox[{"2", " ", "a", " ", "m", " ", "mm", " ", "n", " ", "nn"}], "+", RowBox[{"b", " ", "m", " ", "mm", " ", "n", " ", "nn"}], "-", RowBox[{"2", " ", "c", " ", "ll", " ", SuperscriptBox["n", "2"], " ", "nn"}], "-", RowBox[{"2", " ", "c", " ", "mm", " ", SuperscriptBox["n", "2"], " ", "nn"}], "-", RowBox[{"b", " ", SuperscriptBox["l", "2"], " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"a", " ", "l", " ", "m", " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"b", " ", "l", " ", "m", " ", SuperscriptBox["nn", "2"]}], "-", RowBox[{"a", " ", SuperscriptBox["m", "2"], " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"c", " ", "l", " ", "n", " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"c", " ", "m", " ", "n", " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"a", " ", SuperscriptBox["n", "2"], " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"b", " ", SuperscriptBox["n", "2"], " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"c", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", SuperscriptBox["mm", "2"], " ", SuperscriptBox["n", "2"]}], "+", RowBox[{"m", " ", "mm", " ", "n", " ", "nn"}], "-", RowBox[{"m", " ", RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{"ll", " ", "n", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "mm", " ", "n"}], "+", RowBox[{"m", " ", "nn"}]}], ")"}]}]}], ")"}]}], "-", RowBox[{"n", " ", "nn", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "a", " ", "mm", " ", "n"}], "+", RowBox[{"b", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "ll"}], " ", "n"}], "+", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}]}]}], ")"}]}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"c", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", SuperscriptBox["ll", "2"], " ", SuperscriptBox["n", "2"]}], "+", RowBox[{"ll", " ", "n", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "mm", " ", "n"}], "+", RowBox[{"l", " ", "nn"}]}], ")"}]}], "-", RowBox[{"l", " ", "nn", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "mm"}], " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}]}]}], ")"}]}], "-", RowBox[{"n", " ", "nn", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "b", " ", "ll", " ", "n"}], "+", RowBox[{"a", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "n"}], "-", RowBox[{"mm", " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}]}]}], ")"}]}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{"2", " ", "c", " ", SuperscriptBox["ll", "2"], " ", "m", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"2", " ", "c", " ", "l", " ", "ll", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"2", " ", "c", " ", "ll", " ", "m", " ", "mm", " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"2", " ", "c", " ", "l", " ", SuperscriptBox["mm", "2"], " ", "n", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "c", " ", "l", " ", "ll", " ", "m", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "c", " ", "l", " ", "m", " ", "mm", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"b", " ", "l", " ", "ll", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"a", " ", "ll", " ", "m", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "b", " ", "ll", " ", "m", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"2", " ", "a", " ", "l", " ", "mm", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"b", " ", "l", " ", "mm", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"a", " ", "m", " ", "mm", " ", "n", " ", "nn", " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"b", " ", SuperscriptBox["l", "2"], " ", SuperscriptBox["nn", "2"], " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"a", " ", "l", " ", "m", " ", SuperscriptBox["nn", "2"], " ", RowBox[{"Cos", "[", "C", "]"}]}], "+", RowBox[{"b", " ", "l", " ", "m", " ", SuperscriptBox["nn", "2"], " ", RowBox[{"Cos", "[", "C", "]"}]}], "-", RowBox[{"a", " ", SuperscriptBox["m", "2"], " ", SuperscriptBox["nn", "2"], " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}]}], "}"}], "]"}]], "Output",\ ExpressionUUID->"6d3b5986-2e25-46b6-b1db-a0de8ec61e8a"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"FullSimplify", "[", "%", "]"}]], "Input",ExpressionUUID->"189fd58c-a4ae-41e9-8947-889f0ca23a0f"], Cell[BoxData[ RowBox[{"TrilinearLine", "[", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}]}], " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["l", "2"], " ", "ll"}], "-", RowBox[{"ll", " ", SuperscriptBox["m", "2"]}], "+", RowBox[{"2", " ", "l", " ", "m", " ", "mm"}]}], ")"}]}], "+", RowBox[{"ll", " ", RowBox[{"(", RowBox[{ RowBox[{"a", " ", "l"}], "+", RowBox[{"b", " ", "m"}]}], ")"}], " ", "n"}]}], ")"}]}], "-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"b", " ", "l", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}]}], "+", RowBox[{"2", " ", "m", " ", "mm"}]}], ")"}]}], "+", RowBox[{"c", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "m"}], "-", RowBox[{"l", " ", RowBox[{"(", RowBox[{"ll", "+", RowBox[{"2", " ", "mm"}]}], ")"}]}]}], ")"}], " ", "n"}], "-", RowBox[{"b", " ", "ll", " ", SuperscriptBox["n", "2"]}], "+", RowBox[{"a", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", SuperscriptBox["l", "2"], " ", "ll"}], "+", RowBox[{"l", " ", "m", " ", RowBox[{"(", RowBox[{"ll", "+", RowBox[{"2", " ", "mm"}]}], ")"}]}], "-", RowBox[{"ll", " ", RowBox[{"(", RowBox[{ SuperscriptBox["m", "2"], "+", SuperscriptBox["n", "2"]}], ")"}]}]}], ")"}]}]}], ")"}], " ", "nn"}], "-", RowBox[{"2", " ", RowBox[{"(", RowBox[{"a", "+", "b"}], ")"}], " ", "l", " ", "n", " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", "n", " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", "ll", " ", "m"}], "-", RowBox[{"2", " ", "c", " ", "l", " ", "mm"}], "-", RowBox[{"b", " ", "ll", " ", "n"}]}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"c", " ", "m", " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "m"}], "-", RowBox[{"l", " ", RowBox[{"(", RowBox[{"ll", "+", RowBox[{"2", " ", "mm"}]}], ")"}]}]}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"b", " ", "l", " ", "ll"}], "-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", "a"}], "+", "b"}], ")"}], " ", "ll", " ", "m"}], "+", RowBox[{"2", " ", RowBox[{"(", RowBox[{"a", "+", "b"}], ")"}], " ", "l", " ", "mm"}]}], ")"}], " ", "n"}]}], ")"}], " ", "nn"}], "+", RowBox[{"2", " ", RowBox[{"(", RowBox[{"a", "+", "b"}], ")"}], " ", "l", " ", "m", " ", SuperscriptBox["nn", "2"]}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"ll", " ", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", "n", " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", "l"}], "+", RowBox[{"a", " ", "n"}]}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"c", " ", "l", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "ll"}], " ", "m"}], "+", RowBox[{"l", " ", RowBox[{"(", RowBox[{"ll", "+", RowBox[{"2", " ", "mm"}]}], ")"}]}]}], ")"}]}], "-", RowBox[{"a", " ", "ll", " ", RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "n"}]}], ")"}], " ", "nn"}], "-", RowBox[{"2", " ", RowBox[{"(", RowBox[{"a", "+", "b"}], ")"}], " ", SuperscriptBox["l", "2"], " ", SuperscriptBox["nn", "2"]}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}]}], " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "c", " ", SuperscriptBox["l", "2"], " ", "mm"}], "+", RowBox[{"ll", " ", RowBox[{"(", RowBox[{ RowBox[{"b", " ", "l"}], "+", RowBox[{"a", " ", "m"}]}], ")"}], " ", "n"}]}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"ll", " ", RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"b", " ", "l"}], "+", RowBox[{"a", " ", "m"}]}], ")"}]}], "+", RowBox[{"2", " ", RowBox[{"(", RowBox[{"a", "+", "b"}], ")"}], " ", SuperscriptBox["l", "2"], " ", "mm"}]}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", "n"}], "-", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}]}], " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "l", " ", "ll", " ", "m"}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "mm"}], "+", RowBox[{ SuperscriptBox["m", "2"], " ", "mm"}]}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"a", " ", "l"}], "+", RowBox[{"b", " ", "m"}]}], ")"}], " ", "mm", " ", "n"}]}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"a", " ", "m", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "l", " ", "ll"}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "mm"}]}], ")"}]}], "+", RowBox[{"c", " ", RowBox[{"(", RowBox[{ RowBox[{"l", " ", "mm"}], "-", RowBox[{"m", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "ll"}], "+", "mm"}], ")"}]}]}], ")"}], " ", "n"}], "-", RowBox[{"a", " ", "mm", " ", SuperscriptBox["n", "2"]}], "+", RowBox[{"b", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "l", " ", "ll", " ", "m"}], "-", RowBox[{ SuperscriptBox["l", "2"], " ", "mm"}], "+", RowBox[{"l", " ", "m", " ", "mm"}], "+", RowBox[{"2", " ", SuperscriptBox["m", "2"], " ", "mm"}], "-", RowBox[{"mm", " ", SuperscriptBox["n", "2"]}]}], ")"}]}]}], ")"}], " ", "nn"}], "+", RowBox[{"2", " ", RowBox[{"(", RowBox[{"a", "+", "b"}], ")"}], " ", "m", " ", "n", " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"mm", " ", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", "n", " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", "m"}], "+", RowBox[{"b", " ", "n"}]}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"c", " ", "m", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "ll", " ", "m"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "l"}], "+", "m"}], ")"}], " ", "mm"}]}], ")"}]}], "-", RowBox[{"b", " ", RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "mm", " ", "n"}]}], ")"}], " ", "nn"}], "-", RowBox[{"2", " ", RowBox[{"(", RowBox[{"a", "+", "b"}], ")"}], " ", SuperscriptBox["m", "2"], " ", SuperscriptBox["nn", "2"]}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", "n", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "c", " ", "ll", " ", "m"}], "-", RowBox[{"c", " ", "l", " ", "mm"}], "+", RowBox[{"a", " ", "mm", " ", "n"}]}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"c", " ", "l", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "ll", " ", "m"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "l"}], "+", "m"}], ")"}], " ", "mm"}]}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", RowBox[{"(", RowBox[{"a", "+", "b"}], ")"}], " ", "ll", " ", "m"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", "b", " ", "l"}], "+", RowBox[{"a", " ", RowBox[{"(", RowBox[{"l", "-", "m"}], ")"}]}]}], ")"}], " ", "mm"}]}], ")"}], " ", "n"}]}], ")"}], " ", "nn"}], "-", RowBox[{"2", " ", RowBox[{"(", RowBox[{"a", "+", "b"}], ")"}], " ", "l", " ", "m", " ", SuperscriptBox["nn", "2"]}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "c", " ", "ll", " ", SuperscriptBox["m", "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"b", " ", "l"}], "+", RowBox[{"a", " ", "m"}]}], ")"}], " ", "mm", " ", "n"}]}], ")"}]}], "-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", RowBox[{"(", RowBox[{"a", "+", "b"}], ")"}], " ", "ll", " ", SuperscriptBox["m", "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"b", " ", "l"}], "+", RowBox[{"a", " ", "m"}]}], ")"}], " ", "mm"}]}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", "n"}], "-", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "nn"}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", "c", " ", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"l", " ", "ll"}], "+", RowBox[{"m", " ", "mm"}]}], ")"}], " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"a", " ", "l", " ", "ll"}], "+", RowBox[{"2", " ", "b", " ", "l", " ", "ll"}], "-", RowBox[{"b", " ", "ll", " ", "m"}], "-", RowBox[{"a", " ", "l", " ", "mm"}], "+", RowBox[{"2", " ", "a", " ", "m", " ", "mm"}], "+", RowBox[{"b", " ", "m", " ", "mm"}]}], ")"}], " ", "n"}], "+", RowBox[{"c", " ", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", RowBox[{"(", RowBox[{ SuperscriptBox["l", "2"], "+", SuperscriptBox["m", "2"], "-", RowBox[{"2", " ", SuperscriptBox["n", "2"]}]}], ")"}]}]}], ")"}], " ", "nn"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{"l", "-", "m"}], ")"}]}], " ", RowBox[{"(", RowBox[{ RowBox[{"b", " ", "l"}], "-", RowBox[{"a", " ", "m"}]}], ")"}]}], "+", RowBox[{"c", " ", RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", "n"}], "+", RowBox[{ RowBox[{"(", RowBox[{"a", "+", "b"}], ")"}], " ", SuperscriptBox["n", "2"]}]}], ")"}], " ", SuperscriptBox["nn", "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", "c", " ", "mm", " ", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", SuperscriptBox["n", "2"]}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", "m", " ", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"b", " ", "ll"}], "-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", "a"}], "+", "b"}], ")"}], " ", "mm"}]}], ")"}], " ", "n"}]}], ")"}], " ", "nn"}], "-", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", "m"}], "+", RowBox[{"b", " ", "n"}]}], ")"}], " ", SuperscriptBox["nn", "2"]}]}], ")"}], " ", RowBox[{"Cos", "[", "A", "]"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", "c", " ", "ll", " ", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", SuperscriptBox["n", "2"]}], "+", RowBox[{"n", " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", "l", " ", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{"a", "+", RowBox[{"2", " ", "b"}]}], ")"}]}], " ", "ll"}], "+", RowBox[{"a", " ", "mm"}]}], ")"}], " ", "n"}]}], ")"}], " ", "nn"}], "-", RowBox[{ RowBox[{"(", RowBox[{"l", "+", "m"}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"c", " ", "l"}], "+", RowBox[{"a", " ", "n"}]}], ")"}], " ", SuperscriptBox["nn", "2"]}]}], ")"}], " ", RowBox[{"Cos", "[", "B", "]"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", "c", " ", RowBox[{"(", RowBox[{"ll", "+", "mm"}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"ll", " ", "m", " ", "n"}], "+", RowBox[{"l", " ", "mm", " ", "n"}], "-", RowBox[{"l", " ", "m", " ", "nn"}]}], ")"}]}], "+", RowBox[{"nn", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"b", " ", "l", " ", "ll"}], "-", RowBox[{"a", " ", "ll", " ", "m"}], "-", RowBox[{"2", " ", "b", " ", "ll", " ", "m"}], "-", RowBox[{"2", " ", "a", " ", "l", " ", "mm"}], "-", RowBox[{"b", " ", "l", " ", "mm"}], "+", RowBox[{"a", " ", "m", " ", "mm"}]}], ")"}], " ", "n"}], "-", RowBox[{ RowBox[{"(", RowBox[{"l", "-", "m"}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"b", " ", "l"}], "-", RowBox[{"a", " ", "m"}]}], ")"}], " ", "nn"}]}], ")"}]}]}], ")"}], " ", RowBox[{"Cos", "[", "C", "]"}]}]}], ")"}]}]}], "}"}], "]"}]], "Output",\ ExpressionUUID->"090c5cf3-9ead-4d2c-a782-dd6725e1a342"] }, Open ]], Cell["\<\ Reflection[TrilinearLine[{ll_, mm_, nn_}], TrilinearLine[{l_, m_, n_}]] := TrilinearLine[{((-(ll + mm))*n + (l + m)*nn)* ((ll + mm)*(c*(l^2*ll - ll*m^2 + 2*l*m*mm) + ll*(a*l + b*m)*n) - (b*l*(ll*(l + m) + 2*m*mm) + c*(ll*m - l*(ll + 2*mm))*n - b*ll*n^2 + a*(2*l^2*ll + l*m*(ll + 2*mm) - ll*(m^2 + n^2)))* nn - 2*(a + b)*l*n*nn^2 + ((ll + mm)*n*(c*ll*m - 2*c*l*mm - b*ll*n) + (c*m*(ll*m - l*(ll + 2*mm)) + (b*l*ll - (2*a + b)*ll*m + 2*(a + b)*l*mm)*n)* nn + 2*(a + b)*l*m*nn^2)*Cos[A] - (ll*(ll + mm)*n*(c*l + a*n) + (c*l*((-ll)*m + l*(ll + 2*mm)) - a*ll*(l + m)*n)* nn - 2*(a + b)*l^2*nn^2)*Cos[B] + ((-(ll + mm))*(2*c*l^2*mm + ll*(b*l + a*m)*n) + (ll*(l + m)*(b*l + a*m) + 2*(a + b)*l^2*mm)*nn)* Cos[C]), ((ll + mm)*n - (l + m)*nn)* ((-(ll + mm))*(c*(2*l*ll*m - l^2*mm + m^2*mm) + (a*l + b*m)*mm*n) + (a*m*(2*l*ll + (l + m)*mm) + c*(l*mm - m*(2*ll + mm))*n - a*mm*n^2 + b*(2*l*ll*m - l^2*mm + l*m*mm + 2*m^2*mm - mm*n^2))*nn + 2*(a + b)*m*n*nn^2 + (mm*(ll + mm)*n*(c*m + b*n) + (c*m*(2*ll*m + (-l + m)*mm) - b*(l + m)*mm*n)* nn - 2*(a + b)*m^2*nn^2)*Cos[A] + ((ll + mm)*n*(2*c*ll*m - c*l*mm + a*mm*n) + (c*l*(2*ll*m + (-l + m)*mm) + (-2*(a + b)*ll*m + (2*b*l + a*(l - m))*mm)*n)* nn - 2*(a + b)*l*m*nn^2)*Cos[B] + ((ll + mm)*(2*c*ll*m^2 + (b*l + a*m)*mm*n) - (2*(a + b)*ll*m^2 + (l + m)*(b*l + a*m)*mm)*nn)* Cos[C]), ((ll + mm)*n - (l + m)*nn)* (-2*c*(ll + mm)*(l*ll + m*mm)*n + ((a*l*ll + 2*b*l*ll - b*ll*m - a*l*mm + 2*a*m*mm + b*m*mm)*n + c*(ll + mm)*(l^2 + m^2 - 2*n^2))* nn + ((-(l - m))*(b*l - a*m) + c*(l + m)*n + (a + b)*n^2)*nn^2 + (2*c*mm*(ll + mm)*n^2 + n*(c*m*(ll + mm) + (b*ll - (2*a + b)*mm)*n)*nn - (l + m)*(c*m + b*n)*nn^2)*Cos[A] + (2*c*ll*(ll + mm)*n^2 + n*(c*l*(ll + mm) + ((-(a + 2*b))*ll + a*mm)*n)*nn - (l + m)*(c*l + a*n)*nn^2)*Cos[B] + (2*c*(ll + mm)*(ll*m*n + l*mm*n - l*m*nn) + nn*((b*l*ll - a*ll*m - 2*b*ll*m - 2*a*l*mm - b*l*mm + a*m*mm)*n - (l - m)*(b*l - a*m)*nn))* Cos[C])}]\ \>", "Input",ExpressionUUID->"2f65905b-d25b-48a7-b47d-851efddfe76e"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Show", "[", RowBox[{ RowBox[{"Graphics", "[", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"Yellow", ",", RowBox[{"Sides", "[", RowBox[{"t", ",", "1"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", "t", ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"Red", ",", RowBox[{"EulerLine", "[", "t", "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"Orange", ",", RowBox[{"r", "=", RowBox[{ RowBox[{"Reflection", "[", RowBox[{ RowBox[{"TrilinearLine", "[", "EulerLine", "]"}], ",", RowBox[{"TrilinearLine", "[", RowBox[{"{", RowBox[{"1", ",", "0", ",", "0"}], "}"}], "]"}]}], "]"}], "[", "t", "]"}]}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"TrilinearLine", "[", RowBox[{"{", RowBox[{"1", ",", ".0001", ",", ".001"}], "}"}], "]"}], "[", "t", "]"}], ",", "\[IndentingNewLine]", RowBox[{"PointSize", "[", ".03", "]"}], ",", "\[IndentingNewLine]", RowBox[{"Cartesian", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"apt", "/.", RowBox[{"Thread", "[", RowBox[{ RowBox[{"{", RowBox[{"l", ",", "m", ",", "n"}], "}"}], "->", RowBox[{ RowBox[{"TrilinearLine", "[", "EulerLine", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], "]"}]}], "/.", RowBox[{"Thread", "[", RowBox[{ RowBox[{"{", RowBox[{"ll", ",", "mm", ",", "nn"}], "}"}], "\[Rule]", RowBox[{"{", RowBox[{"1", ",", "0", ",", "0"}], "}"}]}], "]"}]}], ")"}], "[", "t", "]"}], "]"}], ",", RowBox[{"{", RowBox[{"Blue", ",", RowBox[{"Cartesian", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"int", "/.", RowBox[{"Thread", "[", RowBox[{ RowBox[{"{", RowBox[{"l", ",", "m", ",", "n"}], "}"}], "->", RowBox[{ RowBox[{"TrilinearLine", "[", "EulerLine", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], "]"}]}], "/.", RowBox[{"Thread", "[", RowBox[{ RowBox[{"{", RowBox[{"ll", ",", "mm", ",", "nn"}], "}"}], "\[Rule]", RowBox[{"{", RowBox[{"1", ",", "0", ",", "0"}], "}"}]}], "]"}]}], ")"}], "[", "t", "]"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"Red", ",", RowBox[{"Cartesian", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"foot", "/.", RowBox[{"Thread", "[", RowBox[{ RowBox[{"{", RowBox[{"l", ",", "m", ",", "n"}], "}"}], "->", RowBox[{ RowBox[{"TrilinearLine", "[", "EulerLine", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], "]"}]}], "/.", RowBox[{"Thread", "[", RowBox[{ RowBox[{"{", RowBox[{"ll", ",", "mm", ",", "nn"}], "}"}], "\[Rule]", RowBox[{"{", RowBox[{"1", ",", "0", ",", "0"}], "}"}]}], "]"}]}], ")"}], "[", "t", "]"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"Orange", ",", RowBox[{"Cartesian", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"rp", "/.", RowBox[{"Thread", "[", RowBox[{ RowBox[{"{", RowBox[{"l", ",", "m", ",", "n"}], "}"}], "->", RowBox[{ RowBox[{"TrilinearLine", "[", "EulerLine", "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], "]"}]}], "/.", RowBox[{"Thread", "[", RowBox[{ RowBox[{"{", RowBox[{"ll", ",", "mm", ",", "nn"}], "}"}], "\[Rule]", RowBox[{"{", RowBox[{"1", ",", "0", ",", "0"}], "}"}]}], "]"}]}], ")"}], "[", "t", "]"}], "]"}]}], "}"}]}], "\[IndentingNewLine]", "}"}], "]"}], ",", RowBox[{"AspectRatio", "\[Rule]", "Automatic"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1.5"}], ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1.5"}], ",", "2"}], "}"}]}], "}"}]}]}], "]"}]], "Input",\ ExpressionUUID->"8c679920-994b-48c0-8183-f7b1c063c171"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.428571 0.285714 0.428571 0.285714 [ [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath 1 1 0 r .5 Mabswid [ ] 0 setdash .92423 .23478 m .31863 .79379 L s .67253 .84679 m .28461 .18178 L s .14286 .42857 m 1 .42857 L s 0 g .42857 .42857 m .71429 .42857 L .52857 .6 L .42857 .42857 L s 1 0 0 r .2701 1 m .82824 0 L s 1 .5 0 r 0 .87566 m 1 .41812 L s 0 g 1 .16456 m .096 1 L s .03 w .52857 .6 Mdot 0 0 1 r .45593 .66705 Mdot 1 0 0 r .50172 .58501 Mdot 1 .5 0 r .47487 .57003 Mdot % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{288, 288}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}},ImageCache->GraphicsData["CompressedBitmap", "\<\ eJyd2wd7VMcVgOErrSQkehWogBaBJEBCIJBAFDVQAQR2jIE42NgIgQMEDAZh xyaOcGKnl7+T3nvvvff6Gza7c2bPnb37zd7Z+HkgROfMu7O3zpwZnZlbuH7t 9tzCjfm57My9ubvXb8zfz07fuZf/UaYmimqyhT/ZqPDvXBQV//pvLv9flMn/ iXL2v2iv+TuqEPoPhAZSQ/+G0D4J/QtC+1ND/4TQYGroHxAaSg39HUIHUkN/ g9BBCf0VQsOpob9A6FBq6M8QOpwa+hOEjqSG/gihoxL6A4RGUkO/h9Boauh3 EBpLDf0WQuOpod9AaEJCv4bQsdTQryB0PDX0SwhNpoZ+AaGp1NDPITQtoZ9B aCY19FMInUgN/QRCJ1NDP4bQKX/IfFateV5GP/LFawrxGvmXkX7o7XWmkKo/ q5A+A+m1kv6DwPSMpD+h/ycOvQuIaSDq/MTDQKJeiLNAvArEFBANfuKVQGKJ EE8C8XIg0SjEOSBeAmISiCY/8QAIc2+bi2+5NDwPDReg4TH47ArE/UBihRAX gLgHxAQQK4V4KxB3A4lV1RHjQKwW4ikgXggk1viJ24HEWiHeBsQtIMaAWCfE RSBuAjHq5Fkm2lAdMQJEsxBPA3E9kNhYHWEGFebOaJGGz0DD530NEwexSuII EK1CXALiaiDRJsSzQFwJJNqrIw4DsVmI54C4HEhsqY44BESHEJeBeBaIYSev eEFtFWIOiEtAHASi0088E0hsE+IKEE8DYWYO5rLu8je86GuYOIiWmAfiqUCi uzpiCIgeIa4CcSGQ2CHENSDOAzEIxE4/cS6Q2CXE80A8CcR+IHr9xNlAok+I twPxBBADTl7xmuwX4joQjwcSe/zEY4GErSbcAOIMECbd3Bn7/A1P+xomDqIl bgIxC8QeIGwV4h1AnAwkBqsj+oGw9YlbQMwEEgeqI3YDYYsat4GYCiSG/cQk EH1OXvGCsoWLF4A4DkQvELaKcQeIiUDiaHWEeaiYy9qWLu5CwzFfw8RBrJLY CYTkRS8CMRJIyEg3nhA4xFEgdgAx4SeOBBK2mHIfiEOBxPHqiB4gbJllAYiD gcRUdUSXk1e8Jm2V5QEQQ4GELbm8BMQgENsLf5vL+pS/4X5fw8QRsMTLQAwE ErPVEduAkHdL9E4g9gQSs3JUcov5H74CTj84nb4DYhxbECJsdyB2UjFb6zH3 9FnpT6HqJURx0aCz8PdJSy+aykz+B1rIcS6ZXuhAVj4sn3JCP9bWRB4CsQuI DiVmlFgmRLGoVT529BHTSqwoJdxe9FQkppSwdYnXgOgGYosSk0qs8RNdPoKe nebc2NrAuwHbDthmwMa1Z81+bFsgNqbYJsEWAesErB2wUcXs1PsRJGUDsRHF 2ksxt2eEtQFm3lDmBNiJ8OuQtAWwVulFPu2o9mdrKeH2Z3NF4ogSdgr6HiDa gWhR4rASdib5XvgirRWJQ0r0lBJuL4jYpMSwEnYO9wb0YpOPoPGyOTe9pZjb H8I2AjaoPbMzqjchqTkQ26/Y3lLM7RlhzYDtU8zOdN4HSesDsQHF7ITl/ZC0 NhDbq9iBUsz9moRtAMwcdnM27fThA5C0OhDbrT07Uoq5PSNsnTTMp/QrYVcv Pwifs7IiEfdiTIgPAbECiLVK9Ckx4SeW+4hE3i7F7Gj4w5C0DLA1kGfexeZ8 TZVi7iFeGoj1aM/s2PQjkNQYiHUrZgebH4WkJYCthrwuxU77sYZAbLtiUliJ PgZJ9YCtgjzzcjUn4C1+rC4Q26o9k/JX9HFIygCml2+yWmuw836s1oeZ6z4m ZGVIHnp1xVFq4Sg5mG0eyf1ogKwCsiIjj+CGGHB6U9KwQxtKTVfeKo2FH9S7 De13XZHEcvZNbM7MpSRBV8oyINq0F5eTRK09EmY077ZZCk6rOleSjpxO6Um+ CYmNILaoeDV5YBNigxVzufI7pex9b0SppTrnutb2tqxn9eBsVEdKmfIQMa3N 1VILbczLw5yqm8k2SwqJzWpKNUtuf/PNGgvx9Rq/48Tr9ZubfxT+5L95/q+1 mv6ik564HjLShXz6ak2/7/QukV6n6Ss1/YE/vV6+QGSXoc13l6l0/ASvcKCj 4qlInNhG/exX/VhdAnN/VnaVGEymcPrWS8MaAMsoJvMdfZGnYY2AGeeR38mA Y+bE5jjLsD0ejKQ0jI9p8c6SnpQ6Da6jaXmnSZvrg9v5JjILsUM2rxF3gQ7t I9eoTxhy2S9RoAmARQGKI1r3gNTaR0hJVSCodeFjzWVrjvlKaGgvhDehYZ1+ 4hp/wzegYXyZrYeGUgSQg15XaFb+NlyMZwTlDc2RLty18hEtkGlvFXNQCo+D XBskPfy/ktohyd7mr+nXTst8qJnO1Vx8Mua2QEOphMn/xBWy2vhwmxNQPJi5 LBBS4ZOKZSa+FepKRw9RSZk00XZBP16ehTzy6AbAPlbvKVBp6NLjB+4qUBy1 pg2kqDdStZUlFXvCwjDqmcVuKdYEGI0XdwBm31ZmEdCcJBrJELYLMKmty5qq 6dlywGhYXAG7VoblnOEuDdj7ALPv8HnFaOxM2G4/NqdYPIKlqU0/ELIiI1s7 nJpn+tRmL2B2PGO2UphzSPMf6lkF7KL2jGazhO0DTFbQZItDbVxKTZ9bVsAu KLY+EBsEzA4ZzylGpYwmwIYAk6VS2XpQ8jZJww74MbODwJxNqnIRNgyYHTmf 0Z61AEaVggrYbBnm3kRUwzgMmKyTO6smrYBRdaUCFi9k2Dlc3qEaz1EgZPeA LCFk4gp2esFoBDA7oTmm/aEFBsJG/di4Yh2AUTVsDDDZ7eFU/bOB2LgfS1bZ 07FjgNmJY1wsp0W2VYAdB0y29cjCbiYu3qdjk35sSHvWBRhVNKcAs/PsuEzd HYhN+7G4skwL32sAmwFM9nTJImyMmZtoHRAn/ERcfKXtAFSVPgWYrXGYsUEm Xregfbul2Cxg84Lt0J71BmKn/Vhc7OwDjJYFzgBmi0NxfZK29RD2mB/rVIx2 Km0A7HHAZL+mU86jzVeE0W85XBbMLLZl4uWZ9EWeClhcqdsXiNGvLTwnWFxc o+2ChNFvH1hsYynmbLAuJeiXCGRjrhxYZ7kofaGONvLbKqi558xhp32h1LMK WFwaOxiI0c582fnrFM6GAaMlzU9Iw+XakDY+U8NPSsOl2pA2Xbf5G8YFGf+2 89KGn5KGcUWEds1Tw09Lw4x+4ig0pFVn2zCyc/TFyEz6xwJbfyZuvVg+KHFb 06K5bT0mnS7W8xNJn5UkMiukjwSmf07S6TBn/el0Oin985JOlw2lf0HS6fLc 6k+n24DSvyjpdAvS3g+bTpvTKf1Lkk5Pi23+9PhhR7tsvixJ9KyukD4QmP4V SafXCqV/VdLplUabjGw6vU4p/WuSTq9y2gVl02kYQelfl3QawtA2LZtOO10p /RuSTqOtnf50GulR+jcl3Y6dogi3t31LkmicXSGdNixS+rclnaYEff50mo5Q +ncknaZCtJXQpmcD078r6R2QTrsebTpNPyn9e5JOm84o/fuSTjNl2spp02mv F6XLb+dGUc3/ADTuiBA=\ \>"],ImageRangeCache->{{{0., 287.}, {287., 0.}} -> {-1.50002, -1.50002, \ 0.0121953, 0.0121953}},ExpressionUUID->"b16fa406-f824-438b-8582-a56a3d0dbd49"], Cell[BoxData[ TagBox[ RowBox[{"\[SkeletonIndicator]", "Graphics", "\[SkeletonIndicator]"}], False, Editable->False]], "Output",ExpressionUUID->"db68c953-77c6-4efc-8e91-\ ee4eb7cf5dc7"] }, Open ]] }, Open ]] }, Open ]] }, WindowSize->{1110, 791}, WindowMargins->{{Automatic, 75}, {-23, Automatic}}, ShowSelection->True, FrontEndVersion->"11.1 for Mac OS X x86 (32-bit, 64-bit Kernel) (June 2, \ 2017)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{ "Info3311253617-4052398"->{ Cell[10156, 350, 413, 7, 70, "Print", "ExpressionUUID" -> "091832ed-a44f-49ba-8e7e-47e8cdf2e03b", CellTags->"Info3311253617-4052398"]} } *) (*CellTagsIndex CellTagsIndex->{ {"Info3311253617-4052398", 88429, 2431} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[580, 22, 82, 0, 92, "Title", "ExpressionUUID" -> \ "7bd30226-cd4b-480c-9f76-f94c11c3619e"], Cell[CellGroupData[{ Cell[687, 26, 83, 0, 44, "Subsection", "ExpressionUUID" -> \ "d21b1021-8060-4e70-a05a-9f2668f2dad0"], Cell[773, 28, 114, 3, 49, "Text", "ExpressionUUID" -> \ "50d86193-ac51-45fb-9697-b38811e743b1"], Cell[890, 33, 339, 9, 30, "Text", "ExpressionUUID" -> \ "b52c51e9-254c-4473-82c1-6ed2cdd2c5df"], Cell[1232, 44, 350, 10, 30, "Text", "ExpressionUUID" -> \ "04aa9569-844b-4243-96db-1b71a167ae8a"], Cell[1585, 56, 154, 2, 30, "Text", "ExpressionUUID" -> \ "7a75c8cf-a155-49cd-85e6-0c3eee002791"] }, Open ]], Cell[CellGroupData[{ Cell[1776, 63, 91, 0, 44, "Subsection", "ExpressionUUID" -> \ "e5d3f3d2-0572-44ff-b02a-9804939e253f"], Cell[1870, 65, 114, 1, 32, "Input", "ExpressionUUID" -> \ "82674102-7b5f-44eb-b4b0-7f02510ba179"] }, Open ]], Cell[CellGroupData[{ Cell[2021, 71, 80, 0, 64, "Section", "ExpressionUUID" -> \ "6fd0aa62-5edd-47ca-9d0f-d2d51e6bc95d"], Cell[2104, 73, 219, 6, 32, "Input", "ExpressionUUID" -> \ "a725aa9b-406b-4d30-8c0b-4575e62642b2"], Cell[CellGroupData[{ Cell[2348, 83, 2903, 84, 243, "Input", "ExpressionUUID" -> \ "92d1bb39-c1f4-4bb2-95d3-c97f521e3240"], Cell[5254, 169, 4318, 159, 255, 1797, 116, "GraphicsData", "PostScript", \ "Graphics", "ExpressionUUID" -> "006c9b49-2bbe-4ce4-87b8-2e37958c6be7"], Cell[9575, 330, 191, 5, 70, "Output", "ExpressionUUID" -> \ "92a53b15-8d57-4273-a29b-52db8e2a3ee1"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[9815, 341, 84, 0, 70, "Section", "ExpressionUUID" -> \ "b7dfd354-bcd8-46ec-9c9c-99605098e0cb"], Cell[9902, 343, 118, 0, 70, "Print", "ExpressionUUID" -> \ "5b573a1e-cddc-47c8-bb52-213cba637e79"], Cell[CellGroupData[{ Cell[10045, 347, 108, 1, 70, "Input", "ExpressionUUID" -> \ "aff992cb-31f7-4b9f-8ccc-5f48e316fbe5"], Cell[10156, 350, 413, 7, 70, "Print", "ExpressionUUID" -> \ "091832ed-a44f-49ba-8e7e-47e8cdf2e03b", CellTags->"Info3311253617-4052398"] }, Open ]], Cell[CellGroupData[{ Cell[10606, 362, 451, 13, 70, "Input", "ExpressionUUID" -> \ "64501f00-8e68-4cc6-8015-04c735cbaa6e"], Cell[11060, 377, 1918, 62, 70, "Output", "ExpressionUUID" -> \ "d682de68-e668-43e8-ab60-73072661172c"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[13027, 445, 120, 0, 70, "Section", "ExpressionUUID" -> \ "c759db03-0ab2-495b-b4e4-da4da82e35c5"], Cell[CellGroupData[{ Cell[13172, 449, 385, 10, 70, "Input", "ExpressionUUID" -> \ "1a5d25a1-6c93-490d-95ac-17ef4fa15178"], Cell[13560, 461, 410, 14, 70, "Output", "ExpressionUUID" -> \ "6351d26c-b62e-4bae-974d-032c73adc9cb"] }, Open ]], Cell[CellGroupData[{ Cell[14007, 480, 342, 10, 70, "Input", "ExpressionUUID" -> \ "1b776242-44bd-4c27-9bcc-68c14a976dad"], Cell[14352, 492, 83, 0, 70, "Output", "ExpressionUUID" -> \ "3fd1243c-7416-4455-825e-37b032ddb890"] }, Open ]], Cell[CellGroupData[{ Cell[14472, 497, 702, 19, 70, "Input", "ExpressionUUID" -> \ "2542277d-38ca-4d75-843c-ac30c2c335f3"], Cell[15177, 518, 3316, 92, 70, "Output", "ExpressionUUID" -> \ "2a3b44b2-4a3c-4a91-9fe1-2b085f22bea4"] }, Open ]], Cell[CellGroupData[{ Cell[18530, 615, 317, 9, 70, "Input", "ExpressionUUID" -> \ "82636a2a-da55-4054-ad5d-b22b4076789f"], Cell[18850, 626, 16379, 418, 70, "Output", "ExpressionUUID" -> \ "0df5cae0-ab7e-436a-a137-6e897f283bde"] }, Open ]], Cell[CellGroupData[{ Cell[35266, 1049, 218, 5, 70, "Input", "ExpressionUUID" -> \ "f52167c0-cb27-48c7-ada5-22b098d537ad"], Cell[35487, 1056, 21899, 511, 70, "Output", "ExpressionUUID" -> \ "6d3b5986-2e25-46b6-b1db-a0de8ec61e8a"] }, Open ]], Cell[CellGroupData[{ Cell[57423, 1572, 120, 1, 70, "Input", "ExpressionUUID" -> \ "189fd58c-a4ae-41e9-8947-889f0ca23a0f"], Cell[57546, 1575, 18238, 510, 70, "Output", "ExpressionUUID" -> \ "090c5cf3-9ead-4d2c-a782-dd6725e1a342"] }, Open ]], Cell[75799, 2088, 2363, 48, 70, "Input", "ExpressionUUID" -> \ "2f65905b-d25b-48a7-b47d-851efddfe76e"], Cell[CellGroupData[{ Cell[78187, 2140, 4784, 125, 70, "Input", "ExpressionUUID" -> \ "8c679920-994b-48c0-8183-f7b1c063c171"], Cell[82974, 2267, 4881, 140, 70, 965, 74, "GraphicsData", "PostScript", \ "Graphics", "ExpressionUUID" -> "b16fa406-f824-438b-8582-a56a3d0dbd49"], Cell[87858, 2409, 191, 5, 70, "Output", "ExpressionUUID" -> \ "db68c953-77c6-4efc-8e91-ee4eb7cf5dc7"] }, Open ]] }, Open ]] }, Open ]] } ] *) (* End of internal cache information *)