{ "cells": [ { "cell_type": "markdown", "id": "45612391", "metadata": {}, "source": [ "# 2 · Deformation Gradient Intuition\n", "\n", "Now that we know $F = D_s D_m^{-1}$ (tutorial 1), let's *feel* it. We apply the\n", "four basic deformations — **translation, rotation, scale, shear** — to\n", "a triangle and read off $F$ each time.\n", "\n", "Watch for the headline fact: **$F$ ignores translation.** A gradient kills\n", "additive constants, so sliding the triangle around leaves $F = I$." ] }, { "cell_type": "code", "execution_count": 1, "id": "8c413ac9", "metadata": { "execution": { "iopub.execute_input": "2026-06-09T05:22:18.431768Z", "iopub.status.busy": "2026-06-09T05:22:18.431625Z", "iopub.status.idle": "2026-06-09T05:22:18.932850Z", "shell.execute_reply": "2026-06-09T05:22:18.932564Z" } }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import simkit\n", "import utils" ] }, { "cell_type": "markdown", "id": "dd966d5f", "metadata": {}, "source": [ "## The rest triangle and four deformation maps\n", "\n", "Each map is a linear transform of the rest vertices (translation also adds an\n", "offset). We read $F$ back with `simkit.deformation_gradient`." ] }, { "cell_type": "code", "execution_count": 2, "id": "f7b380a3", "metadata": { "execution": { "iopub.execute_input": "2026-06-09T05:22:18.934025Z", "iopub.status.busy": "2026-06-09T05:22:18.933943Z", "iopub.status.idle": "2026-06-09T05:22:18.935969Z", "shell.execute_reply": "2026-06-09T05:22:18.935754Z" } }, "outputs": [], "source": [ "X = np.array([[-0.5, 0.0], [0.5, 0.0], [0.0, np.sqrt(3) / 2]])\n", "T = np.array([[0, 1, 2]])\n", "\n", "def translate(X, t): return X + np.asarray(t, float)\n", "def rotate(X, theta):\n", " c, s = np.cos(theta), np.sin(theta)\n", " return X @ np.array([[c, -s], [s, c]]).T\n", "def scale(X, sx, sy=None):\n", " sy = sx if sy is None else sy\n", " return X * np.array([sx, sy])\n", "def shear(X, k): return X @ np.array([[1.0, k], [0.0, 1.0]]).T\n", "\n", "def F_of(U): return simkit.deformation_gradient(X, T, U)[0]" ] }, { "cell_type": "markdown", "id": "e2452525", "metadata": {}, "source": [ "## Translation leaves $F = I$\n", "\n", "Slide the triangle anywhere; $F$ stays the identity." ] }, { "cell_type": "code", "execution_count": 3, "id": "15da04c4", "metadata": { "execution": { "iopub.execute_input": "2026-06-09T05:22:18.936911Z", "iopub.status.busy": "2026-06-09T05:22:18.936860Z", "iopub.status.idle": "2026-06-09T05:22:18.938604Z", "shell.execute_reply": "2026-06-09T05:22:18.938429Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "translate by [0.0, 0.0]: F =\n", "[[1. 0.]\n", " [0. 1.]] det F = 1.000\n", "\n", "translate by [2.0, -1.5]: F =\n", "[[1. 0.]\n", " [0. 1.]] det F = 1.000\n", "\n", "translate by [-3.0, 4.0]: F =\n", "[[ 1. -0.]\n", " [ 0. 1.]] det F = 1.000\n", "\n" ] } ], "source": [ "for offset in ([0.0, 0.0], [2.0, -1.5], [-3.0, 4.0]):\n", " F = F_of(translate(X, offset))\n", " print(f\"translate by {offset}: F =\\n{np.round(F, 3)} det F = {np.linalg.det(F):.3f}\\n\")" ] }, { "cell_type": "markdown", "id": "89eb24e6", "metadata": {}, "source": [ "## The four deformations side by side\n", "\n", "Rotation gives a pure rotation ($\\det F = 1$); scale gives a diagonal $F$;\n", "shear gives an off-diagonal term; translation — even with a big offset\n", "— gives $F = I$." ] }, { "cell_type": "code", "execution_count": 4, "id": "b5cd81c7", "metadata": { "execution": { "iopub.execute_input": "2026-06-09T05:22:18.939466Z", "iopub.status.busy": "2026-06-09T05:22:18.939417Z", "iopub.status.idle": "2026-06-09T05:22:19.050987Z", "shell.execute_reply": "2026-06-09T05:22:19.050775Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cases = [\n", " (\"translate (+offset)\", translate(X, [1.8, 0.6])),\n", " (\"rotate 45 deg\", rotate(X, np.pi / 4)),\n", " (\"scale x1.6, y0.7\", scale(X, 1.6, 0.7)),\n", " (\"shear k = 0.8\", shear(X, 0.8)),\n", "]\n", "cases = [(name, U, F_of(U)) for name, U in cases]\n", "fig, _ = utils.deformation_panels(cases, rest=X)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "99e439ec", "metadata": {}, "source": [ "## Animation: rotating the triangle — $F$ traces $R(\\theta)$" ] }, { "cell_type": "code", "execution_count": 5, "id": "9f144030", "metadata": { "execution": { "iopub.execute_input": "2026-06-09T05:22:19.051956Z", "iopub.status.busy": "2026-06-09T05:22:19.051897Z", "iopub.status.idle": "2026-06-09T05:22:19.568324Z", "shell.execute_reply": "2026-06-09T05:22:19.568069Z" } }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "angles = np.linspace(0, 2 * np.pi, 48, endpoint=False)\n", "states = [rotate(X, a) for a in angles]\n", "Fs = [F_of(U) for U in states]\n", "fig, anim = utils.animate_deformation(states, Fs, rest=X, fps=20,\n", " title=\"Pure rotation: F = R(theta)\")\n", "utils.show_video(fig, anim, \"media/02_rotation.mp4\", fps=20)" ] }, { "cell_type": "markdown", "id": "94692ca9", "metadata": {}, "source": [ "## Animation: translating the triangle — $F = I$ always" ] }, { "cell_type": "code", "execution_count": 6, "id": "75d80220", "metadata": { "execution": { "iopub.execute_input": "2026-06-09T05:22:19.569412Z", "iopub.status.busy": "2026-06-09T05:22:19.569328Z", "iopub.status.idle": "2026-06-09T05:22:20.037576Z", "shell.execute_reply": "2026-06-09T05:22:20.037330Z" } }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ts = np.linspace(0, 2 * np.pi, 48)\n", "path = np.stack([1.6 * np.sin(ts), 1.0 * np.sin(2 * ts)], axis=1) # figure-8\n", "states = [translate(X, p) for p in path]\n", "Fs = [F_of(U) for U in states]\n", "fig, anim = utils.animate_deformation(states, Fs, rest=X,\n", " lims=((-2.6, 2.6), (-2.0, 2.6)), fps=20,\n", " title=\"Pure translation: F = I (always)\")\n", "utils.show_video(fig, anim, \"media/02_translation.mp4\", fps=20)" ] }, { "cell_type": "markdown", "id": "54ddf5c9", "metadata": {}, "source": [ "### Takeaways\n", "* $F$ is the local gradient, so it is **blind to translation**.\n", "* Rotation → rotation matrix; scale & shear show up directly in $F$.\n", "\n", "Next: turn $F$ into a single number measuring *how deformed* a shape is —\n", "the **elastic energy**." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.9" } }, "nbformat": 4, "nbformat_minor": 5 }