Géométrie

Formules générales

Dot product / produit scalaire \[ \vec{a} \cdot \vec{b} ~~=~~ a_1 b_1 + a_2 b_2 \gray{+ ... +} a_n b_n \]
Norme / magnitude / longueur \[|| \vec{a} || ~~=~~ \sqrt{ \vec{a} \cdot \vec{a} } \]
Vecteur normalisé \[ \hat{a} ~~=~~ \frac{\vec{a}}{|| \vec{a} ||} \]
Angle entre deux vecteurs \[ \orange{\theta} ~~=~~ acos \left( \frac{ \vec{a} \cdot \vec{b} }{ ||\vec{a}|| ~ ||\vec{b}|| } \right) ~~;~~ \orange{\theta} \in [0, \pi] \] \[ \gray{ \delta ~~=~~ \theta \cdot \frac{a_x b_y - a_y b_x}{|a_x b_y - a_y b_x|} ~~;~~ \delta \in [-\pi, \pi] ~~;~~ \theta, \delta \in \mathbb{R}^2 } \]
Cross product / produit vectoriel \[ \blue{\vec{c}} = \red{\vec{a}} \times \green{\vec{b}} = \quad \begin{pmatrix} \red{a_y} \green{b_z} - \red{a_z} \green{b_y} \\ \red{a_z} \green{b_x} - \red{a_x} \green{b_z} \\ \red{a_x} \green{b_y} - \red{a_y} \green{b_x} \end{pmatrix} \quad \begin{matrix} \red{\vec{a}} \perp \blue{\vec{c}} \\ \green{\vec{b}} \perp \blue{\vec{c}} \end{matrix} \]
Aire décrite par deux vecteurs \[ \orange{S} ~~=~~ || \vec{a} \times \vec{b} || \]
Produit Mixte
(presque mais pas un déterminant)
\[ [ \vec{u}, \vec{v}, \vec{w} ] = [ \vec{v}, \vec{w}, \vec{u} ] = [ \vec{w}, \vec{u}, \vec{v} ] \quad = \quad \\[1em] \blue{ - [ \vec{w}, \vec{v}, \vec{u} ] = - [ \vec{v}, \vec{u}, \vec{w} ] = - [ \vec{u}, \vec{w}, \vec{v} ] } \\[2em] \vec{u} \cdot \vec{v} \times \vec{w} \quad = \quad \begin{pmatrix} a \\ b \\ c \end{pmatrix} \cdot \begin{pmatrix} d \\ e \\ f \end{pmatrix} \times \begin{pmatrix} g \\ h \\ i \end{pmatrix} \quad = \quad \\[2em] a(ei-fh) ~+~ b(fg-di) ~+~ c(dh-ee) \] Volume du parallélépipède* définit par \( a \), \( b \) et \( c \) dans \( \mathbb{R}^3 \) *comme un bipède mais parallélépi
Vecteur perpendiculaire au plan \[ \begin{aligned} & \pi : \quad \orange{a}x + \orange{b}y + \orange{c}z + d = 0 \\[1em] & \orange{\vec{t}} = \begin{pmatrix} \orange{a} \\ \orange{b} \\ \orange{c} \end{pmatrix} \end{aligned} \]
Equation de droite avec décalages \[d : \quad y = \text{pente} (x - \Delta x) + \Delta y \]
Equation de droite passant par deux points \[d : \quad y = \frac{B_y - A_y}{B_x - A_x} (x - A_x) + A_y \]
Perpendicularité 2D \[ \begin{pmatrix} x \\ y \end{pmatrix} \perp \blue{ \begin{pmatrix} -y \\ x \end{pmatrix} } \quad ; \quad \begin{pmatrix} x \\ y \end{pmatrix} \perp \orange{ \begin{pmatrix} y \\ -x \end{pmatrix} } \]
Régression \[ \tilde{x} = (A^T A)^{-1} A^T \vec{b} \\[1em] \gray{\arg\min_{\vec{x}} \| A \vec{x} - \vec{b} \|^2} \\[1em] \gray{ A = \begin{bmatrix} x_1 ~~ 1 \\ x_2 ~~ 1 \\ x_3 ~~ 1 \end{bmatrix} \quad \vec{b} = \begin{bmatrix} y_1 \\ y_2 \\ y_3 \end{bmatrix} \\[1em] A = \begin{bmatrix} {x_1}^2 ~~ x_1 ~~ 1 \\ {x_2}^2 ~~ x_2 ~~ 1 \\ {x_3}^2 ~~ x_3 ~~ 1 \end{bmatrix} \quad \vec{b} = \begin{bmatrix} y_1 \\ y_2 \\ y_3 \end{bmatrix} \\[1em] A = \begin{bmatrix} x_i^{n-j} && ... \\ ... && ... \end{bmatrix} \quad \vec{b} = \begin{bmatrix} y_i \\ ... \end{bmatrix} } \]

