diff --git a/docs/Chapters/MODERN-CONTROL.md b/docs/Chapters/MODERN-CONTROL.md new file mode 100644 index 0000000..213bbf2 --- /dev/null +++ b/docs/Chapters/MODERN-CONTROL.md @@ -0,0 +1,98 @@ +# Modern Control + +Normally speaking, we know much about classical control, in the form +of: + +$$ +\dot{x}(t) = ax(t) + bu(t) \longleftrightarrow sX(s) - x(0) = aX(S) + bU(s) +$$ + +With the left part being a derivative equation in continuous time, while the +right being its tranformation in the complex domain field. + +> [!NOTE] +> +> $$ +> \dot{x}(t) = ax(t) + bu(t) \longleftrightarrow x(k+1) = ax(k) + bu(k) +> $$ +> +> These are equivalent, but the latter one is in discrete time. +> + +## A brief recap over Classical Control + +Be $Y(s)$ our `output variable` in `classical control` and $U(s)$ our +`input variable`. The associated `transfer function` $G(s)$ is: + +$$ +G(s) = \frac{Y(s)}{U(s)} +$$ + +### Root Locus + + +### Bode Diagram + +### Nyquist Diagram + +## State Space Representation + +### State Matrices +A state space representation has 4 Matrices: $A, B, C, D$ with coefficients in +$\R$: +- $A$: State Matrix `[x_rows, x_columns]` +- $B$: Input Matrix `[x_rows, u_columns]` +- $C$: Output Matrix `[y_rows, x_columns]` +- $D$: Direct Coupling Matrix `[y_rows, u_columns]` + +$$ +\begin{cases} +\dot{x}(t) = Ax(t) + Bu(t) \;\;\;\; \text{Dynamic of the system}\\ + y(t) = C{x}(t) + Du(t) \;\;\;\; \text{Static of the outputs} +\end{cases} +$$ + +This can be represented with the following diagrams: + +Continuous Time: +![continuous state space diagram](..\Images\Modern-Control\state-space-time.png) + +--- +Discrete time: + +![discrete state space diagram](..\Images\Modern-Control\state-space-discrete.png) + +### State Vector +This is a state vector `[x_rows, 1]`: +$$ +x(t) = \begin{bmatrix} + x_1(t)\\ + \dots\\ + x_x(t) + \end{bmatrix} + +\text{or} \: + +x(k) = \begin{bmatrix} + x_1(k)\\ + \dots\\ + x_x(k) + \end{bmatrix} +$$ + +Basically, from this we can know each next step of the state vector, represented +as: + +$$ +x(k + 1) = f\left( + x(k), u(k) +\right) = Ax(k) + Bu(k) +$$ + + +### Case Studies + +- PAGERANK +- Congestion Control +- Video Player Control +- Deep Learning \ No newline at end of file diff --git a/docs/Images/Modern-Control/state-space-discrete.png b/docs/Images/Modern-Control/state-space-discrete.png new file mode 100644 index 0000000..6c335a9 Binary files /dev/null and b/docs/Images/Modern-Control/state-space-discrete.png differ diff --git a/docs/Images/Modern-Control/state-space-time.png b/docs/Images/Modern-Control/state-space-time.png new file mode 100644 index 0000000..ed17bf7 Binary files /dev/null and b/docs/Images/Modern-Control/state-space-time.png differ diff --git a/docs/Images/excalidraw/Modern-Control/state-space-1.excalidraw.json b/docs/Images/excalidraw/Modern-Control/state-space-1.excalidraw.json new file mode 100644 index 0000000..6e56b27 --- /dev/null +++ b/docs/Images/excalidraw/Modern-Control/state-space-1.excalidraw.json @@ -0,0 +1,1258 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", + "elements": [ + { + "id": "K5X6st_siJLk79pv_zmSd", + "type": "ellipse", + "x": 531.9999999999999, + "y": 286.66666666666674, + "width": 39, + "height": 39, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "zV7btFR97HEI9DqCap1zZ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 861985661, + "version": 49, + "versionNonce": 606055667, + "isDeleted": false, + "boundElements": [ + { + "id": "au4RZysNnhb5XOFKVAtWS", + "type": "arrow" + } + ], + "updated": 1736011810768, + "link": null, + "locked": false + }, + { + "id": "OUzUN1nGHUiCZX-8eN89A", + "type": "line", + "x": 551.0071351233835, + "y": 294.66666666666663, + "width": 0, + "height": 22, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "zV7btFR97HEI9DqCap1zZ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 957506525, + "version": 60, + "versionNonce": 1890848701, + "isDeleted": false, + "boundElements": null, + "updated": 1736011810768, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 22 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "FgtuxK6bcHj-w4FgU-8P8", + "type": "line", + "x": 539.3418533070351, + "y": 306.0840257584925, + "width": 24.641493777715596, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "zV7btFR97HEI9DqCap1zZ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 875814973, + "version": 98, + "versionNonce": 807638675, + "isDeleted": false, + "boundElements": null, + "updated": 1736011810768, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 24.641493777715596, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "IudMDlJH4kO5XL85tNZvS", + "type": "arrow", + "x": 407.55716616780705, + "y": 306.16666722166246, + "width": 116.48981627670025, + "height": 1.2464126584499127, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 428707059, + "version": 141, + "versionNonce": 1525432221, + "isDeleted": false, + "boundElements": null, + "updated": 1736011813914, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 116.48981627670025, + -1.2464126584499127 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.05463585823877777, + "gap": 6.412178443368276, + "elementId": "SmofSL6BecL9Jjsdb01On" + }, + "endBinding": { + "focus": -2.8461319090685073e-8, + "gap": 13.832755684089985, + "elementId": "K5X6st_siJLk79pv_zmSd" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "SmofSL6BecL9Jjsdb01On", + "type": "rectangle", + "x": 341.29798891966817, + "y": 268.4093012084352, + "width": 59.846998804770614, + "height": 71.60265928427918, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 572354077, + "version": 155, + "versionNonce": 322522163, + "isDeleted": false, + "boundElements": [ + { + "id": "IudMDlJH4kO5XL85tNZvS", + "type": "arrow" + }, + { + "id": "wdNnNiQRJfTpflINWoPWE", + "type": "arrow" + }, + { + "type": "text", + "id": "qQ0mzn-Yhkm-0RqW0T3Dx" + } + ], + "updated": 1736011810768, + "link": null, + "locked": false + }, + { + "id": "qQ0mzn-Yhkm-0RqW0T3Dx", + "type": "text", + "x": 361.0434945476394, + "y": 286.7106308505748, + "width": 20.355987548828125, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1407427197, + "version": 117, + "versionNonce": 1358365821, + "isDeleted": false, + "boundElements": null, + "updated": 1736011810768, + "link": null, + "locked": false, + "text": "B", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 25, + "containerId": "SmofSL6BecL9Jjsdb01On", + "originalText": "B", + "lineHeight": 1.25 + }, + { + "id": "wdNnNiQRJfTpflINWoPWE", + "type": "arrow", + "x": 221.06964310651284, + "y": 306.16666722166246, + "width": 112.74747096255896, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 2084068883, + "version": 203, + "versionNonce": 2111587325, + "isDeleted": false, + "boundElements": null, + "updated": 1736011813914, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 112.74747096255896, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.9743586738024662, + "gap": 1.1951508164299867, + "elementId": "QknVnNoRT5jcxqUcKYXO_" + }, + "endBinding": { + "focus": -0.05463585823877777, + "gap": 9.618267665052457, + "elementId": "SmofSL6BecL9Jjsdb01On" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "QknVnNoRT5jcxqUcKYXO_", + "type": "text", + "x": 203.9705005908641, + "y": 271.6153904301193, + "width": 15.90399169921875, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 351374995, + "version": 60, + "versionNonce": 1945857245, + "isDeleted": false, + "boundElements": [ + { + "id": "wdNnNiQRJfTpflINWoPWE", + "type": "arrow" + } + ], + "updated": 1736011810768, + "link": null, + "locked": false, + "text": "u", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "u", + "lineHeight": 1.25 + }, + { + "id": "2eMWAJM2HlPb0iQCd7Y_F", + "type": "arrow", + "x": 588.7012071929611, + "y": 306.16666722166246, + "width": 111.2896850405806, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 467775293, + "version": 215, + "versionNonce": 336949267, + "isDeleted": false, + "boundElements": null, + "updated": 1736011827497, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 111.2896850405806, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "focus": -0.05463585823877778, + "gap": 8.549571257824198, + "elementId": "zHD1KS_N9AA6ue3GEcR8J" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "xWD9YLwOHTG71ITLSn1wN", + "type": "text", + "x": 595.6477338399434, + "y": 266.806256597593, + "width": 23.183990478515625, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1053614771, + "version": 6, + "versionNonce": 521390397, + "isDeleted": false, + "boundElements": null, + "updated": 1736011810768, + "link": null, + "locked": false, + "text": "x'", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "x'", + "lineHeight": 1.25 + }, + { + "id": "zHD1KS_N9AA6ue3GEcR8J", + "type": "rectangle", + "x": 708.5404634913659, + "y": 268.4093012084352, + "width": 59.846998804770614, + "height": 71.60265928427918, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 2057300605, + "version": 266, + "versionNonce": 596199635, + "isDeleted": false, + "boundElements": [ + { + "id": "IudMDlJH4kO5XL85tNZvS", + "type": "arrow" + }, + { + "id": "wdNnNiQRJfTpflINWoPWE", + "type": "arrow" + }, + { + "id": "2eMWAJM2HlPb0iQCd7Y_F", + "type": "arrow" + }, + { + "id": "fDt87ZL-8OSgVH8V84jOL", + "type": "arrow" + }, + { + "type": "text", + "id": "EPAnsLcJIkKUIJfTMy3fj" + } + ], + "updated": 1736011827497, + "link": null, + "locked": false + }, + { + "id": "EPAnsLcJIkKUIJfTMy3fj", + "type": "text", + "x": 720.0679668000013, + "y": 286.7106308505748, + "width": 36.7919921875, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 60265181, + "version": 227, + "versionNonce": 1806612083, + "isDeleted": false, + "boundElements": null, + "updated": 1736011827497, + "link": null, + "locked": false, + "text": "1/s", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 25, + "containerId": "zHD1KS_N9AA6ue3GEcR8J", + "originalText": "1/s", + "lineHeight": 1.25 + }, + { + "id": "fDt87ZL-8OSgVH8V84jOL", + "type": "arrow", + "x": 776.937033553961, + "y": 305.96486200743385, + "width": 109.93050155373624, + "height": 0.16023035446994527, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 926087933, + "version": 322, + "versionNonce": 179357523, + "isDeleted": false, + "boundElements": null, + "updated": 1736011827497, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 109.93050155373624, + 0.16023035446994527 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.05463585823877778, + "gap": 8.549571257824539, + "elementId": "zHD1KS_N9AA6ue3GEcR8J" + }, + "endBinding": { + "focus": -2.8461319090685073e-8, + "gap": 9.023621851563693, + "elementId": "NC5OBj_CzGsSVc1VZbm6V" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "bGS5302iKWHxDptvwQGUm", + "type": "text", + "x": 805.1122296566405, + "y": 269.47799761566307, + "width": 15.735992431640625, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 453461821, + "version": 16, + "versionNonce": 1792433661, + "isDeleted": false, + "boundElements": [ + { + "id": "Uhq_o7AhN4Nwvfv0DqlqV", + "type": "arrow" + } + ], + "updated": 1736011810768, + "link": null, + "locked": false, + "text": "x", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "x", + "lineHeight": 1.25 + }, + { + "id": "NC5OBj_CzGsSVc1VZbm6V", + "type": "ellipse", + "x": 895.8911266611498, + "y": 286.66666666666674, + "width": 39, + "height": 39, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "6swr5zS0sqmA4c-_3Ss1x" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1359600573, + "version": 120, + "versionNonce": 1381069651, + "isDeleted": false, + "boundElements": [ + { + "id": "IudMDlJH4kO5XL85tNZvS", + "type": "arrow" + }, + { + "id": "fDt87ZL-8OSgVH8V84jOL", + "type": "arrow" + }, + { + "id": "UFUPCzxL0hIPKLkDZ2m7P", + "type": "arrow" + }, + { + "id": "L0I9kQpd5YZEarfU53wtC", + "type": "arrow" + } + ], + "updated": 1736011853054, + "link": null, + "locked": false + }, + { + "id": "QYf91sxa3X3h3nL69CK8W", + "type": "line", + "x": 914.8982617845334, + "y": 294.66666666666663, + "width": 0, + "height": 22, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "6swr5zS0sqmA4c-_3Ss1x" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 139009299, + "version": 128, + "versionNonce": 464754269, + "isDeleted": false, + "boundElements": null, + "updated": 1736011810768, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 22 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "SgkgJUh5yKwtAksEkepJT", + "type": "line", + "x": 903.232979968185, + "y": 306.0840257584925, + "width": 24.641493777715596, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "6swr5zS0sqmA4c-_3Ss1x" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1538149917, + "version": 166, + "versionNonce": 1539131891, + "isDeleted": false, + "boundElements": null, + "updated": 1736011810768, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 24.641493777715596, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "UFUPCzxL0hIPKLkDZ2m7P", + "type": "arrow", + "x": 944.5771107999008, + "y": 306.16666722166246, + "width": 110.61007814810284, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1967485107, + "version": 337, + "versionNonce": 1091224253, + "isDeleted": false, + "boundElements": null, + "updated": 1736011810768, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 110.61007814810284, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "NC5OBj_CzGsSVc1VZbm6V", + "focus": 2.8461319090685073e-8, + "gap": 9.685984138751 + }, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "ubb5kiqvRQqVv0nZJo8wA", + "type": "text", + "x": 1013.5080290661097, + "y": 260.92842635783876, + "width": 13.131988525390625, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1508088733, + "version": 55, + "versionNonce": 1006998419, + "isDeleted": false, + "boundElements": null, + "updated": 1736011810768, + "link": null, + "locked": false, + "text": "y", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "y", + "lineHeight": 1.25 + }, + { + "id": "w-AgwFi3mFjdQEDPr3Us1", + "type": "rectangle", + "x": 707.8608565988882, + "y": 409.4772269625374, + "width": 59.846998804770614, + "height": 71.60265928427918, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 1984441875, + "version": 341, + "versionNonce": 528311069, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "dgF4x9oidKbFSx2wdD3Yx" + }, + { + "id": "IudMDlJH4kO5XL85tNZvS", + "type": "arrow" + }, + { + "id": "wdNnNiQRJfTpflINWoPWE", + "type": "arrow" + }, + { + "id": "2eMWAJM2HlPb0iQCd7Y_F", + "type": "arrow" + }, + { + "id": "fDt87ZL-8OSgVH8V84jOL", + "type": "arrow" + }, + { + "id": "Uhq_o7AhN4Nwvfv0DqlqV", + "type": "arrow" + }, + { + "id": "au4RZysNnhb5XOFKVAtWS", + "type": "arrow" + } + ], + "updated": 1736011810768, + "link": null, + "locked": false + }, + { + "id": "dgF4x9oidKbFSx2wdD3Yx", + "type": "text", + "x": 728.6003578933634, + "y": 427.77855660467696, + "width": 18.367996215820312, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1786140403, + "version": 303, + "versionNonce": 735291699, + "isDeleted": false, + "boundElements": null, + "updated": 1736011810768, + "link": null, + "locked": false, + "text": "A", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 25, + "containerId": "w-AgwFi3mFjdQEDPr3Us1", + "originalText": "A", + "lineHeight": 1.25 + }, + { + "id": "Uhq_o7AhN4Nwvfv0DqlqV", + "type": "arrow", + "x": 827.5548542084296, + "y": 304.21063085057466, + "width": 51.29742754694621, + "height": 142.67097036494425, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 378280317, + "version": 112, + "versionNonce": 1803351933, + "isDeleted": false, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6717410180699517, + 125.57182784929552 + ], + [ + -51.29742754694621, + 142.67097036494425 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "bGS5302iKWHxDptvwQGUm", + "focus": -1.8131880719466005, + "gap": 6.70663212014847 + }, + "endBinding": { + "elementId": "w-AgwFi3mFjdQEDPr3Us1", + "focus": 0.32665737102294184, + "gap": 8.549571257824653 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "au4RZysNnhb5XOFKVAtWS", + "type": "arrow", + "x": 700.9143299519061, + "y": 441.0037709757646, + "width": 151.22054162276868, + "height": 105.2665961119626, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1032576339, + "version": 133, + "versionNonce": 1330315229, + "isDeleted": false, + "boundElements": null, + "updated": 1736011810768, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -139.99922934687424, + -11.221312275894434 + ], + [ + -151.22054162276868, + -105.2665961119626 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "w-AgwFi3mFjdQEDPr3Us1", + "focus": 0.034543513080624796, + "gap": 6.946526646982022 + }, + "endBinding": { + "elementId": "K5X6st_siJLk79pv_zmSd", + "focus": 0.271637866586611, + "gap": 10.125619919873472 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "CkxIlkGaBefTdhLFxlZDt", + "type": "rectangle", + "x": 707.8608565988882, + "y": 101.22600565892395, + "width": 59.846998804770614, + "height": 71.60265928427918, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 2092497683, + "version": 342, + "versionNonce": 1706105875, + "isDeleted": false, + "boundElements": [ + { + "id": "IudMDlJH4kO5XL85tNZvS", + "type": "arrow" + }, + { + "id": "wdNnNiQRJfTpflINWoPWE", + "type": "arrow" + }, + { + "id": "2eMWAJM2HlPb0iQCd7Y_F", + "type": "arrow" + }, + { + "id": "fDt87ZL-8OSgVH8V84jOL", + "type": "arrow" + }, + { + "type": "text", + "id": "G2MwHWXQTWll_Sw0v7lsr" + }, + { + "id": "nLN0VRGWWmJnNLpV1GvlH", + "type": "arrow" + }, + { + "id": "L0I9kQpd5YZEarfU53wtC", + "type": "arrow" + } + ], + "updated": 1736011853054, + "link": null, + "locked": false + }, + { + "id": "G2MwHWXQTWll_Sw0v7lsr", + "type": "text", + "x": 726.8643578323282, + "y": 119.52733530106354, + "width": 21.839996337890625, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1622024371, + "version": 303, + "versionNonce": 1592206525, + "isDeleted": false, + "boundElements": null, + "updated": 1736011825626, + "link": null, + "locked": false, + "text": "D", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 25, + "containerId": "CkxIlkGaBefTdhLFxlZDt", + "originalText": "D", + "lineHeight": 1.25 + }, + { + "id": "nLN0VRGWWmJnNLpV1GvlH", + "type": "arrow", + "x": 282.6396832819271, + "y": 303.2720150251255, + "width": 411.8417768414789, + "height": 163.78526108712282, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1364151955, + "version": 134, + "versionNonce": 284660435, + "isDeleted": false, + "boundElements": [], + "updated": 1736011843504, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 46.21326868848274, + -148.83390945261363 + ], + [ + 411.8417768414789, + -163.78526108712282 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "CkxIlkGaBefTdhLFxlZDt", + "focus": -0.01860010421691274, + "gap": 13.37939647548211 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "L0I9kQpd5YZEarfU53wtC", + "type": "arrow", + "x": 776.0342872207286, + "y": 139.48675393800266, + "width": 142.0378405278368, + "height": 136.60098538801532, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1185739837, + "version": 121, + "versionNonce": 603677395, + "isDeleted": false, + "boundElements": [], + "updated": 1736011858559, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 129.1253095707607, + 14.271744742031501 + ], + [ + 142.0378405278368, + 136.60098538801532 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "CkxIlkGaBefTdhLFxlZDt", + "focus": -0.04521262474207262, + "gap": 8.326431817069931 + }, + "endBinding": { + "elementId": "NC5OBj_CzGsSVc1VZbm6V", + "focus": 0.2986484814299896, + "gap": 10.698172739335597 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/Images/excalidraw/Modern-Control/state-space-2.excalidraw.json b/docs/Images/excalidraw/Modern-Control/state-space-2.excalidraw.json new file mode 100644 index 0000000..926736a --- /dev/null +++ b/docs/Images/excalidraw/Modern-Control/state-space-2.excalidraw.json @@ -0,0 +1,1294 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", + "elements": [ + { + "type": "ellipse", + "version": 49, + "versionNonce": 606055667, + "isDeleted": false, + "id": "K5X6st_siJLk79pv_zmSd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 531.9999999999999, + "y": 286.66666666666674, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 39, + "height": 39, + "seed": 861985661, + "groupIds": [ + "zV7btFR97HEI9DqCap1zZ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "id": "au4RZysNnhb5XOFKVAtWS", + "type": "arrow" + } + ], + "updated": 1736011810768, + "link": null, + "locked": false + }, + { + "type": "line", + "version": 60, + "versionNonce": 1890848701, + "isDeleted": false, + "id": "OUzUN1nGHUiCZX-8eN89A", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 551.0071351233835, + "y": 294.66666666666663, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 22, + "seed": 957506525, + "groupIds": [ + "zV7btFR97HEI9DqCap1zZ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 22 + ] + ] + }, + { + "type": "line", + "version": 98, + "versionNonce": 807638675, + "isDeleted": false, + "id": "FgtuxK6bcHj-w4FgU-8P8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 539.3418533070351, + "y": 306.0840257584925, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 24.641493777715596, + "height": 0, + "seed": 875814973, + "groupIds": [ + "zV7btFR97HEI9DqCap1zZ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 24.641493777715596, + 0 + ] + ] + }, + { + "type": "arrow", + "version": 141, + "versionNonce": 1525432221, + "isDeleted": false, + "id": "IudMDlJH4kO5XL85tNZvS", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 407.55716616780705, + "y": 306.16666722166246, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 116.48981627670025, + "height": 1.2464126584499127, + "seed": 428707059, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011813914, + "link": null, + "locked": false, + "startBinding": { + "focus": 0.05463585823877777, + "gap": 6.412178443368276, + "elementId": "SmofSL6BecL9Jjsdb01On" + }, + "endBinding": { + "focus": -2.8461319090685073e-8, + "gap": 13.832755684089985, + "elementId": "K5X6st_siJLk79pv_zmSd" + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 116.48981627670025, + -1.2464126584499127 + ] + ] + }, + { + "type": "rectangle", + "version": 155, + "versionNonce": 322522163, + "isDeleted": false, + "id": "SmofSL6BecL9Jjsdb01On", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 341.29798891966817, + "y": 268.4093012084352, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 59.846998804770614, + "height": 71.60265928427918, + "seed": 572354077, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "IudMDlJH4kO5XL85tNZvS", + "type": "arrow" + }, + { + "id": "wdNnNiQRJfTpflINWoPWE", + "type": "arrow" + }, + { + "type": "text", + "id": "qQ0mzn-Yhkm-0RqW0T3Dx" + } + ], + "updated": 1736011810768, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 117, + "versionNonce": 1358365821, + "isDeleted": false, + "id": "qQ0mzn-Yhkm-0RqW0T3Dx", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 361.0434945476394, + "y": 286.7106308505748, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 20.355987548828125, + "height": 35, + "seed": 1407427197, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "B", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "SmofSL6BecL9Jjsdb01On", + "originalText": "B", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "arrow", + "version": 203, + "versionNonce": 2111587325, + "isDeleted": false, + "id": "wdNnNiQRJfTpflINWoPWE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 221.06964310651284, + "y": 306.16666722166246, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 112.74747096255896, + "height": 0, + "seed": 2084068883, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011813914, + "link": null, + "locked": false, + "startBinding": { + "focus": 0.9743586738024662, + "gap": 1.1951508164299867, + "elementId": "QknVnNoRT5jcxqUcKYXO_" + }, + "endBinding": { + "focus": -0.05463585823877777, + "gap": 9.618267665052457, + "elementId": "SmofSL6BecL9Jjsdb01On" + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 112.74747096255896, + 0 + ] + ] + }, + { + "type": "text", + "version": 60, + "versionNonce": 1945857245, + "isDeleted": false, + "id": "QknVnNoRT5jcxqUcKYXO_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 203.9705005908641, + "y": 271.6153904301193, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 15.90399169921875, + "height": 35, + "seed": 351374995, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "wdNnNiQRJfTpflINWoPWE", + "type": "arrow" + } + ], + "updated": 1736011810768, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "u", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "u", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "arrow", + "version": 215, + "versionNonce": 336949267, + "isDeleted": false, + "id": "2eMWAJM2HlPb0iQCd7Y_F", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 588.7012071929611, + "y": 306.16666722166246, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 111.2896850405806, + "height": 0, + "seed": 467775293, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011827497, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "focus": -0.05463585823877778, + "gap": 8.549571257824198, + "elementId": "zHD1KS_N9AA6ue3GEcR8J" + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 111.2896850405806, + 0 + ] + ] + }, + { + "type": "text", + "version": 6, + "versionNonce": 521390397, + "isDeleted": false, + "id": "xWD9YLwOHTG71ITLSn1wN", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 595.6477338399434, + "y": 266.806256597593, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 23.183990478515625, + "height": 35, + "seed": 1053614771, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "x'", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "x'", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "rectangle", + "version": 266, + "versionNonce": 596199635, + "isDeleted": false, + "id": "zHD1KS_N9AA6ue3GEcR8J", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 708.5404634913659, + "y": 268.4093012084352, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 59.846998804770614, + "height": 71.60265928427918, + "seed": 2057300605, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "IudMDlJH4kO5XL85tNZvS", + "type": "arrow" + }, + { + "id": "wdNnNiQRJfTpflINWoPWE", + "type": "arrow" + }, + { + "id": "2eMWAJM2HlPb0iQCd7Y_F", + "type": "arrow" + }, + { + "id": "fDt87ZL-8OSgVH8V84jOL", + "type": "arrow" + }, + { + "type": "text", + "id": "EPAnsLcJIkKUIJfTMy3fj" + } + ], + "updated": 1736011827497, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 232, + "versionNonce": 177009468, + "isDeleted": false, + "id": "EPAnsLcJIkKUIJfTMy3fj", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 730.4559672882825, + "y": 286.7106308505748, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 16.0159912109375, + "height": 35, + "seed": 60265181, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736011901163, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "z", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "zHD1KS_N9AA6ue3GEcR8J", + "originalText": "z", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "arrow", + "version": 322, + "versionNonce": 179357523, + "isDeleted": false, + "id": "fDt87ZL-8OSgVH8V84jOL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 776.937033553961, + "y": 305.96486200743385, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 109.93050155373624, + "height": 0.16023035446994527, + "seed": 926087933, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011827497, + "link": null, + "locked": false, + "startBinding": { + "focus": 0.05463585823877778, + "gap": 8.549571257824539, + "elementId": "zHD1KS_N9AA6ue3GEcR8J" + }, + "endBinding": { + "focus": -2.8461319090685073e-8, + "gap": 9.023621851563693, + "elementId": "NC5OBj_CzGsSVc1VZbm6V" + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 109.93050155373624, + 0.16023035446994527 + ] + ] + }, + { + "type": "text", + "version": 16, + "versionNonce": 1792433661, + "isDeleted": false, + "id": "bGS5302iKWHxDptvwQGUm", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 805.1122296566405, + "y": 269.47799761566307, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 15.735992431640625, + "height": 35, + "seed": 453461821, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "Uhq_o7AhN4Nwvfv0DqlqV", + "type": "arrow" + } + ], + "updated": 1736011810768, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "x", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "x", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "ellipse", + "version": 120, + "versionNonce": 1381069651, + "isDeleted": false, + "id": "NC5OBj_CzGsSVc1VZbm6V", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 895.8911266611498, + "y": 286.66666666666674, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 39, + "height": 39, + "seed": 1359600573, + "groupIds": [ + "6swr5zS0sqmA4c-_3Ss1x" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "id": "IudMDlJH4kO5XL85tNZvS", + "type": "arrow" + }, + { + "id": "fDt87ZL-8OSgVH8V84jOL", + "type": "arrow" + }, + { + "id": "UFUPCzxL0hIPKLkDZ2m7P", + "type": "arrow" + }, + { + "id": "L0I9kQpd5YZEarfU53wtC", + "type": "arrow" + } + ], + "updated": 1736011853054, + "link": null, + "locked": false + }, + { + "type": "line", + "version": 128, + "versionNonce": 464754269, + "isDeleted": false, + "id": "QYf91sxa3X3h3nL69CK8W", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 914.8982617845334, + "y": 294.66666666666663, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 22, + "seed": 139009299, + "groupIds": [ + "6swr5zS0sqmA4c-_3Ss1x" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 22 + ] + ] + }, + { + "type": "line", + "version": 166, + "versionNonce": 1539131891, + "isDeleted": false, + "id": "SgkgJUh5yKwtAksEkepJT", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 903.232979968185, + "y": 306.0840257584925, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 24.641493777715596, + "height": 0, + "seed": 1538149917, + "groupIds": [ + "6swr5zS0sqmA4c-_3Ss1x" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 24.641493777715596, + 0 + ] + ] + }, + { + "type": "arrow", + "version": 337, + "versionNonce": 1091224253, + "isDeleted": false, + "id": "UFUPCzxL0hIPKLkDZ2m7P", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 944.5771107999008, + "y": 306.16666722166246, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 110.61007814810284, + "height": 0, + "seed": 1967485107, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "startBinding": { + "elementId": "NC5OBj_CzGsSVc1VZbm6V", + "focus": 2.8461319090685073e-8, + "gap": 9.685984138751 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 110.61007814810284, + 0 + ] + ] + }, + { + "type": "text", + "version": 55, + "versionNonce": 1006998419, + "isDeleted": false, + "id": "ubb5kiqvRQqVv0nZJo8wA", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1013.5080290661097, + "y": 260.92842635783876, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 13.131988525390625, + "height": 35, + "seed": 1508088733, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "y", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "y", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "rectangle", + "version": 341, + "versionNonce": 528311069, + "isDeleted": false, + "id": "w-AgwFi3mFjdQEDPr3Us1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 707.8608565988882, + "y": 409.4772269625374, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 59.846998804770614, + "height": 71.60265928427918, + "seed": 1984441875, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "dgF4x9oidKbFSx2wdD3Yx" + }, + { + "id": "IudMDlJH4kO5XL85tNZvS", + "type": "arrow" + }, + { + "id": "wdNnNiQRJfTpflINWoPWE", + "type": "arrow" + }, + { + "id": "2eMWAJM2HlPb0iQCd7Y_F", + "type": "arrow" + }, + { + "id": "fDt87ZL-8OSgVH8V84jOL", + "type": "arrow" + }, + { + "id": "Uhq_o7AhN4Nwvfv0DqlqV", + "type": "arrow" + }, + { + "id": "au4RZysNnhb5XOFKVAtWS", + "type": "arrow" + } + ], + "updated": 1736011810768, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 303, + "versionNonce": 735291699, + "isDeleted": false, + "id": "dgF4x9oidKbFSx2wdD3Yx", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 728.6003578933634, + "y": 427.77855660467696, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 18.367996215820312, + "height": 35, + "seed": 1786140403, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "A", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "w-AgwFi3mFjdQEDPr3Us1", + "originalText": "A", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "arrow", + "version": 112, + "versionNonce": 1803351933, + "isDeleted": false, + "id": "Uhq_o7AhN4Nwvfv0DqlqV", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 827.5548542084296, + "y": 304.21063085057466, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 51.29742754694621, + "height": 142.67097036494425, + "seed": 378280317, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "startBinding": { + "elementId": "bGS5302iKWHxDptvwQGUm", + "focus": -1.8131880719466005, + "gap": 6.70663212014847 + }, + "endBinding": { + "elementId": "w-AgwFi3mFjdQEDPr3Us1", + "focus": 0.32665737102294184, + "gap": 8.549571257824653 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -2.6717410180699517, + 125.57182784929552 + ], + [ + -51.29742754694621, + 142.67097036494425 + ] + ] + }, + { + "type": "arrow", + "version": 133, + "versionNonce": 1330315229, + "isDeleted": false, + "id": "au4RZysNnhb5XOFKVAtWS", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 700.9143299519061, + "y": 441.0037709757646, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 151.22054162276868, + "height": 105.2665961119626, + "seed": 1032576339, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011810768, + "link": null, + "locked": false, + "startBinding": { + "elementId": "w-AgwFi3mFjdQEDPr3Us1", + "focus": 0.034543513080624796, + "gap": 6.946526646982022 + }, + "endBinding": { + "elementId": "K5X6st_siJLk79pv_zmSd", + "focus": 0.271637866586611, + "gap": 10.125619919873472 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -139.99922934687424, + -11.221312275894434 + ], + [ + -151.22054162276868, + -105.2665961119626 + ] + ] + }, + { + "type": "rectangle", + "version": 342, + "versionNonce": 1706105875, + "isDeleted": false, + "id": "CkxIlkGaBefTdhLFxlZDt", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 707.8608565988882, + "y": 101.22600565892395, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 59.846998804770614, + "height": 71.60265928427918, + "seed": 2092497683, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "IudMDlJH4kO5XL85tNZvS", + "type": "arrow" + }, + { + "id": "wdNnNiQRJfTpflINWoPWE", + "type": "arrow" + }, + { + "id": "2eMWAJM2HlPb0iQCd7Y_F", + "type": "arrow" + }, + { + "id": "fDt87ZL-8OSgVH8V84jOL", + "type": "arrow" + }, + { + "type": "text", + "id": "G2MwHWXQTWll_Sw0v7lsr" + }, + { + "id": "nLN0VRGWWmJnNLpV1GvlH", + "type": "arrow" + }, + { + "id": "L0I9kQpd5YZEarfU53wtC", + "type": "arrow" + } + ], + "updated": 1736011853054, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 303, + "versionNonce": 1592206525, + "isDeleted": false, + "id": "G2MwHWXQTWll_Sw0v7lsr", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 726.8643578323282, + "y": 119.52733530106354, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 21.839996337890625, + "height": 35, + "seed": 1622024371, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736011825626, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "D", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "CkxIlkGaBefTdhLFxlZDt", + "originalText": "D", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "arrow", + "version": 134, + "versionNonce": 284660435, + "isDeleted": false, + "id": "nLN0VRGWWmJnNLpV1GvlH", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 282.6396832819271, + "y": 303.2720150251255, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 411.8417768414789, + "height": 163.78526108712282, + "seed": 1364151955, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011843504, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "CkxIlkGaBefTdhLFxlZDt", + "focus": -0.01860010421691274, + "gap": 13.37939647548211 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 46.21326868848274, + -148.83390945261363 + ], + [ + 411.8417768414789, + -163.78526108712282 + ] + ] + }, + { + "type": "arrow", + "version": 121, + "versionNonce": 603677395, + "isDeleted": false, + "id": "L0I9kQpd5YZEarfU53wtC", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 776.0342872207286, + "y": 139.48675393800266, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 142.0378405278368, + "height": 136.60098538801532, + "seed": 1185739837, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736011858559, + "link": null, + "locked": false, + "startBinding": { + "elementId": "CkxIlkGaBefTdhLFxlZDt", + "focus": -0.04521262474207262, + "gap": 8.326431817069931 + }, + "endBinding": { + "elementId": "NC5OBj_CzGsSVc1VZbm6V", + "focus": 0.2986484814299896, + "gap": 10.698172739335597 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 129.1253095707607, + 14.271744742031501 + ], + [ + 142.0378405278368, + 136.60098538801532 + ] + ] + }, + { + "id": "-T9I83DXcY6mgIr-KcfEC", + "type": "text", + "x": 740.4224964404734, + "y": 281.6153904301193, + "width": 13.639984130859375, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1511937084, + "version": 25, + "versionNonce": 253968516, + "isDeleted": false, + "boundElements": null, + "updated": 1736011910652, + "link": null, + "locked": false, + "text": "-1", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "-1", + "lineHeight": 1.25 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file