Restructure chapters, delete a bunch of words, add more words, do some things, panic...
[ipdf/sam.git] / notes.nb
diff --git a/notes.nb b/notes.nb
new file mode 100644 (file)
index 0000000..a18d234
--- /dev/null
+++ b/notes.nb
@@ -0,0 +1,294 @@
+(* Content-type: application/vnd.wolfram.mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 9.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[       157,          7]
+NotebookDataLength[      8384,        285]
+NotebookOptionsPosition[      7404,        248]
+NotebookOutlinePosition[      7739,        263]
+CellTagsIndexPosition[      7696,        260]
+WindowFrame->Normal*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+Cell[TextData[{
+ "The view \[OpenCurlyDoubleQuote]scale about point\[CloseCurlyDoubleQuote] \
+transformation\nmx, my is mouse coordinates ",
+ StyleBox["relative to the view",
+  FontSlant->"Italic"],
+ "\nx, y, w, h are current view coordinates ",
+ StyleBox["relative to the document",
+  FontSlant->"Italic"],
+ "\nX, Y, W, H are transformed coordinates\nThis operation cannot be \
+represented as a 2D matrix operation..."
+}], "Text",
+ CellChangeTimes->{{3.621645547391625*^9, 3.621645590446886*^9}, {
+  3.621645788609687*^9, 3.621645803583606*^9}}],
+
+Cell[BoxData[{
+ RowBox[{
+  RowBox[{"vx", " ", "=", " ", 
+   RowBox[{
+    RowBox[{"w", " ", "*", "mx"}], " ", "+", " ", "x"}]}], 
+  ";"}], "\[IndentingNewLine]", 
+ RowBox[{
+  RowBox[{"vy", " ", "=", " ", 
+   RowBox[{
+    RowBox[{"h", " ", "*", " ", "my"}], " ", "+", " ", "y"}]}], 
+  ";"}], "\[IndentingNewLine]", 
+ RowBox[{
+  RowBox[{"top", " ", "=", " ", 
+   RowBox[{"vy", " ", "-", " ", "y"}]}], ";"}], "\[IndentingNewLine]", 
+ RowBox[{
+  RowBox[{"left", " ", "=", " ", 
+   RowBox[{"vx", " ", "-", " ", "x"}]}], ";"}], "\[IndentingNewLine]", 
+ RowBox[{
+  RowBox[{"top", " ", "=", " ", 
+   RowBox[{"top", "*", "s"}]}], ";"}], "\[IndentingNewLine]", 
+ RowBox[{
+  RowBox[{"left", " ", "=", " ", 
+   RowBox[{"left", " ", "*", " ", "s"}]}], ";"}], "\[IndentingNewLine]", 
+ RowBox[{
+  RowBox[{"X", " ", "=", " ", 
+   RowBox[{"vx", " ", "-", " ", "left"}]}], ";"}], "\[IndentingNewLine]", 
+ RowBox[{
+  RowBox[{"Y", " ", "=", " ", 
+   RowBox[{"vy", " ", "-", " ", "top"}]}], ";"}], "\[IndentingNewLine]", 
+ RowBox[{
+  RowBox[{"W", " ", "=", " ", 
+   RowBox[{"w", "*", "s"}]}], ";"}], "\[IndentingNewLine]", 
+ RowBox[{
+  RowBox[{"H", " ", "=", " ", 
+   RowBox[{"h", "*", "s"}]}], ";"}]}], "Input",
+ CellChangeTimes->{{3.621644450038117*^9, 3.621644517724819*^9}, {
+  3.6216455001839314`*^9, 3.6216455061448193`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"xy1", " ", "=", " ", 
+  RowBox[{"{", 
+   RowBox[{
+    RowBox[{"{", 
+     RowBox[{"x", ",", "y"}], "}"}], ",", 
+    RowBox[{"{", 
+     RowBox[{"x", "+", "w"}], "}"}], ",", 
+    RowBox[{"{", 
+     RowBox[{"y", "+", "h"}], "}"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.621645646537537*^9, 3.621645677183116*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{", 
+  RowBox[{
+   RowBox[{"{", 
+    RowBox[{"x", ",", "y"}], "}"}], ",", 
+   RowBox[{"{", 
+    RowBox[{"w", "+", "x"}], "}"}], ",", 
+   RowBox[{"{", 
+    RowBox[{"h", "+", "y"}], "}"}]}], "}"}]], "Output",
+ CellChangeTimes->{3.62164567753369*^9}]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"xy2", " ", "=", " ", 
+  RowBox[{"FullSimplify", "[", 
+   RowBox[{"{", 
+    RowBox[{"X", ",", " ", "Y", ",", " ", 
+     RowBox[{"X", "+", "W"}], ",", " ", 
+     RowBox[{"Y", "+", "H"}]}], "}"}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.62164452159755*^9, 3.621644525242661*^9}, {
+  3.621645606946629*^9, 3.621645623731018*^9}, {3.6216456891302*^9, 
+  3.621645689867572*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{", 
+  RowBox[{
+   RowBox[{
+    RowBox[{"mx", " ", 
+     RowBox[{"(", 
+      RowBox[{"w", "-", 
+       RowBox[{"s", " ", "w"}]}], ")"}]}], "+", "x"}], ",", 
+   RowBox[{
+    RowBox[{"h", " ", 
+     RowBox[{"(", 
+      RowBox[{"my", "-", 
+       RowBox[{"my", " ", "s"}]}], ")"}]}], "+", "y"}], ",", 
+   RowBox[{
+    RowBox[{
+     RowBox[{"(", 
+      RowBox[{"mx", "+", "s", "-", 
+       RowBox[{"mx", " ", "s"}]}], ")"}], " ", "w"}], "+", "x"}], ",", 
+   RowBox[{
+    RowBox[{"h", " ", 
+     RowBox[{"(", 
+      RowBox[{"my", "+", "s", "-", 
+       RowBox[{"my", " ", "s"}]}], ")"}]}], "+", "y"}]}], "}"}]], "Output",
+ CellChangeTimes->{
+  3.621644525784692*^9, {3.621645598921043*^9, 3.62164562472651*^9}, {
+   3.621645679592589*^9, 3.6216456913785887`*^9}}]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"xywh2", " ", "=", " ", 
+  RowBox[{"FullSimplify", "[", 
+   RowBox[{"{", 
+    RowBox[{"X", ",", " ", "Y", ",", " ", "W", ",", "H"}], "}"}], 
+   "]"}]}]], "Input",
+ CellChangeTimes->{{3.621645929284232*^9, 3.621645939176342*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{", 
+  RowBox[{
+   RowBox[{
+    RowBox[{"mx", " ", 
+     RowBox[{"(", 
+      RowBox[{"w", "-", 
+       RowBox[{"s", " ", "w"}]}], ")"}]}], "+", "x"}], ",", 
+   RowBox[{
+    RowBox[{"h", " ", 
+     RowBox[{"(", 
+      RowBox[{"my", "-", 
+       RowBox[{"my", " ", "s"}]}], ")"}]}], "+", "y"}], ",", 
+   RowBox[{"s", " ", "w"}], ",", 
+   RowBox[{"h", " ", "s"}]}], "}"}]], "Output",
+ CellChangeTimes->{3.621645939693961*^9}]
+}, Open  ]],
+
+Cell[TextData[{
+ "For primitives in document,\nV X \[Rule] V X + S[V X - ",
+ Cell[BoxData[
+  FormBox[
+   RowBox[{
+    SubscriptBox["X", "0"], "]"}], TraditionalForm]],
+  FormatType->"TraditionalForm"],
+ "\nV is view matrix, S is scale matrix"
+}], "Text",
+ CellChangeTimes->{{3.62164641213169*^9, 3.62164647339319*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+  RowBox[{"(*", 
+   RowBox[{"TODO", ":", " ", 
+    RowBox[{"Express", " ", "as", " ", "a", " ", "matrix", " ", 
+     RowBox[{"operation", "?"}]}]}], "*)"}], "\[IndentingNewLine]"}]], "Input",\
+
+ CellChangeTimes->{{3.6216459415176992`*^9, 3.621645948934423*^9}, {
+  3.6216463980527067`*^9, 3.6216464053607597`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"ClearAll", "[", 
+  RowBox[{"Evaluate", "[", 
+   RowBox[{
+    RowBox[{"Context", "[", "]"}], "<>", "\"\<*\>\""}], "]"}], "]"}]], "Input"],
+
+Cell["Floating point operations", "Text",
+ CellChangeTimes->{{3.621665522093079*^9, 3.6216655239496813`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"FullSimplify", "[", 
+  RowBox[{"m1", " ", 
+   SuperscriptBox["B", "e1"], " ", "*", " ", "m2", " ", 
+   SuperscriptBox["B", "e2"]}], "]"}]], "Input",
+ CellChangeTimes->{{3.621665107840431*^9, 3.6216651376842957`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+  SuperscriptBox["B", 
+   RowBox[{"e1", "+", "e2"}]], " ", "m1", " ", "m2"}]], "Input",
+ CellChangeTimes->{{3.62166519824517*^9, 3.62166520820506*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+  SuperscriptBox["B", 
+   RowBox[{"e1", "+", "e2"}]], " ", "m1", " ", "m2"}]], "Output",
+ CellChangeTimes->{{3.621665204836622*^9, 3.621665208534109*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"FullSimplify", "[", 
+  RowBox[{"Solve", "[", 
+   RowBox[{
+    RowBox[{
+     RowBox[{
+      RowBox[{"m1", " ", 
+       SuperscriptBox["B", "e1"]}], " ", "+", " ", 
+      RowBox[{"m2", " ", 
+       SuperscriptBox["B", "e2"]}]}], " ", "\[Equal]", " ", 
+     RowBox[{"m3", " ", 
+      SuperscriptBox["B", "e1"]}]}], ",", " ", "m3"}], "]"}], "]"}]], "Input",\
+
+ CellChangeTimes->{
+  3.621665148857037*^9, {3.621665392367518*^9, 3.62166542126152*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{", 
+  RowBox[{"{", 
+   RowBox[{"m3", "\[Rule]", 
+    RowBox[{"m1", "+", 
+     RowBox[{
+      SuperscriptBox["B", 
+       RowBox[{
+        RowBox[{"-", "e1"}], "+", "e2"}]], " ", "m2"}]}]}], "}"}], 
+  "}"}]], "Output",
+ CellChangeTimes->{
+  3.621665149470646*^9, {3.621665400108696*^9, 3.621665421774309*^9}}]
+}, Open  ]]
+},
+WindowSize->{740, 575},
+WindowMargins->{{Automatic, 79}, {Automatic, 0}},
+FrontEndVersion->"9.0 for Linux x86 (64-bit) (February 7, 2013)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[557, 20, 546, 12, 110, "Text"],
+Cell[1106, 34, 1309, 36, 231, "Input"],
+Cell[CellGroupData[{
+Cell[2440, 74, 337, 10, 32, "Input"],
+Cell[2780, 86, 271, 9, 32, "Output"]
+}, Open  ]],
+Cell[CellGroupData[{
+Cell[3088, 100, 397, 9, 32, "Input"],
+Cell[3488, 111, 782, 25, 32, "Output"]
+}, Open  ]],
+Cell[CellGroupData[{
+Cell[4307, 141, 251, 6, 32, "Input"],
+Cell[4561, 149, 446, 15, 32, "Output"]
+}, Open  ]],
+Cell[5022, 167, 318, 9, 71, "Text"],
+Cell[5343, 178, 338, 8, 55, "Input"],
+Cell[5684, 188, 160, 4, 32, "Input"],
+Cell[5847, 194, 109, 1, 30, "Text"],
+Cell[5959, 197, 240, 5, 35, "Input"],
+Cell[6202, 204, 175, 4, 32, "Input"],
+Cell[6380, 210, 178, 4, 32, "Output"],
+Cell[CellGroupData[{
+Cell[6583, 218, 469, 14, 35, "Input"],
+Cell[7055, 234, 333, 11, 35, "Output"]
+}, Open  ]]
+}
+]
+*)
+
+(* End of internal cache information *)

UCC git Repository :: git.ucc.asn.au