Intersections / Projections

Deux plans 3D \[ \orange{d} = \pi_1 \cap \pi_2 \\[1em] P + \lambda ( \vec{n_a} \times \vec{n_b}) \quad\quad \begin{matrix} P \in \pi_1 \\ P \in \pi_2 \end{matrix} \]
deux droites 2D \[ \orange{I} = d_1 \cap d_2 \]
\[ d_1 : y = ax + b \\ d_2 : y = cx + d \] \[ \orange{I} = \Big( ~~ \frac{d-b}{a-c} ~~,~~ \frac{ad-cb}{a-c} ~~ \Big) \]
\[ d_1 = \overrightarrow{AB} \\ d_2 = \overrightarrow{CD} \]
Direct \[ \begin{aligned} & \orange{I_x} = \frac{ (A_x B_y - A_y B_x)(C_x - D_x) - (A_x - B_x)(C_x D_y - C_y D_x) }{ (A_x - B_x)(C_y - D_y) - (A_y - B_y)(C_x - D_x) } \\[1em] & \orange{I_y} = \frac{ (A_x B_y - A_y B_x)(C_y - D_y) - (A_y - B_y)(C_x D_y - C_y D_x) }{ (A_x - B_x)(C_y - D_y) - (A_y - B_y)(C_x - D_x) } \end{aligned} \]
Factorisé \[ \begin{aligned} & \vec{u} = A - B \quad;\quad \vec{v} = C - D \\[1em] & \alpha = \begin{vmatrix} A_x & B_x \\ A_y & B_y \end{vmatrix} \quad;\quad \beta = \begin{vmatrix} C_x & D_x \\ C_y & D_y \end{vmatrix} \quad;\quad g = \begin{vmatrix} \vec{u}_x & \vec{v}_x \\ \vec{u}_y & \vec{v}_y \end{vmatrix} \\[2em] & \orange{I_x} = \frac{ \begin{vmatrix} \alpha & \vec{u}_x \\ \beta & \vec{v}_x \end{vmatrix} }{g} \quad;\quad \orange{I_y} = \frac{ \begin{vmatrix} \alpha & \vec{u}_y \\ \beta & \vec{v}_y \end{vmatrix} }{g} \end{aligned} \]
\( \text{proj}( \orange{\vec{v}}, \blue{\vec{n}} ) \) \[ \green{\vec{p}_n} = \frac{ \orange{\vec{v}} \cdot \blue{\vec{n}} }{ \blue{\vec{n}} \cdot \blue{\vec{n}}} ~ \blue{\vec{n}} \\[3em] \green{\vec{p}_n} = \left\| \orange{\vec{v}} \right\| \cos \theta ~ \blue{ \hat{n} } \]
\[ \text{proj} ( \orange{\vec{v}} , \blue{\pi} ) \] \[ \green{\vec{p}_\pi} = \orange{\vec{v}} - \frac{ \orange{\vec{v}} \cdot \blue{\vec{n}} }{ \blue{\vec{n}} \cdot \blue{\vec{n}}} ~ \blue{\vec{n}} \]
Symétrique \[ \orange{P'} = \orange{P} - 2 \frac{ \orange{P} \cdot \blue{\vec{n}} + \blue{d}}{ \blue{\vec{n}} \cdot \blue{\vec{n}}} ~ \blue{\vec{n}} \] \[ P - 2 \frac{P \cdot \vec{n} + d}{\vec{n} \cdot \vec{n}} ~ \vec{n} = \\[2em] P ~~-~~ 2 \frac{P \cdot \vec{n}}{\vec{n} \cdot \vec{n}} ~ \vec{n} + ~~-~~~ 2 \frac{d}{\vec{n} \cdot \vec{n}} ~ \vec{n} \]
alignement de \( \orange{\vec{v}}\) sur \( \blue{\vec{n}} \) \[ \green{\vec{v}_n} = \frac{||\orange{\vec{v}}||}{||\blue{\vec{n}}||} \blue{\vec{n}} \quad;\quad \green{\vec{v}_n} = \sqrt{ \frac{ \orange{\vec{v}} \cdot \orange{\vec{v}} }{ \blue{\vec{n}} \cdot \blue{\vec{n}} } } \blue{\vec{n}} \]
alignement de \( \orange{\vec{v}}\)sur \( \blue{\pi} \) décrit par \( \blue{\vec{n}} \) \[ \green{\vec{v}_\pi} = \frac{||\orange{\vec{v}}||}{||\green{\vec{p}_\pi}||} \green{\vec{p}_\pi} \quad;\quad \vec{v}_\pi = \sqrt{ \frac{ \orange{\vec{v}} \cdot \orange{\vec{v}} }{ \green{\vec{p}_\pi} \cdot \green{\vec{p}_\pi}} } \green{\vec{p}_\pi} \]
distance d'un point à une droite \[ \green{l} = \frac{ ||\overrightarrow{\blue{D}\orange{P}} \times \blue{\vec{d}} ||} {||\blue{\vec{d}}||} \quad\gray{D \in d} \] distance d'un point à un plan \[ \green{l} = \frac{ | \overrightarrow{ \blue{A}\orange{P}} \cdot \blue{\vec{n}} | }{ || \blue{\vec{n}} || } \quad\gray{A \in \pi} \\[2em] \green{l} = \frac{ | \blue{\vec{n}} \cdot \orange{P} + \blue{d} | }{ || \blue{\vec{n}} || } \\[2em] \green{l} = \frac{ |\blue{a}\orange{P_x} + \blue{b}\orange{P_y} + \blue{c}\orange{P_z} + \blue{d}| }{ \sqrt{ \blue{a}^2 + \blue{b}^2 + \blue{c}^2 }} \]

Corner Pin

Sans homographie
UV to Pins \[ P' = (1-P_x) (1-P_y) \green{A} ~~+~~ (1-P_x) P_y \green{B} ~~+~~ P_x P_y \green{C} ~~+~~ P_x (1-P_y) \green{D} \]
Pins to UV \[ M = \overrightarrow{AB} \cap \overrightarrow{CD} \quad;\quad N = \overrightarrow{AD} \cap \overrightarrow{BC} \\[1em] E = \overrightarrow{AD} \cap \overrightarrow{MP} \quad;\quad F = \overrightarrow{AB} \cap \overrightarrow{NP} \\[1em] P'_x = \frac{ \overrightarrow{AF} \cdot \overrightarrow{AB} }{ \overrightarrow{AB} \cdot \overrightarrow{AB} } \quad;\quad P'_y = \frac{ \overrightarrow{AF} \cdot \overrightarrow{AD} }{ \overrightarrow{AD} \cdot \overrightarrow{AD} } \]

Triangle

\[ \frac{\sin \alpha}{a} = \frac{\sin \beta}{b} = \frac{\sin \gamma}{c} \]
\[ \sin(\alpha) \cdot b c = \sin(\beta) \cdot a c = \sin(\gamma) \cdot a b \]
\[ \alpha = \arcsin \left( a \frac{\sin(\beta)}{b} \right) = \arcsin \left( a \frac{\sin(\gamma)}{c} \right) = \]
\[ a^2 = b^2 + c^2 - 2 b c \cos \alpha \]
\[ \alpha = \arccos \frac{b^2 + c^2 - a^2}{2 b c} \]

Quaternion Rotation

\[ \text{vector } ~~ \pink{\vec{r}} ~~ \text{ is } ~~ \text{ vector} ~~ \blue{\vec{v}} ~~ \text{ rotated around } ~~ \green{\hat{u}} ~~ \text{ of } ~~ \orange{\theta} ~~ \text{ radians} \\[2em] \begin{aligned} & q \quad=\quad (w,x,y,z) \quad=\quad ( ~~ \cos \frac{\orange{\theta}}{2} ~~, \green{\hat{u}_x} \sin \frac{\orange{\theta}}{2} ~~, \green{\hat{u}_y} \sin \frac{\orange{\theta}}{2} ~~, \green{\hat{u}_z} \sin \frac{\orange{\theta}}{2} ~~) \\[1em] & v_q \quad=\quad ( 0 , \blue{v_x} , \blue{v_y} , \blue{v_z} ) \\[1em] & q^* \quad=\quad (w,-x,-y,-z) \end{aligned} \\[2em] \pink{\vec{r}} = q \, v_q \, q^* \\[2em] \text{quaternion multiplication:} \\[1em] \begin{pmatrix} a \\ b \\ c \\ d \end{pmatrix} \cdot \begin{pmatrix} e \\ f \\ g \\ h \end{pmatrix} = \begin{pmatrix} ae - bf - cg - dh \\ af + be + ch - dg \\ ag - bh + ce + df \\ ah + bg - cf + de \end{pmatrix} \\[2em] \gray{ ||q|| = 1 \quad;\quad ||\hat{u}|| = 1 } \]

Local / Global

\[ \text{Point } \blue{P} \quad,\quad \text{Points } \green{A}, \green{B}, \green{C} \\[2em] \green{\vec{u}} = \green{\overrightarrow{AB}} \quad;\quad \green{\vec{v}} = \green{\overrightarrow{AC}} \quad;\quad \green{\vec{w}} = \green{ \vec{u} \times \vec{v} } \quad;\quad \blue{\vec{p}} = \overrightarrow{\green{A} \blue{P}} \\[2em] \orange{o} = [ \green{\vec{u}}, \green{\vec{v}}, \green{\vec{w}} ] \quad;\quad \orange{u} = \frac{ [ \blue{\vec{p}}, \green{\vec{v}}, \green{\vec{w}} ] }{ \orange{o} } \quad;\quad \orange{v} = \frac{ [ \blue{\vec{p}}, \green{\vec{w}}, \green{\vec{u}} ] }{ \orange{o} } \quad;\quad \orange{w} = \frac{ [ \blue{\vec{p}}, \green{\vec{u}}, \green{\vec{v}} ] }{ \orange{o} } \\[2em] \begin{aligned} & \text{Coordinates} \\[1em] & \text{Global:} \quad && \blue{P} = \green{A} + \orange{u} \green{\vec{u}} + \orange{v} \green{\vec{v}} + \orange{w} \green{\vec{w}} \\[1em] & && \blue{P} = \green{A} + \begin{bmatrix} \green{\vec{u}} & \green{\vec{v}} & \green{\vec{w}} \end{bmatrix} \begin{bmatrix} \orange{u} \\ \orange{v} \\ \orange{w} \end{bmatrix} \\[1em] & \text{Local:} \quad && \blue{P'} = \begin{pmatrix} \orange{u} \\ \orange{v} \\ \orange{w} \end{pmatrix} \end{aligned} \\[1em] \]

Möller-Trumbore

\[ \text{Ray origin } \blue{R}, \text{ direction } \blue{\vec{r}} \\[1em] \text{triangle vertices } \green{V_0}, \green{V_1}, \green{V_2} \\[2em] \green{\vec{u}} = \green{\overrightarrow{V_0 V_1}} \quad;\quad \green{\vec{v}} = \green{\overrightarrow{V_0 V_2}} \quad;\quad \green{\vec{w}} =\overrightarrow{ \green{V_0} \blue{R}} \\[2em] \text{Do intersect} \\[1em] \orange{w} = [ \blue{\vec{r}}, \green{\vec{v}}, \green{\vec{u}} ] \quad;\quad \orange{u} = \frac{ \blue{\vec{r}} \cdot \green{\vec{v}} \times \green{\vec{w}} }{ \orange{w} } \quad;\quad \orange{v} = \frac{ \blue{\vec{r}} \cdot \green{\vec{w}} \times \green{\vec{u}} }{ \orange{w} } \\[2em] \orange{\text{intersection}} ~~\Longleftrightarrow~~ \begin{cases} ~~ | \orange{w} | \neq 0 \\ ~~ 0 \le \orange{u} \le 1 \\ ~~ 0 \le \orange{v} \le 1 \\ ~~ \orange{u} + \orange{v} \le 1 \end{cases} \\[2em] \text{World intersection point} \\[1em] \blue{I} = \blue{R} + \frac{ \green{\vec{v}} \cdot \green{\vec{w}} \times \green{\vec{u}} }{ \green{\vec{u}} \cdot \blue{\vec{r}} \times \green{\vec{v}} } ~ \blue{\vec{r}} \\[2em] \text{UV intersection point} \\[1em] \blue{I} = \green{V_0} + \orange{u} \green{\overrightarrow{V_0 V_1}} + \orange{v} \green{\overrightarrow{V_0 V_2}} \]
Représentation graphique des conditions \( \orange{w} ~ \orange{u} ~ \orange{v} \) dans l'espace \( U \times V \) formé par les vecteurs.

Conversions spatiales

\[ \begin{aligned} & \text{Radial distance : } && r && \in [0,\infty] \\ & \text{Longitude / Polar angle : } && \theta && \in [-\pi, \pi] \\ & \text{Latitude / Azimuthal angle : } && \phi && \in [0, \pi] \\ & \\ & \text{x : } && x && \in [-\infty, \infty] \\ & \text{y : } && y && \in [-\infty, \infty] \\ & \text{z : } && z && \in [-\infty, \infty] \\ \end{aligned} \]
Polar to Cartesian Cartesian to Polar
2D \[ \begin{aligned} & x = r ~ \cos \theta \\[1em] & y = r ~ \sin \theta \end{aligned} \] \[ \begin{aligned} & \theta = \text{atan2}(y, x) \\[1em] & r = \sqrt{x^2 + y^2} \end{aligned} \]
3D \[ \begin{aligned} & x = r ~ \sin \theta \cos \phi \\[1em] & y = r ~ \sin \theta \sin \phi \\[1em] & z = r ~ \cos \phi \end{aligned} \] \[ \begin{aligned} & \theta = \text{atan2}(y, x) \\[1em] & \phi = \arccos(\hat{v} \cdot \hat{z}) \\[1em] & r = \sqrt{x^2 + y^2 + z^2} \end{aligned} \]
UV image transformation matrix
Polar to Cartesian Cartesian to Polar
\[ \begin{aligned} & x' = - \tau (x - 0.25) \cos \left( \frac{\theta}{2} \right) + 0.5\\[1em] & y' = - \tau (x - 0.25) \sin \left( \frac{\theta}{2} \right) + 0.5 \end{aligned} \] \[ \begin{aligned} & x' = \frac{ \mod( \text{\text{atan2}}( - x + 0.5 ~,~ y - 0.5) + \frac{\pi}{2} ~,~ \tau) - \pi}{\tau} + 0.5 \\[1em] & y' = \frac{\sqrt{(-x + 0.5)^2 + (y - 0.5)^2}}{2} \end{aligned} \]
Equirectangular to 3D space
\[ \begin{aligned} & x' = \frac{\text{\text{atan2}}(y, x)}{\tau} \\[2em] & y' = - \frac{\arccos ( \hat{v} \cdot \hat{z} )}{\pi} \\[2em] & \gray{ \vec{v} = (x, y, z) \quad;\quad \hat{z} = (0, 0, 1) } \end{aligned} \] \[ \begin{aligned} & x' = \frac{\text{\text{atan2}}(y, x)}{\tau} + \tfrac{1}{2} \\[2em] & y' = - \frac{\arccos ( \hat{v} \cdot \hat{z} )}{\pi} \\[2em] & \vec{v} = (x, y, z) \quad;\quad \hat{z} = (0, 0, 1) \end{aligned} \]


arctangent 2

\[ \begin{aligned} \text{atan2}(y,x) ~~=~~ & \left\{ \quad \begin{aligned} & x = 0 && y = 0 && \text{undefined} \\[1em] & x = 0 && y \neq 0 && \text{sign}(y) \cdot (\pi / 2) \\[1em] & x \neq 0 && y \gt 0 && \arctan (y/x) \\[1em] & x \neq 0 && y \lt 0 && \arctan (y/x) + \text{sign}(x) \cdot \pi \\[1em] \end{aligned} \right. \end{aligned} \]
x
\( - \) \( 0 \) \( + \)
y \( + \) \( \green{\arctan (y/x)} \) \( \pi / 2 \) \( \green{\arctan (y/x)} \)
\( 0 \) \( \green{\arctan (y/x)} \) \( \times \) \( \green{\arctan (y/x)} \)
\( - \) \( \arctan (y/x) - \pi \) \( - \pi / 2\) \( \arctan (y/x) + \pi \)

Equations

Cartésien Vectoriel
droite \[ d: \] \[ y = ax + b \quad\red{\not\Leftrightarrow}\quad ax + by + c = 0 \] \[ P + \lambda \vec{v} \]
plan \[ \pi : \] \[ z = - \frac{ax + by + d}{c} \quad\green{\Leftrightarrow}\quad ax + by + cz + d = 0 \] \[ P + \lambda \vec{u} + \delta{v} \]

Wedge Product - produit extérieur

Wedge Product / Produit Extérieur
\[ \mathbb{R}^n\] \[ \vec{u} \wedge \vec{v} = \sum_{1 \leq i \leq j \leq n} (u_iv_j - u_jv_i) e_i \wedge e_j \\[1em] \gray{ = \sum_{i=1}^n \sum_{j=1}^n (u_iv_j - u_jv_i) e_i \wedge e_j } \]
Exemples lien termes
\[ \orange{\mathbb{R}} \] \[ (3) \wedge (2) = 3 \cdot 2 - 2 \cdot 3 = 0 \\ \] Toujours \( 0 \) \[ C_2^1 = 1 \]
\[ \orange{\mathbb{R}^2} \] \[ \binom{2}{3} \wedge \binom{ \orange{4} }{ \blue{1} } = \gray{ (2 \cdot 1 - 3 \cdot 4) e_1 \wedge e_2 = } -10 e_1 \wedge e_2 \] \[ \binom{2}{3} \cdot \binom{ \blue{1} }{ \orange{4} } = -10 \] \[ C_2^2 = 1 \]
\[ \orange{\mathbb{R}^3} \] \[ \begin{pmatrix} 1 \\ 0 \\ 2 \end{pmatrix} \wedge \begin{pmatrix} 3 \\ 2 \\ 4 \end{pmatrix} = \\[1em] \gray{ (1 \cdot 2 - 0 \cdot 3) e_1 \wedge e_2 + (0 \cdot 4 - 2 \cdot 2) e_2 \wedge e_3 + (1 \cdot 4 - 2 \cdot 3) e_1 \wedge e_3 = } \\[1em] \orange{2} (e_1 \wedge e_2) \green{-2} (e_1 \wedge e_3) \blue{-4} (e_2 \wedge e_3) \] \[ \begin{pmatrix} 1 \\ 0 \\ 2 \end{pmatrix} \times \begin{pmatrix} 3 \\ 2 \\ 4 \end{pmatrix} = \begin{pmatrix} \blue{-4} \\ \red{+}\green{2} \\ \orange{2} \end{pmatrix} \] \[ C_2^3 = 3 \]
\[ \orange{\mathbb{R}^4} \] \[ \begin{pmatrix} 1 \\ 0 \\ 1 \\ 0 \end{pmatrix} \wedge \begin{pmatrix} 2 \\ -1 \\ 3 \\ 4 \end{pmatrix} = \\[1em] \begin{matrix} \gray{0} && +3 (e_1 \wedge e_2) && -1 (e_1 \wedge e_3) && +4 (e_1 \wedge e_4) \\[1em] \gray{\times} &&\gray{0} && -3 (e_2 \wedge e_3) && +0 (e_2 \wedge e_4) \\[1em] \gray{\times} && \gray{\times} && \gray{0} && +4 (e_3 \wedge e_4) \\[1em] \gray{\times} && \gray{\times} && \gray{\times} && \gray{0} && \end{matrix} \] \[ C_2^4 = 6 \]