Rigid Geometric Algebra for 2D Space: Difference between revisions

From Rigid Geometric Algebra
Jump to navigation Jump to search
(Created page with "== Introduction == thumb|right|400px|'''Table 1.''' The 8 basis elements of the 3D rigid geometric algebra. 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_...")
 
 
(8 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'' $$\boldsymbol l$$ is a bivector having the general form
In the 3D rigid geometric algebra $$\mathcal G_{2,0,1}$$, a ''line'' $$\mathbf g$$ is a bivector having the general form


:$$\boldsymbol l = l_x \mathbf e_{23} + l_y \mathbf e_{31} + l_z \mathbf e_{12}$$ .
:$$\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 $$l_x^2 + l_y^2 = 1$$.
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 $$l_z = \pm 1$$. This is the ''horizon'' of two-dimensional space.
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;" | $$\boldsymbol l = l_x \mathbf e_{23} + l_y \mathbf e_{31} + l_z \mathbf e_{12}$$
| style="padding: 12px;" | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$
| style="padding: 12px;" | $$\boldsymbol l_\unicode{x25CF} = l_z \mathbf e_{12}$$
| style="padding: 12px;" | $$\mathbf g_\unicode{x25CF} = g_z \mathbf e_{12}$$
| style="padding: 12px;" | $$\boldsymbol l_\unicode{x25CB} = l_x \mathbf e_{23} + l_y \mathbf e_{31}$$
| 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;" | $$\boldsymbol l = l_x \mathbf e_{23} + l_y \mathbf e_{31} + l_z \mathbf e_{12}$$
| style="padding: 12px;" | $$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$
| style="padding: 12px;" | $$l_x^2 + l_y^2 = 1$$
| 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;" | $$\boldsymbol l = l_x \mathbf e_{23} + l_y \mathbf e_{31} + l_z \mathbf e_{12}$$
| 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\boldsymbol l\right\Vert_\unicode{x25CF} = |l_z|$$
| 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;" | $$\boldsymbol l = l_x \mathbf e_{23} + l_y \mathbf e_{31} + l_z \mathbf e_{12}$$
| 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\boldsymbol l\right\Vert_\unicode{x25CB} = {\large\unicode{x1D7D9}}\sqrt{l_x^2 + l_y^2}$$
| 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;" | $$\boldsymbol l = l_x \mathbf e_{23} + l_y \mathbf e_{31} + l_z \mathbf e_{12}$$
| 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\boldsymbol l\right\Vert} = \dfrac{|l_z|}{\sqrt{l_x^2 + l_y^2}}$$
| 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 $$\boldsymbol l$$.
| style="padding: 12px;" | Perpendicular distance from the origin to the line $$\mathbf g$$.


Half the distance that the origin is moved by the [[flector]] $$\boldsymbol l$$.
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$$
:$$\boldsymbol l = l_x \mathbf e_{23} + l_y \mathbf e_{31} + l_z \mathbf e_{12}$$
:$$\mathbf g = g_x \mathbf e_{23} + g_y \mathbf e_{31} + g_z \mathbf e_{12}$$
:$$\mathbf k = k_x \mathbf e_{23} + k_y \mathbf e_{31} + k_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.
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.


{| class="wikitable"
{| class="wikitable"
! Formula || Commutator || Description
! Formula || Description
|-
|-
| style="padding: 12px;" | $$\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}$$
| style="padding: 12px;" | $$\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}$$
| style="padding: 12px;" | $$[\mathbf p, \mathbf q]^{\Large\unicode{x27D1}}_-$$
| style="padding: 12px;" | Line containing points $$\mathbf p$$ and $$\mathbf q$$.
| style="padding: 12px;" | Line containing points $$\mathbf p$$ and $$\mathbf q$$.


Zero if $$\mathbf p$$ and $$\mathbf q$$ are coincident.
Zero if $$\mathbf p$$ and $$\mathbf q$$ are coincident.
|-
|-
| style="padding: 12px;" | $$\boldsymbol l \vee \mathbf k = (l_yk_z - k_yl_z)\mathbf e_1 + (l_zk_x - l_xk_z)\mathbf e_2 + (l_xk_y - l_yk_x)\mathbf e_3$$
| 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;" | $$[\mathbf k, \boldsymbol l]^{\Large\unicode{x27C7}}_-$$
| style="padding: 12px;" | Point where lines $$\mathbf g$$ and $$\mathbf h$$ intersect.
| style="padding: 12px;" | Point where lines $$\boldsymbol l$$ and $$\mathbf k$$ intersect.


Point at infinity if $$\boldsymbol l$$ and $$\mathbf k$$ are parallel.
Point at infinity if $$\mathbf g$$ and $$\mathbf h$$ are parallel.
|-
|-
| style="padding: 12px;" | $$\underline{\boldsymbol l_\smash{\unicode{x25CB}}} \wedge \mathbf p = l_yp_z\mathbf e_{23} - l_xp_z\mathbf e_{31} + (l_xp_y - l_yp_x)\mathbf e_{12}$$
| 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;" | $$-[\mathbf p, \boldsymbol l]^{\Large\unicode{x27C7}}_+$$
| style="padding: 12px;" | Line perpendicular to line $$\mathbf g$$ passing through point $$\mathbf p$$.
| style="padding: 12px;" | Line perpendicular to line $$\boldsymbol l$$ passing through point $$\mathbf p$$.
|}
|}


Line 256: Line 255:
! Formula !! Description
! Formula !! Description
|-
|-
| style="padding: 12px;" | $$\left(\underline{\boldsymbol l_\smash{\unicode{x25CB}}} \wedge \mathbf p\right) \vee \boldsymbol l = (l_x^2 + l_y^2)\mathbf p - (l_xp_x + l_yp_y + l_zp_z)(l_x \mathbf e_1 + l_y \mathbf e_2)$$
| 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 $$\boldsymbol l$$.
| style="padding: 12px;" | Projection of point $$\mathbf p$$ onto line $$\mathbf g$$.
|-
|-
| style="padding: 12px;" | $$\left(\underline{\mathbf p_\smash{\unicode{x25CB}}} \vee \boldsymbol l\right) \wedge \mathbf p = l_xp_z^2 \mathbf e_{23} + l_yp_z^2 \mathbf e_{31} - (l_xp_x + l_yp_y)p_z \mathbf e_{12}$$
| 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 $$\boldsymbol l$$ onto point $$\mathbf p$$.
| 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 $$\boldsymbol l$$ closest to the origin.
Projecting the origin onto a line gives us the following formula for the point on a line $$\mathbf g$$ closest to the origin.


:$$\left(\underline{\boldsymbol l_\smash{\unicode{x25CB}}} \wedge \mathbf e_3\right) \vee \boldsymbol l = -l_xl_z \mathbf e_1 - l_yl_z \mathbf e_2 + (l_x^2 + l_y^2)\mathbf e_3$$
:$$\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(\underline{\mathbf p_\smash{\unicode{x25CF}}} \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}$$
:$$\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 287: 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 = f_x \mathbf e_{23} + f_y \mathbf e_{31} + f_z \mathbf e_{12} + f_w \mathbf 1$$ .
:$$\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 $$f_x \mathbf e_{23} + f_y \mathbf e_{31} + f_z \mathbf e_{12}$$. When the line is unitized, $$f_w$$ is half the translation distance parallel 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

Table 1. The 8 basis elements of the 3D rigid geometric algebra.

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.