$$
\newcommand{\RR}{\mathbb{R}}
\newcommand{\GG}{\mathbb{G}}
\newcommand{\PP}{\mathbb{P}}
\newcommand{\PS}{\mathcal{P}}
\newcommand{\SS}{\mathbb{S}}
\newcommand{\NN}{\mathbb{N}}
\newcommand{\ZZ}{\mathbb{Z}}
\newcommand{\CC}{\mathbb{C}}
\newcommand{\HH}{\mathbb{H}}
\newcommand{\ones}{\mathbb{1\hspace{-0.4em}1}}
\newcommand{\alg}[1]{\mathfrak{#1}}
\newcommand{\mat}[1]{ \begin{pmatrix} #1 \end{pmatrix} }
\renewcommand{\bar}{\overline}
\renewcommand{\hat}{\widehat}
\renewcommand{\tilde}{\widetilde}
\newcommand{\inv}[1]{ {#1}^{-1} }
\newcommand{\eqdef}{\overset{\text{def}}=}
\newcommand{\block}[1]{\left(#1\right)}
\newcommand{\set}[1]{\left\{#1\right\}}
\newcommand{\abs}[1]{\left|#1\right|}
\newcommand{\trace}[1]{\mathrm{tr}\block{#1}}
\newcommand{\norm}[1]{ \left\| #1 \right\| }
\newcommand{\argmin}[1]{ \underset{#1}{\mathrm{argmin}} }
\newcommand{\argmax}[1]{ \underset{#1}{\mathrm{argmax}} }
\newcommand{\st}{\ \mathrm{s.t.}\ }
\newcommand{\sign}[1]{\mathrm{sign}\block{#1}}
\newcommand{\half}{\frac{1}{2}}
\newcommand{\inner}[1]{\langle #1 \rangle}
\newcommand{\dd}{\mathrm{d}}
\newcommand{\ddd}[2]{\frac{\partial #1}{\partial #2} }
\newcommand{\db}{\dd^b}
\newcommand{\ds}{\dd^s}
\newcommand{\dL}{\dd_L}
\newcommand{\dR}{\dd_R}
\newcommand{\Ad}{\mathrm{Ad}}
\newcommand{\ad}{\mathrm{ad}}
\newcommand{\LL}{\mathcal{L}}
\newcommand{\Krylov}{\mathcal{K}}
\newcommand{\Span}[1]{\mathrm{Span}\block{#1}}
\newcommand{\diag}{\mathrm{diag}}
\newcommand{\tr}{\mathrm{tr}}
\newcommand{\sinc}{\mathrm{sinc}}
\newcommand{\cat}[1]{\mathcal{#1}}
\newcommand{\Ob}[1]{\mathrm{Ob}\block{\cat{#1}}}
\newcommand{\Hom}[1]{\mathrm{Hom}\block{\cat{#1}}}
\newcommand{\op}[1]{\cat{#1}^{op}}
\newcommand{\hom}[2]{\cat{#1}\block{#2}}
\newcommand{\id}{\mathrm{id}}
\newcommand{\Set}{\mathbb{Set}}
\newcommand{\Cat}{\mathbb{Cat}}
\newcommand{\Hask}{\mathbb{Hask}}
\newcommand{\lim}{\mathrm{lim}\ }
\newcommand{\funcat}[1]{\left[\cat{#1}\right]}
\newcommand{\natsq}[6]{
\begin{matrix}
& #2\block{#4} & \overset{#2\block{#6}}\longrightarrow & #2\block{#5} & \\
{#1}_{#4} \hspace{-1.5em} &\downarrow & & \downarrow & \hspace{-1.5em} {#1}_{#5}\\
& #3\block{#4} & \underset{#3\block{#6}}\longrightarrow & #3\block{#5} & \\
\end{matrix}
}
\newcommand{\comtri}[6]{
\begin{matrix}
#1 & \overset{#4}\longrightarrow & #2 & \\
#6 \hspace{-1em} & \searrow & \downarrow & \hspace{-1em} #5 \\
& & #3 &
\end{matrix}
}
\newcommand{\natism}[6]{
\begin{matrix}
& #2\block{#4} & \overset{#2\block{#6}}\longrightarrow & #2\block{#5} & \\
{#1}_{#4} \hspace{-1.5em} &\downarrow \uparrow & & \downarrow \uparrow & \hspace{-1.5em} {#1}_{#5}\\
& #3\block{#4} & \underset{#3\block{#6}}\longrightarrow & #3\block{#5} & \\
\end{matrix}
}
\newcommand{\cone}[1]{\mathcal{#1}}
$$
Rigid-Scales
Quick notes on Rigid-Scale kinematics.
- Affine Transformation
- Mapping
- Jacobian
- Hessian
- Geometric Stiffness
- Deformation Field
- Mapping
- Jacobian
- Hessian
- Geometric Stiffness
\[f: \RR^3 \times \RR^3 \times \RR^3 \to \mathrm{GA}(3)\]
Mapping
\[f(\omega, s, t) = \block{\exp(\omega)RS, t}\]
where \(S = \diag(s)\).
Jacobian
\[\dd f = \block{\dd \exp(\omega).\dd \omega\ RS + \exp(\omega)R\dd S, \dd t}\]
\[\omega = 0: \quad \dd f = \block{\dd \omega\ RS + R\dd S, \dd t}\]
Hessian
\[\dd^2 f = \block{\dd^2 \exp(\omega).\dd \omega_2.\dd \omega_1\ RS + \dd \exp(\omega).\dd \omega_1 R \dd S_2 + \dd \exp(\omega).\dd \omega_2 R\dd S_1, 0}\]
\[\newcommand{\ddexp}[2]{\frac{\hat{#1} \hat{#2} + \hat{#2} \hat{#1}}2}\]
\[\omega = 0: \quad \dd^2 f = \block{\ddexp{\dd \omega_1}{\dd \omega_2}RS + \dd \omega_1 R \dd S_2 + \dd \omega_2 R \dd S_1, 0}\]
Geometric Stiffness
\[\trace{\block{\lambda, \lambda_t}^T \dd^2 f}_{\omega=0} = \trace{\lambda^T \ddexp{\dd \omega_1}{\dd \omega_2}RS} + \trace{\lambda^T\dd \omega_1 R \dd S_2} + \trace{\lambda^T\dd \omega_2 R \dd S_1}\]
Since:
\[\ddexp{\dd \omega_1}{\dd \omega_2} = \frac{\dd \omega_1 \dd \omega_2^T + \dd \omega_2 \dd \omega_1^T}{2} - \dd \omega_1^T \dd \omega_2I\]
We get:
\[\begin{align}
\trace{\lambda^T \ddexp{\dd \omega_1}{\dd \omega_2}RS} &=
\trace{\underbrace{RS\lambda^T}_{K^T} \ddexp{\dd \omega_1}{\dd \omega_2}} \\
&= \trace{K^T \frac{\dd \omega_1 \dd \omega_2^T + \dd \omega_2 \dd \omega_1^T}{2}} - \trace{K^T\dd \omega_1^T \dd \omega_2I} \\
&= \dd \omega_2^T \frac{K + K^T}{2} \dd \omega_1 - \dd \omega_2^T \trace{K} \dd \omega_1 \\
\end{align}\]
Finally:
\[\begin{align}
\trace{\lambda^T\dd \omega_1 R \dd S_2} &= \trace{\lambda^TRR^T\dd \hat{\omega}_1 R \dd S_2} \\
&=\trace{\lambda^T R \hat{R^T \dd \omega_1}\dd S_2} \\
&= \sum_i e_i^T\block{\lambda^T R \hat{R^T \dd \omega_1}\dd S_2}e_i\\
&= \sum_i e_i^T\block{\lambda^T R \hat{R^T \dd \omega_1}e_i \dd S_{2_i}}\\
&= -\sum_i e_i^T\block{\lambda^T R \hat{e_i}R^T \dd \omega_1 \dd S_{2_i}}\\
&= -\sum_i e_i^T\block{\lambda^T \hat{Re_i} \dd \omega_1 \dd S_{2_i}}\\
&= -\block{\sum_i \dd S_{2_i}e_i^T\block{\lambda^T \hat{Re_i}}} \dd \omega_1\\
&= \block{\sum_i \dd S_{2_i}\block{\lambda_i^T \times R_i}^T} \dd \omega_1\\
&= \dd s_2^T \mat{\block{\lambda_i^T \times R_i}^T\\ \vdots} \dd \omega_1\\
\end{align}\]
(phhew!)
\[g: \RR^3 \times \RR^3 \times \RR^3 \times \RR^3 \to \RR^3\]
Mapping
\[g(\omega, s, t, x) = \exp(\omega)RSx + t = f(\omega, s, t)\mat{x\\ 1}\]
Jacobian
\[\begin{align}
\dd g &= \dd f \mat{x\\ 1} + f(\omega, s, t) \mat{\dd x\\ 0} \\
&=\block{\dd \omega\ RS + R\dd S}x + \dd t + RS \dd x \\
&= -\hat{RSx}\ \dd \omega + R\diag(x)\ \dd s + \dd t + RS\ \dd x \\
\end{align}\]
Hessian
\[\dd^2 g = \dd^2 f \mat{x\\ 1} + \dd f_1 \mat{\dd x_2\\ 0} + \dd f_2 \mat{\dd x_1\\ 0}\]
Geometric Stiffness
\[\begin{align}
\trace{\lambda^T \dd^2 g} &= \trace{\lambda^T \dd^2 f \mat{x\\ 1}} + \trace{\lambda^T \dd f_1 \mat{\dd x_2\\ 0}} + \trace{\lambda^T \dd f_2 \mat{\dd x_1\\ 0}} \\
&= \trace{x\lambda^T \dd^2 f_{\omega, s}} + \trace{\lambda^T \dd f_1 \mat{\dd x_2\\ 0}} + \trace{\lambda^T \dd f_2 \mat{\dd x_1\\ 0}}
\end{align}\]
\[\begin{align}
\trace{\lambda^T \dd f_2 \mat{\dd x_1\\ 0}} &= \trace{\lambda^T\block{\dd \hat{\omega_2} RS + R\dd S_2}.\dd x_1} \\
&= -\dd \omega_2^T \hat{\lambda}RS\dd x_1 + \dd s_2^T \diag\block{R^T \lambda} \dd x_1 \\
\end{align}\]