Rigid Geometric Algebra for 2D Space: Difference between revisions
Eric Lengyel (talk | contribs) |
Eric Lengyel (talk | contribs) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 35: | Line 35: | ||
The following Cayley table shows the geometric products between all pairs of basis elements in the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$. The identity of the geometric product is the [[scalar]] basis element $$\mathbf 1$$. | The following Cayley table shows the geometric products between all pairs of basis elements in the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$. The identity of the geometric product is the [[scalar]] basis element $$\mathbf 1$$. | ||
[[Image:GeometricProduct201.svg|360px]] | [[Image:GeometricProduct201.svg|360px]] | ||
The following Cayley table shows the geometric antiproducts between all pairs of basis elements in the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$. The identity of the geometric antiproduct is the [[antiscalar]] basis element $$\large\unicode{x1D7D9}$$. | The following Cayley table shows the geometric antiproducts between all pairs of basis elements in the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$. The identity of the geometric antiproduct is the [[antiscalar]] basis element $$\large\unicode{x1D7D9}$$. | ||
[[Image:GeometricAntiproduct201.svg|360px]] | [[Image:GeometricAntiproduct201.svg|360px]] | ||
Line 56: | Line 58: | ||
== Lines == | == Lines == | ||
In the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$, a ''line'' $$\ | In the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$, a ''line'' $$\mathbf g$$ is a bivector having the general form | ||
:$$\ | :$$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ . | ||
The [[bulk]] of a line is given by its $$z$$ coordinate, and the [[weight]] of a line is given by its $$x$$ and $$y$$ coordinates. A line is [[unitized]] when $$ | The [[bulk]] of a line is given by its $$z$$ coordinate, and the [[weight]] of a line is given by its $$x$$ and $$y$$ coordinates. A line is [[unitized]] when $$g_x^2 + g_y^2 = 1$$. | ||
When used as an operator in the sandwich product, a line is a specific kind of [[flector]] that performs a [[reflection]] through itself. | When used as an operator in the sandwich product, a line is a specific kind of [[flector]] that performs a [[reflection]] through itself. | ||
If the weight of a line is zero (i.e., its $$x$$ and $$y$$ coordinates are both zero), then the line lies at infinity in all directions. Such a line is normalized when $$ | If the weight of a line is zero (i.e., its $$x$$ and $$y$$ coordinates are both zero), then the line lies at infinity in all directions. Such a line is normalized when $$g_z = \pm 1$$. This is the ''horizon'' of two-dimensional space. | ||
== Bulk and Weight == | == Bulk and Weight == | ||
Line 84: | Line 86: | ||
|- | |- | ||
| style="padding: 12px;" | [[Line]] | | style="padding: 12px;" | [[Line]] | ||
| style="padding: 12px;" | $$\ | | style="padding: 12px;" | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ | ||
| style="padding: 12px;" | $$\ | | style="padding: 12px;" | $$\mathbf g_\unicode{x25CF} = g_z \mathbf e_{12}$$ | ||
| style="padding: 12px;" | $$\ | | style="padding: 12px;" | $$\mathbf g_\unicode{x25CB} = g_x \mathbf e_{23} + g_y \mathbf e_{31}$$ | ||
|- | |- | ||
| style="padding: 12px;" | [[Motor]] | | style="padding: 12px;" | [[Motor]] | ||
Line 115: | Line 117: | ||
|- | |- | ||
| style="padding: 12px;" | [[Line]] | | style="padding: 12px;" | [[Line]] | ||
| style="padding: 12px;" | $$\ | | style="padding: 12px;" | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ | ||
| style="padding: 12px;" | $$ | | style="padding: 12px;" | $$g_x^2 + g_y^2 = 1$$ | ||
|- | |- | ||
| style="padding: 12px;" | [[Motor]] | | style="padding: 12px;" | [[Motor]] | ||
Line 143: | Line 145: | ||
|- | |- | ||
| style="padding: 12px;" | [[Line]] | | style="padding: 12px;" | [[Line]] | ||
| style="padding: 12px;" | $$\ | | style="padding: 12px;" | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ | ||
| style="padding: 12px;" | $$\left\Vert\ | | style="padding: 12px;" | $$\left\Vert\mathbf g\right\Vert_\unicode{x25CF} = |g_z|$$ | ||
|- | |- | ||
| style="padding: 12px;" | [[Motor]] | | style="padding: 12px;" | [[Motor]] | ||
Line 169: | Line 171: | ||
|- | |- | ||
| style="padding: 12px;" | [[Line]] | | style="padding: 12px;" | [[Line]] | ||
| style="padding: 12px;" | $$\ | | style="padding: 12px;" | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ | ||
| style="padding: 12px;" | $$\left\Vert\ | | style="padding: 12px;" | $$\left\Vert\mathbf g\right\Vert_\unicode{x25CB} = {\large\unicode{x1D7D9}}\sqrt{g_x^2 + g_y^2}$$ | ||
|- | |- | ||
| style="padding: 12px;" | [[Motor]] | | style="padding: 12px;" | [[Motor]] | ||
Line 199: | Line 201: | ||
|- | |- | ||
| style="padding: 12px;" | [[Line]] | | style="padding: 12px;" | [[Line]] | ||
| style="padding: 12px;" | $$\ | | style="padding: 12px;" | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ | ||
| style="padding: 12px;" | $$\widehat{\left\Vert\ | | style="padding: 12px;" | $$\widehat{\left\Vert\mathbf g\right\Vert} = \dfrac{|g_z|}{\sqrt{g_x^2 + g_y^2}}$$ | ||
| style="padding: 12px;" | Perpendicular distance from the origin to the line $$\ | | style="padding: 12px;" | Perpendicular distance from the origin to the line $$\mathbf g$$. | ||
Half the distance that the origin is moved by the [[flector]] $$\ | Half the distance that the origin is moved by the [[flector]] $$\mathbf g$$. | ||
|- | |- | ||
| style="padding: 12px;" | [[Motor]] | | style="padding: 12px;" | [[Motor]] | ||
Line 224: | Line 226: | ||
:$$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3$$ | :$$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3$$ | ||
:$$\mathbf q = q_x \mathbf e_1 + q_y \mathbf e_2 + q_z \mathbf e_3$$ | :$$\mathbf q = q_x \mathbf e_1 + q_y \mathbf e_2 + q_z \mathbf e_3$$ | ||
:$$\ | :$$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ | ||
:$$\mathbf | :$$\mathbf h = h_x \mathbf e_{23} + h_y \mathbf e_{31} + h_z \mathbf e_{12}$$ | ||
The join operation is performed by taking the [[wedge product]] between two geometric objects. The meet operation is performed by taking the [[antiwedge product]] between two geometric objects. | The join operation is performed by taking the [[wedge product]] between two geometric objects. The meet operation is performed by taking the [[antiwedge product]] between two geometric objects. | ||
Line 237: | Line 239: | ||
Zero if $$\mathbf p$$ and $$\mathbf q$$ are coincident. | Zero if $$\mathbf p$$ and $$\mathbf q$$ are coincident. | ||
|- | |- | ||
| style="padding: 12px;" | $$\ | | style="padding: 12px;" | $$\mathbf g \vee \mathbf h = (g_yh_z - h_yg_z)\mathbf e_1 + (g_zh_x - g_xh_z)\mathbf e_2 + (g_xh_y - g_yh_x)\mathbf e_3$$ | ||
| style="padding: 12px;" | Point where lines $$\ | | style="padding: 12px;" | Point where lines $$\mathbf g$$ and $$\mathbf h$$ intersect. | ||
Point at infinity if $$\ | Point at infinity if $$\mathbf g$$ and $$\mathbf h$$ are parallel. | ||
|- | |- | ||
| style="padding: 12px;" | $$\ | | style="padding: 12px;" | $$\mathbf g^\unicode["segoe ui symbol"]{x2605} \wedge \mathbf p = -g_yp_z\mathbf e_{23} + g_xp_z\mathbf e_{31} + (g_yp_x - g_xp_y)\mathbf e_{12}$$ | ||
| style="padding: 12px;" | Line perpendicular to line $$\ | | style="padding: 12px;" | Line perpendicular to line $$\mathbf g$$ passing through point $$\mathbf p$$. | ||
|} | |} | ||
Line 253: | Line 255: | ||
! Formula !! Description | ! Formula !! Description | ||
|- | |- | ||
| style="padding: 12px;" | $$\left(\ | | style="padding: 12px;" | $$\left(\mathbf g^\unicode["segoe ui symbol"]{x2605} \wedge \mathbf p\right) \vee \mathbf g = (g_x^2 + g_y^2)\mathbf p - (g_xp_x + g_yp_y + g_zp_z)(g_x \mathbf e_1 + g_y \mathbf e_2)$$ | ||
| style="padding: 12px;" | Projection of point $$\mathbf p$$ onto line $$\ | | style="padding: 12px;" | Projection of point $$\mathbf p$$ onto line $$\mathbf g$$. | ||
|- | |- | ||
| style="padding: 12px;" | $$\left(\mathbf p^ | | style="padding: 12px;" | $$\left(\mathbf p^\unicode["segoe ui symbol"]{x2605} \vee \mathbf g\right) \wedge \mathbf p = g_xp_z^2 \mathbf e_{23} + g_yp_z^2 \mathbf e_{31} - (g_xp_x + g_yp_y)p_z \mathbf e_{12}$$ | ||
| style="padding: 12px;" | Antiprojection of line $$\ | | style="padding: 12px;" | Antiprojection of line $$\mathbf g$$ onto point $$\mathbf p$$. | ||
|} | |} | ||
Projecting the origin onto a line gives us the following formula for the point on a line $$\ | Projecting the origin onto a line gives us the following formula for the point on a line $$\mathbf g$$ closest to the origin. | ||
:$$\left(\ | :$$\left(\mathbf g^\unicode["segoe ui symbol"]{x2605} \wedge \mathbf e_3\right) \vee \mathbf g = -g_xg_z \mathbf e_1 - g_yg_z \mathbf e_2 + (g_x^2 + g_y^2)\mathbf e_3$$ | ||
Symmetrically, antiprojecting the line at infinity onto a point gives us the following formula for the line farthest from the origin containing a point $$\mathbf p$$. | Symmetrically, antiprojecting the line at infinity onto a point gives us the following formula for the line farthest from the origin containing a point $$\mathbf p$$. | ||
:$$\left(\mathbf p^\ | :$$\left(\mathbf p^\unicode["segoe ui symbol"]{x2606} \vee \mathbf e_{12}\right) \wedge \mathbf p = -p_xp_z \mathbf e_{23} - p_yp_z \mathbf e_{31} + (p_x^2 + p_y^2)\mathbf e_{12}$$ | ||
== Motors == | == Motors == | ||
Line 284: | Line 286: | ||
The set of all flectors corresponds to the set of all improper Euclidean isometries in two-dimensional space. In the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$, a [[flector]] $$\mathbf F$$ has the general form | The set of all flectors corresponds to the set of all improper Euclidean isometries in two-dimensional space. In the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$, a [[flector]] $$\mathbf F$$ has the general form | ||
:$$\mathbf F = | :$$\mathbf F = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12} + g_w \mathbf 1$$ . | ||
A flector represents a transflection with respect to the line $$ | A flector represents a transflection with respect to the line $$g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$. When the line is unitized, $$g_w$$ is half the translation distance parallel to the line. |
Latest revision as of 02:12, 23 January 2024
Introduction
In the three-dimensional rigid geometric algebra, there are 8 graded basis elements. These are listed in Table 1.
There is a single scalar basis element $$\mathbf 1$$, and its multiples correspond to the real numbers, which are values that have no dimensions.
There are three vector basis elements named $$\mathbf e_1$$, $$\mathbf e_2$$, and $$\mathbf e_3$$ that have one-dimensional extents. A general vector $$\mathbf v = (v_x, v_y, v_z)$$ has the form
- $$\mathbf v = v_x \mathbf e_1 + v_y \mathbf e_2 + v_z \mathbf e_3$$ .
There are three bivector basis elements named $$\mathbf e_{23}$$, $$\mathbf e_{31}$$, and $$\mathbf e_{12}$$ having two-dimensional extents.
Finally, there is a single trivector basis element $${\large\unicode{x1D7D9}} = \mathbf e_3 \wedge \mathbf e_2 \wedge \mathbf e_1$$ having three-dimensional extents.
Unary Operations
The 3D rigid geometric algebra has a single complement operation, a reverse operation, and an antireverse operation. (In three dimensions, the left and right complements are identical.) These are listed for all basis elements in the following table.
Geometric Products
The geometric product is characterized by a metric that defines the products of the basis vectors with themselves. The subscript in $$\mathcal G_{2,0,1}$$ means that two basis vectors square to +1, zero basis vectors square to −1, and one basis vector squares to 0. The geometric product between two different basis vectors is given by the wedge product. We can write these rules as follows.
- $$\mathbf e_1 \mathbin{\unicode{x27D1}} \mathbf e_1 = 1$$
- $$\mathbf e_2 \mathbin{\unicode{x27D1}} \mathbf e_2 = 1$$
- $$\mathbf e_3 \mathbin{\unicode{x27D1}} \mathbf e_3 = 0$$
- $$\mathbf e_i \mathbin{\unicode{x27D1}} \mathbf e_j = \mathbf e_i \wedge \mathbf e_j$$, for $$i \neq j$$.
The following Cayley table shows the geometric products between all pairs of basis elements in the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$. The identity of the geometric product is the scalar basis element $$\mathbf 1$$.
The following Cayley table shows the geometric antiproducts between all pairs of basis elements in the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$. The identity of the geometric antiproduct is the antiscalar basis element $$\large\unicode{x1D7D9}$$.
Points
In the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$, a point $$\mathbf p$$ is a vector having the general form
- $$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3$$ .
The bulk of a point is given by its $$x$$ and $$y$$ coordinates, and the weight of a point is given by its $$z$$ coordinate. A point is unitized when $$p_z^2 = 1$$.
When used as an operator in the sandwich product, a point is a specific kind of motor that performs a rotation about itself.
If the weight of a point is zero (i.e., its $$z$$ coordinate is zero), then the point lies at infinity in the direction $$(x, y)$$, and it cannot be unitized. A point with zero weight can also be interpreted as a direction vector, and it is normalized to unit length by dividing by its bulk norm.
Lines
In the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$, a line $$\mathbf g$$ is a bivector having the general form
- $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ .
The bulk of a line is given by its $$z$$ coordinate, and the weight of a line is given by its $$x$$ and $$y$$ coordinates. A line is unitized when $$g_x^2 + g_y^2 = 1$$.
When used as an operator in the sandwich product, a line is a specific kind of flector that performs a reflection through itself.
If the weight of a line is zero (i.e., its $$x$$ and $$y$$ coordinates are both zero), then the line lies at infinity in all directions. Such a line is normalized when $$g_z = \pm 1$$. This is the horizon of two-dimensional space.
Bulk and Weight
The following table lists the bulk and weight for the main types in the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$.
Type | Definition | Bulk | Weight |
---|---|---|---|
Magnitude | $$\mathbf z = x\mathbf 1 + y {\large\unicode{x1d7d9}}$$ | $$\mathbf z_\unicode{x25CF} = x\mathbf 1$$ | $$\mathbf z_\unicode{x25CB} = y {\large\unicode{x1d7d9}}$$ |
Point | $$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3$$ | $$\mathbf p_\unicode{x25CF} = p_x \mathbf e_1 + p_y \mathbf e_2$$ | $$\mathbf p_\unicode{x25CB} = p_z \mathbf e_3$$ |
Line | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ | $$\mathbf g_\unicode{x25CF} = g_z \mathbf e_{12}$$ | $$\mathbf g_\unicode{x25CB} = g_x \mathbf e_{23} + g_y \mathbf e_{31}$$ |
Motor | $$\mathbf Q = q_x \mathbf e_{1} + q_y \mathbf e_{2} + q_z \mathbf e_{3} + q_w {\large\unicode{x1d7d9}}$$ | $$\mathbf Q_\unicode{x25CF} = q_x \mathbf e_{1} + q_y \mathbf e_{2}$$ | $$\mathbf Q_\unicode{x25CB} = q_z \mathbf e_{3} + q_w {\large\unicode{x1d7d9}}$$ |
Flector | $$\mathbf F = f_x \mathbf e_{23} + f_y \mathbf e_{31} + f_z \mathbf e_{12} + f_w \mathbf 1$$ | $$\mathbf F_\unicode{x25CF} = f_z \mathbf e_{12} + f_w \mathbf 1$$ | $$\mathbf F_\unicode{x25CB} = f_x \mathbf e_{23} + f_y \mathbf e_{31}$$ |
Unitization
The following table lists the unitization conditions for the main types in the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$.
Type | Definition | Unitization |
---|---|---|
Magnitude | $$\mathbf z = x\mathbf 1 + y {\large\unicode{x1d7d9}}$$ | $$y^2 = 1$$ |
Point | $$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3$$ | $$p_z^2 = 1$$ |
Line | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ | $$g_x^2 + g_y^2 = 1$$ |
Motor | $$\mathbf Q = q_x \mathbf e_{1} + q_y \mathbf e_{2} + q_z \mathbf e_{3} + q_w {\large\unicode{x1d7d9}}$$ | $$q_z^2 + q_w^2 = 1$$ |
Flector | $$\mathbf F = f_x \mathbf e_{23} + f_y \mathbf e_{31} + f_z \mathbf e_{12} + f_w \mathbf 1$$ | $$f_x^2 + f_y^2 = 1$$ |
Geometric Norm
The following table lists the bulk norms of the main types in the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$.
Type | Definition | Bulk Norm |
---|---|---|
Magnitude | $$\mathbf z = x\mathbf 1 + y {\large\unicode{x1d7d9}}$$ | $$\left\Vert\mathbf z\right\Vert_\unicode{x25CF} = |x|$$ |
Point | $$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3$$ | $$\left\Vert\mathbf p\right\Vert_\unicode{x25CF} = \sqrt{p_x^2 + p_y^2}$$ |
Line | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ | $$\left\Vert\mathbf g\right\Vert_\unicode{x25CF} = |g_z|$$ |
Motor | $$\mathbf Q = q_x \mathbf e_{1} + q_y \mathbf e_{2} + q_z \mathbf e_{3} + q_w {\large\unicode{x1d7d9}}$$ | $$\left\Vert\mathbf Q\right\Vert_\unicode{x25CF} = \sqrt{q_x^2 + q_y^2}$$ |
Flector | $$\mathbf F = f_x \mathbf e_{23} + f_y \mathbf e_{31} + f_z \mathbf e_{12} + f_w \mathbf 1$$ | $$\left\Vert\mathbf F\right\Vert_\unicode{x25CF} = \sqrt{f_z^2 + f_w^2}$$ |
The following table lists the weight norms of the main types in the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$.
Type | Definition | Weight Norm |
---|---|---|
Magnitude | $$\mathbf z = x\mathbf 1 + y {\large\unicode{x1d7d9}}$$ | $$\left\Vert\mathbf z\right\Vert_\unicode{x25CB} = |y|{\large\unicode{x1D7D9}}$$ |
Point | $$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3$$ | $$\left\Vert\mathbf p\right\Vert_\unicode{x25CB} = |p_z|{\large\unicode{x1D7D9}}$$ |
Line | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ | $$\left\Vert\mathbf g\right\Vert_\unicode{x25CB} = {\large\unicode{x1D7D9}}\sqrt{g_x^2 + g_y^2}$$ |
Motor | $$\mathbf Q = q_x \mathbf e_{1} + q_y \mathbf e_{2} + q_z \mathbf e_{3} + q_w {\large\unicode{x1d7d9}}$$ | $$\left\Vert\mathbf Q\right\Vert_\unicode{x25CB} = {\large\unicode{x1D7D9}}\sqrt{q_z^2 + q_w^2}$$ |
Flector | $$\mathbf F = f_x \mathbf e_{23} + f_y \mathbf e_{31} + f_z \mathbf e_{12} + f_w \mathbf 1$$ | $$\left\Vert\mathbf F\right\Vert_\unicode{x25CB} = {\large\unicode{x1D7D9}}\sqrt{f_x^2 + f_y^2}$$ |
The following table lists the unitized geometric norms of the main types in the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$ after dropping the constant $${\large\unicode{x1D7D9}}$$ term.
Type | Definition | Geometric Norm | Interpretation |
---|---|---|---|
Magnitude | $$\mathbf z = x\mathbf 1 + y {\large\unicode{x1d7d9}}$$ | $$\widehat{\left\Vert\mathbf z\right\Vert} = \dfrac{|x|}{|y|}$$ | A Euclidean distance. |
Point | $$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3$$ | $$\widehat{\left\Vert\mathbf p\right\Vert} = \dfrac{\sqrt{p_x^2 + p_y^2}}{|p_z|}$$ | Distance from the origin to the point $$\mathbf p$$.
Half the distance that the origin is moved by the motor $$\mathbf p$$. |
Line | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$ | $$\widehat{\left\Vert\mathbf g\right\Vert} = \dfrac{|g_z|}{\sqrt{g_x^2 + g_y^2}}$$ | Perpendicular distance from the origin to the line $$\mathbf g$$.
Half the distance that the origin is moved by the flector $$\mathbf g$$. |
Motor | $$\mathbf Q = q_x \mathbf e_{1} + q_y \mathbf e_{2} + q_z \mathbf e_{3} + q_w {\large\unicode{x1d7d9}}$$ | $$\widehat{\left\Vert\mathbf Q\right\Vert} = \sqrt{\dfrac{q_x^2 + q_y^2}{q_z^2 + q_w^2}}$$ | Half the distance that the origin is moved by the motor $$\mathbf Q$$. |
Flector | $$\mathbf F = f_x \mathbf e_{23} + f_y \mathbf e_{31} + f_z \mathbf e_{12} + f_w \mathbf 1$$ | $$\widehat{\left\Vert\mathbf F\right\Vert} = \sqrt{\dfrac{f_z^2 + f_w^2}{f_x^2 + f_y^2}}$$ | Half the distance that the origin is moved by the flector $$\mathbf F$$. |
Join and Meet
The join is a binary operation that calculates the higher-dimensional geometry containing its two operands, similar to a union. The meet is another binary operation that calculates the lower-dimensional geometry shared by its two operands, similar to an intersection.
The points and lines appearing in the following tables are defined as follows:
- $$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3$$
- $$\mathbf q = q_x \mathbf e_1 + q_y \mathbf e_2 + q_z \mathbf e_3$$
- $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$
- $$\mathbf h = h_x \mathbf e_{23} + h_y \mathbf e_{31} + h_z \mathbf e_{12}$$
The join operation is performed by taking the wedge product between two geometric objects. The meet operation is performed by taking the antiwedge product between two geometric objects.
Formula | Description |
---|---|
$$\mathbf p \wedge \mathbf q = (p_yq_z - q_yp_z)\mathbf e_{23} + (q_xp_z - p_xq_z)\mathbf e_{31} + (p_xq_y - p_yq_x)\mathbf e_{12}$$ | Line containing points $$\mathbf p$$ and $$\mathbf q$$.
Zero if $$\mathbf p$$ and $$\mathbf q$$ are coincident. |
$$\mathbf g \vee \mathbf h = (g_yh_z - h_yg_z)\mathbf e_1 + (g_zh_x - g_xh_z)\mathbf e_2 + (g_xh_y - g_yh_x)\mathbf e_3$$ | Point where lines $$\mathbf g$$ and $$\mathbf h$$ intersect.
Point at infinity if $$\mathbf g$$ and $$\mathbf h$$ are parallel. |
$$\mathbf g^\unicode["segoe ui symbol"]{x2605} \wedge \mathbf p = -g_yp_z\mathbf e_{23} + g_xp_z\mathbf e_{31} + (g_yp_x - g_xp_y)\mathbf e_{12}$$ | Line perpendicular to line $$\mathbf g$$ passing through point $$\mathbf p$$. |
Projections
The only nontrivial projections in 2D space are the projection of a point onto a line and its corresponding antiprojection. These are given by the following formulas.
Formula | Description |
---|---|
$$\left(\mathbf g^\unicode["segoe ui symbol"]{x2605} \wedge \mathbf p\right) \vee \mathbf g = (g_x^2 + g_y^2)\mathbf p - (g_xp_x + g_yp_y + g_zp_z)(g_x \mathbf e_1 + g_y \mathbf e_2)$$ | Projection of point $$\mathbf p$$ onto line $$\mathbf g$$. |
$$\left(\mathbf p^\unicode["segoe ui symbol"]{x2605} \vee \mathbf g\right) \wedge \mathbf p = g_xp_z^2 \mathbf e_{23} + g_yp_z^2 \mathbf e_{31} - (g_xp_x + g_yp_y)p_z \mathbf e_{12}$$ | Antiprojection of line $$\mathbf g$$ onto point $$\mathbf p$$. |
Projecting the origin onto a line gives us the following formula for the point on a line $$\mathbf g$$ closest to the origin.
- $$\left(\mathbf g^\unicode["segoe ui symbol"]{x2605} \wedge \mathbf e_3\right) \vee \mathbf g = -g_xg_z \mathbf e_1 - g_yg_z \mathbf e_2 + (g_x^2 + g_y^2)\mathbf e_3$$
Symmetrically, antiprojecting the line at infinity onto a point gives us the following formula for the line farthest from the origin containing a point $$\mathbf p$$.
- $$\left(\mathbf p^\unicode["segoe ui symbol"]{x2606} \vee \mathbf e_{12}\right) \wedge \mathbf p = -p_xp_z \mathbf e_{23} - p_yp_z \mathbf e_{31} + (p_x^2 + p_y^2)\mathbf e_{12}$$
Motors
The set of all motors corresponds to the set of all proper Euclidean isometries in two-dimensional space. In the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$, a motor $$\mathbf Q$$ has the general form
- $$\mathbf Q = q_x \mathbf e_{1} + q_y \mathbf e_{2} + q_z \mathbf e_{3} + q_w {\large\unicode{x1d7d9}}$$ .
A motor represents a rotation about the center $$q_x \mathbf e_{1} + q_y \mathbf e_{2} + q_z \mathbf e_{3}$$.
A motor $$\mathbf Q$$ can be expressed as the exponential of a unitized point $$\mathbf p$$ multiplied by $$\phi{\large\unicode{x1D7D9}}$$, where $$\phi$$ is half the angle of rotation about the point $$\mathbf p$$. The exponential form can be written as
- $$\mathbf Q = \exp_\unicode{x27C7}(\phi{\large\unicode{x1D7D9}} \mathbin{\unicode{x27C7}} \mathbf p) = {\large\unicode{x1D7D9}}\cos\phi + \mathbf p\sin\phi$$ .
Flectors
The set of all flectors corresponds to the set of all improper Euclidean isometries in two-dimensional space. In the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$, a flector $$\mathbf F$$ has the general form
- $$\mathbf F = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12} + g_w \mathbf 1$$ .
A flector represents a transflection with respect to the line $$g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$. When the line is unitized, $$g_w$$ is half the translation distance parallel to the line.