Geometric construction: [url]http://www.geogebratube.org/material/show/id/27049[/url] [math]\;\;\;\;[/math](Euclid, [i]Elements[/i], Book I, Prop. 9)
(Drag the Blue point. Gray text is clickable). Point M is only constrained by the vector formula. _________ [b]Notes:[/b] In this worksheet, I adopted the text convention [math]\;\;\;{\bf a}[/math] is a vector [math]\;\;\;{\bf e_a}[/math] is the unit vector in direction [math]{\bf a}[/math], [math]\;\;\;a[/math] is the length of [math]{\bf a}. \;\;\;\; (a = |{\bf a}|)[/math] Here is one way that I might generalize these formulas a bit further. Say, in code for a Geometry program. Given a set of [b]n[/b] vectors, index them beginning at zero: [math]j = 0,1, \ldots, n-1 [/math], and Let the corresponding unit vectors be [math]\;\;\;\left\{{\bf x_j} \right\}, \;\;\; j = 0, 1, \ldots, n-1[/math] If the vectors form a closed loop, operations the index [i]j[/i] are to be performed in arithmetic (mod n). (Otherwise, boundary cases must be handled according to the structure of the problem). Here, n = 3. The path is closed; use arithmetic mod 3. Let the vertices of the triangle be [math]\;\;\;\;A_j, \;\; j = 0, 1, 2[/math] With corresponding angles [math]\;\;\;\;α_j, \;\; j = 0, 1, 2[/math] And let vector [math]{\bf a_j} =(A_{j+1}- A_j)[/math] Then the [i]j[/i]th angle bisector is the line (ray) [math]\;\;\;\; b_j = A_j +λ \frac{{\bf x_j} - {\bf x_{j-1}}}{|{\bf x_j} - {\bf x_{j-1}}|}, \;\;\; (λ≥0) [/math] It intersects the opposite side [math] {a_{j+1}} [/math] at [math]\;\;\;\; B_j = A_{j+1} +\frac{ a_j} {a_{j-1} + {a_j}} {\bf a_{j+1}} [/math]. _____ Let i = j+1, so that the user index is in the natural range: i= 1, 2, 3, corresponding always to the three vertices in the given order. The user should be able to manipulate these relationships without seeing how they have been defined. The definitions must match those of Geometry. Where there are multiple conventions and possible definitions, the user must be able to select from among them [i]in a natural way[/i]. The goal is to allow proper object encapsulation: elements may be [i]defined on the triangle[/i], and collected with the triangle, accessible by simple interface. From there, these elements are exposed, accessible in the rest of the construction. This allows [i]context[/i] to be established and distinguished.