diff --git a/docs/Chapters/1-MODERN-CONTROL.md b/docs/Chapters/1-MODERN-CONTROL.md new file mode 100644 index 0000000..17255ef --- /dev/null +++ b/docs/Chapters/1-MODERN-CONTROL.md @@ -0,0 +1,242 @@ +# 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) +$$ + +### Examples + +#### Cart attached to a spring and a damper, pulled by a force +![cart being pulled image](../Images/Modern-Control/cart-pulled.png) + +##### Formulas +- Spring: $\vec{F} = -k\vec{x}$ +- Fluid Damper: $\vec{F_D} = -b \vec{\dot{x}}$ +- Initial Force: $\vec{F_p}(t) = \vec{F_p}(t)$ +- Total Force: $m \vec{\ddot{x}}(t) = \vec{F_p}(t) -b \vec{\dot{x}} -k\vec{x}$ + +> [!TIP] +> +> A rule of thumb is to have as many variables in our state as the max number +> of derivatives we encounter. In this case `2` +> +> Solve the equation for the highest derivative order +> +> Then, put all variables equal to the previous one derivated: +> +> $$ +x(t) = \begin{bmatrix} + x_1(t)\\ + x_2(t) = \dot{x_1}(t)\\ + \dots\\ + x_n(t) = \dot{x}_{n-1}(t) + \end{bmatrix} +\; +\dot{x}(t) = \begin{bmatrix} + \dot{x_1}(t) = x_2(t)\\ + \dot{x_2}(t) = x_3(t)\\ + \dots\\ + \dot{x}_{n-1}(t) = \dot{x}_{n}(t)\\ + \dot{x}_{n}(t) = \text{our formula} + \end{bmatrix} + +> $$ +> + +Now in our state we may express `position` and `speed`, while in our +`next_state` we'll have `speed` and `acceleration`: +$$ +x(t) = \begin{bmatrix} + x_1(t)\\ + x_2(t) = \dot{x_1}(t) + \end{bmatrix} +\; +\dot{x}(t) = \begin{bmatrix} + \dot{x_1}(t) = x_2(t)\\ + \dot{x_2}(t) = \ddot{x_1}(t) + \end{bmatrix} + +$$ +Our new state is then: +$$ +\begin{cases} +\dot{x}_1(t) = x_2(t)\\ +\dot{x}_2(t) = \frac{1}{m} \left( \vec{F}(t) - b x_2(t) - kx_1(t) \right) +\end{cases} +$$ + +let's say we only want to check for the `position` and `speed` of the system, our +State Space will be: +$$ +A = \begin{bmatrix} +0 & 1 \\ +- \frac{k}{m} & - \frac{b}{m} \\ +\end{bmatrix} + +B = \begin{bmatrix} +0 \\ +\frac{1}{m} \\ +\end{bmatrix} + +C = \begin{bmatrix} +1 & 0 \\ +0 & 1 +\end{bmatrix} + +D = \begin{bmatrix} +0 +\end{bmatrix} +$$ + +let's say we only want to check for the `position` of the system, our +State Space will be: +$$ +A = \begin{bmatrix} +0 & 1 \\ +- \frac{k}{m} & - \frac{b}{m} \\ +\end{bmatrix} + +B = \begin{bmatrix} +0 \\ +\frac{1}{m} \\ +\end{bmatrix} + +C = \begin{bmatrix} +1 & 0 +\end{bmatrix} + +D = \begin{bmatrix} +0 +\end{bmatrix} +$$ + +> [!TIP] +> In order to being able to plot the $\vec{x}$ against the time, you need to +> multiply $\vec{\dot{x}}$ for the `time_step` and then add it to the state[^so-how-to-plot-ssr] +> + +### Horner Factorization +let's say you have a complete polynomial of order `n`, you can factorize +in this way: + +$$ +\begin{align*} +p(s) &= s^5 + 4s^4 + 5s^3 + 2s^2 + 10s + 1 =\\ + +&= s ( s^4 + 4s^3 + 5s^2 + 2s + 10) + 1 = \\ + +&= s ( s (s^3 + 4s^2 + 5s + 2) + 10) + 1 = \\ + +&= s ( s (s (s^2 + 4s + 5) + 2) + 10) + 1 = \\ + +&= s ( s (s ( s (s + 4) + 5) + 2) + 10) + 1 + +\end{align*} +$$ + +If you were to take each s with the corresponding number in the parenthesis, +you'll make this block: +![horner factorization to diagram block](../Images/Modern-Control/horner-factorization.png) + + + + + + + + + + +### Case Studies + +- PAGERANK +- Congestion Control +- Video Player Control +- Deep Learning + +[^so-how-to-plot-ssr]: [Stack Exchange | How to plot state space variables against time on unit step input? | 05 January 2025 ](https://electronics.stackexchange.com/questions/307227/how-to-plot-state-space-variables-against-time-on-unit-step-input) \ No newline at end of file diff --git a/docs/Chapters/2-RELATION-TO-CLASSICAL-CONTROL.md b/docs/Chapters/2-RELATION-TO-CLASSICAL-CONTROL.md new file mode 100644 index 0000000..781792f --- /dev/null +++ b/docs/Chapters/2-RELATION-TO-CLASSICAL-CONTROL.md @@ -0,0 +1,160 @@ +# Relation to Classical Control + +## A Brief Recap of Discrete Control +Let's say we want to control something ***Physical***, hence intrinsically +***time continuous***, we can model our control in the `z` domain and make our +$G_c(z)$. But how do we connect these systems: + +![scheme of how digital control interconnects with classical control](../Images/Relation-to-classical-control/digital-control.png) + +#### Contraints +- $T_s$: Sampling time +- $f_s \geq 2f_m$: Sampling Frequency must be at least 2 times the max frequency + of the system + + +#### Parts of the system +1. Take `reference` and `output` and compute the `error` +2. Pass this signal into an `antialiasing filter` to avoid ***aliases*** +3. Trasform the `Laplace Transform` in a `Z-Transform` by using the following + relation:\ + $z = e^{sT}$ +4. Control everything through a `control block` engineered through + `digital control` +5. Transform the `digital signal` to an `analogic signal` through the use of a + `holder` (in this case a `zero order holder`) +6. Pass the signal to our `analogic plant` (which is our physical system) +7. Take the `output` and pass it in `retroaction` + +### Zero Order Holder +It has the following formula: +$$ +ZoH = \frac{1}{s} \left( 1 - e^{sT}\right) +$$ + +#### Commands: +- `c2d(sysc, Ts [, method | opts] )`[^matlab-c2d]: Converts `LTI` systems into + `Discrete` ones + + +## Relation between $S(A, B, C, D)$ to $G(s)$ + +### From $S(A, B, C, D)$ to $G(s)$ +Be this our $S(A, B, C, D)$ system: +$$ +\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} +$$ + +now let's make from this a `Laplace Transform`: +$$ +\begin{align*} +& \begin{cases} + sX(s) - x(0)= AX(s) + BU(s) \\ + Y(s) = CX(s) + DU(s) + \end{cases} \longrightarrow && \text{Normal Laplace Transformation}\\ + + +& \longrightarrow +\begin{cases} + sX(s) = AX(s) + BU(s) \\ + Y(s) = CX(s) + DU(s) + \end{cases} \longrightarrow && \text{Usually $x(0)$ is 0}\\ + + +& \longrightarrow +\begin{cases} + X(s) \left(sI -A \right) =BU(s) \\ + Y(s) = CX(s) + DU(s) + \end{cases} \longrightarrow && \text{$sI$ is technically equal to $s$}\\ + + +& \longrightarrow +\begin{cases} + X(s) = \left(sI - A\right)^{-1}BU(s) \\ + Y(s) = CX(s) + DU(s) + \end{cases} \longrightarrow && \\ + + +& \longrightarrow +\begin{cases} + X(s) = \left(sI - A\right)^{-1}BU(s) \\ + Y(s) = C\left(sI - A\right)^{-1}BU(s) + DU(s) + \end{cases} \longrightarrow && \text{Substitute for $X(s)$}\\ + + +& \longrightarrow +\begin{cases} + X(s) = \left(sI - A\right)^{-1}BU(s) \\ + Y(s) = \left(C\left(sI - A\right)^{-1}B + D\right)U(s) + \end{cases} \longrightarrow && \text{Group for $U(s)$}\\ + + +& \longrightarrow +\begin{cases} + X(s) = \left(sI - A\right)^{-1}BU(s) \\ + \frac{Y(s)}{U(s)} = \left(C\left(sI - A\right)^{-1}B + D\right) + \end{cases} \longrightarrow && \text{Get $G(s)$ from definition}\\ + +\longrightarrow \;& G(s) = \left(C\left(sI - A\right)^{-1}B + D\right) && +\text{Formal definition of $G(s)$}\\ + + +\end{align*} +$$ + +#### Properties +- Since $G(s)$ can be ***technically*** a matrix, this may represent a +`MIMO System` +- The system is ***always*** `proper` (so it's denominator is of an order + higher of the numerator) +- If $D$ is $0$, then the system is `strictly proper` and ***realizable*** + +- While each $S(A_i, B_i, C_i, D_i)$ can be transformed into a ***single*** +$G(s)$, this isn't true viceversa. + +- Any particular $S(A_a, B_a, C_a, D_a)$ is called `realization` +- $det(sI - A)$ := Characteristic Polinome +- $det(sI - A) = 0$ := Characteristic Equation +- $eig(A)$ := Solutions of the Characteristic Equation and `poles` of the system +- If the system is `SISO` and this means that $C \in \R^{1,x}$, + $B \in \R^{x,1}$ and $D \in \R$, meaning + that: +$$ +\begin{align*} + G(s) &= \left(C\left(sI - A\right)^{-1}B + D\right) =\\ + &= \left(C \frac{Adj\left(sI - A\right)}{det\left(sI - A\right)}B + D\right) + = && \text{Decompose the inverse in its formula}\\ + &= \frac{n(s)}{det\left(sI - A\right)} \in \R +\end{align*} +$$ + +> [!NOTE] +> As you can see here, by decomposing the inverse matrix in its formula it's +> easy to see that the divisor is a `scalar`, a `number`. +> +> Moreover, because of how $B$ and $C$ are composed, the result of this Matrix +> multiplication is a `scalar` too, hence we can write this as a single formula. +> +> Another thing to notice, regardless if this is a `MIMO` or `SISO` system is +> that at the divisor we have all `eigenvalues` of A as `poles` by +> [definition](../Formularies/GEOMETRY-FORMULARY.md/#eigenvalues) +> + +### Transforming a State-Space into Another one +We basically need to use some non singular `Permutation Matrices`: +$$ +\begin{align*} +&A_1, B_1, C_1, D_1 \\ +&A_2 = PAP^{-1} \\ +&B_2 = PB \\ +&C_2 = CP^{-1} \\ +&D_2 = D_1 +\end{align*} +$$ + + + +[^matlab-c2d]: [Matlab Official Docs | c2d | 05 January 2025](https://it.mathworks.com/help/control/ref/dynamicsystem.c2d.html) \ No newline at end of file diff --git a/docs/Chapters/3-CANONICAL-FORMS.md b/docs/Chapters/3-CANONICAL-FORMS.md new file mode 100644 index 0000000..7a1e07b --- /dev/null +++ b/docs/Chapters/3-CANONICAL-FORMS.md @@ -0,0 +1,67 @@ +# Canonical Forms + +In order to see if we are in one of these canonical forms, just write the +equations from the block diagram, and find the associated $S(A, B, C, D)$. + +> [!TIP] +> In order to find a rough diagram, use +> [Horner Factorization](MODERN-CONTROL.md/#horner-factorization) to find +> $a_i$ values. Then put all the $b_i$ to the right integrator by shifting them +> as many left places, starting from the rightmost, for the number of +> associated $s$ + +## Control Canonical Form +It is in such forms when: +$$ +A = \begin{bmatrix} +- a_1 & -a_2 & -a_3 & \dots & -a_{n-1} &-a_n\\ +1 & 0 & 0 & \dots & 0 & 0\\ +0 & 1 & 0 & \dots & 0 & 0\\ +\dots & \dots & \dots & \dots & \dots \\ +0 & 0 & 0 & \dots & 1 & 0 +\end{bmatrix} + +B = \begin{bmatrix} +1 \\ 0 \\ \dots \\ \dots \\ 0 +\end{bmatrix} + +C = \begin{bmatrix} +b_1 & b_2 & \dots & b_n +\end{bmatrix} + +D = \begin{bmatrix} +0 +\end{bmatrix} +$$ + +## Modal Canonical Forms +> [!CAUTION] +> This form is the most difficult to find, as this varies drastically in cases +> of double roots +> +$$ +A = \begin{bmatrix} +- a_1 & 0 & 0 & \dots & 0\\ +0 & -a_2 & 0 & \dots & 0\\ +0 & 0 & -a_3 & \dots & 0\\ +\dots & \dots & \dots & \dots & \dots \\ +0 & 0 & 0 & 0 & -a_n +\end{bmatrix} + +B = \begin{bmatrix} +1 \\ 1 \\ \dots \\ \dots \\ 1 +\end{bmatrix} + +C = \begin{bmatrix} +b_1 & b_2 & \dots & b_n +\end{bmatrix} + +D = \begin{bmatrix} +0 +\end{bmatrix} +$$ + +## Observable Canonical Form + + +[^reference-input-pole-allocation]: [MIT | 06 January 2025 | pg. 2](https://ocw.mit.edu/courses/16-30-feedback-control-systems-fall-2010/c553561f63feaa6173e31994f45f0c60_MIT16_30F10_lec11.pdf) \ No newline at end of file diff --git a/docs/Chapters/4-REACHABILITY-AND-OBSERVABILITY.md b/docs/Chapters/4-REACHABILITY-AND-OBSERVABILITY.md new file mode 100644 index 0000000..dd21f29 --- /dev/null +++ b/docs/Chapters/4-REACHABILITY-AND-OBSERVABILITY.md @@ -0,0 +1,140 @@ +# Reachability and Observability + +## Reachability +While in the non linear world, we can solve a `system` +***numerically***, through an `iterative-approach`: +$$ +\begin{align*} +\dot{x}(t) &= f(x(t), u(t)) && t \in \R \\ +x(k+1) &= f(x(k), u(k)) && t \in \N +\end{align*} +$$ + +In the linear world, we can do this ***analitically***: +> [!TIP] +> We usually consider $x(0) = 0$ +$$ +\begin{align*} +x(1) &= Ax(0) + Bu(0) \\ +x(2) &= Ax(1) + Bu(1) &&= A^{2}x(0) + ABu(0) + Bu(1) \\ +x(3) &= Ax(2) + Bu(2) &&= A^{3}x(0) + A^{2}Bu(0) + ABu(1) + Bu(2) \\ +\dots \\ +x(k) &= Ax(k-1) + Bu(k-1) &&= +\underbrace{A^{k}x(0)}_\text{Free Dynamic} + +\underbrace{A^{k-1}Bu(0) + \dots + ABu(k-2) + Bu(k-1) } +_\text{Forced Dynamic} \\[40pts] + +x(k) &= \begin{bmatrix} +B & AB & \dots & A^{k-2}B & A^{k-1}B +\end{bmatrix} + +\begin{bmatrix} +u(k-1) \\ u(k-2) \\ \dots \\ u(1) \\ u(0) +\end{bmatrix} +\end{align*} +$$ + +Now, there's a relation between the determinant and the matrix containing +$A$ and $B$: + +$$ +\begin{align*} + +&p_c(s) = det(sI -A) = +s^n + a_{n-1} s^{n-1} + a_{n-2}s^{n - 2} + \dots + a_1s + a_0 = 0 +\\[10pt] + +&\text{Apply Caley-Hamilton theorem:} \\ +&p_c(A) = A^{n} + a_{n-1}A^{n_1} + \dots + a_1A + a_0 = 0\\[10pt] + +&\text{Remember $G(s)$ formula and multiply $p_c(A)$ for $B$:} \\ +&p_c(A)B = A^{n}B + a_{n-1}A^{n_1}B + \dots + a_1AB + a_0B = 0 \rightarrow \\ + +&p_c(A)B = a_{n-1}A^{n_1}B + \dots + a_1AB + a_0B = -A^{n}B +\end{align*} +$$ + +All of these makes us conclude something about the Kallman +Controllability Matrix: +$$ +K_c = \begin{bmatrix} +B & AB & \dots & A^{k-2}B & A^{k-1}B +\end{bmatrix} +$$ + +Moreover, $x(n) \in range(K_c)$ and $range(K_c)$ is said +`reachable space`.\ +In particular if $rank(K_c) = n \rightarrow range(K_c) = \R^{n}$ this +is `fully reachable` or `controllable` +> [!TIP] +> Some others use `non-singularity` instead of the $range()$ definition + + +> [!NOTE] +> On the Franklin Powell there's another definition to $K_c$ that +> comes from the fact that we needed to find a way to transform +> ***any*** `realization` into the +> [`Control Canonical Form`](./CANONICAL-FORMS.md/#control-canonical-form) +> + +## Observability +This is the capability of being able to deduce the `initial state` by just +observing the `output`. + +Let's focus on the $y(t)$ part: +$$ +y(t) = +\underbrace{Cx(t)}_\text{Free Output} + +\underbrace{Du(t)}_\text{Forced Output} +$$ + +Assume that $u(t) = 0$: +$$ +\begin{align*} +& y(0) = Cx(0) && x(0) = x(0) \\ +& y(1) = Cx(1) && x(1) = Ax(0) && +\text{Since $u(t) = 0 \rightarrow Bu(t) = 0$} \\ +& y(2) = Cx(2) && x(2) = A^2x(0) \\ +& \vdots && \vdots \\ +&y(n) = Cx(n) && x(n) = A^nx(0) \rightarrow \\ +\rightarrow &y(n) = CA^nx(0) +\end{align*} +$$ + +Now we have that: +$$ +\begin{align*} +\vec{y} = &\begin{bmatrix} +C \\ +CA \\ +\vdots \\ +CA^{n} +\end{bmatrix} x(0) \rightarrow \\ + +\rightarrow x(0) = &\begin{bmatrix} +C \\ +CA \\ +\vdots \\ +CA^{n} +\end{bmatrix}^{-1}\vec{y} \rightarrow \\ + +\rightarrow x(0) = & \frac{Adj(K_o)}{det(K_o)} \vec{y} +\end{align*} +$$ + +For the same reasons as before, we can use Caley-Hamilton here too, also, we can see that if $K_o$ is `singular`, there can't be an inverse. + +As before, $K_o$ is such a matrix that allows us to see if there exists a +[`Canonical Observable Form`](CANONICAL-FORMS.md/#observable-canonical-form) + +The `non-observable-space` is equal to: +$$ +X_{no} = Kern(K_o) : \left\{ K_ox = 0 | x \in X\right\} +$$ + +## Decomposition of these spaces +The space of possible points is $X$ and is equal to +$X = X_r \bigoplus X_{r}^{\perp} = X_r \bigoplus X_{nr}$ + +Analogously we can do the same with the observable spaces +$X = X_no \bigoplus X_{no}^{\perp} = X_no \bigoplus X_{o}$ \ No newline at end of file diff --git a/docs/Chapters/5-STATE-FEEDBACK.md b/docs/Chapters/5-STATE-FEEDBACK.md new file mode 100644 index 0000000..a04f83e --- /dev/null +++ b/docs/Chapters/5-STATE-FEEDBACK.md @@ -0,0 +1,104 @@ +# State Feedback + +## State Feedback +When you have your $G(s)$, just put poles where you want them to be and compute the right $k_i$. + +What we are doing is to put $u(t) = -Kx(t)$, feeding back the `state` to the +`system`. + +> [!WARNING] +> While $K$ matrix is controllable, the A matrix is equivalent to our plant, so +> it's impossible to change $a_i$ without changing the `system` + +> [!CAUTION] +> We are doing some oversimplifications here, but this can't be used as formal +> proof for whatever we are saying. To see more, look at +> [Ackerman's formula](https://en.wikipedia.org/wiki/Ackermann%27s_formula). +> +> However is it possible to put a fictional reference input to make everything +> go back to a similar proof for the +> characteristic equation[^reference-input-pole-allocation] + + +While it is possible to allocate poles in each form, the Canonical Control +one makes it very easy to accomplish this task: + +$$ +A = \begin{bmatrix} +- a_1 \textcolor{#ff8382}{-k_1}& -a_2 \textcolor{#ff8382}{-k_2} +& -a_3 \textcolor{#ff8382}{-k_3}& \dots +& -a_{n-1}\textcolor{#ff8382}{-k_{n-1}} + &-a_n \textcolor{#ff8382}{-k_n}\\ +1 & 0 & 0 & \dots & 0 & 0\\ +0 & 1 & 0 & \dots & 0 & 0\\ +\dots & \dots & \dots & \dots & \dots \\ +0 & 0 & 0 & \dots & 1 & 0 +\end{bmatrix} +$$ + +This changes our initial considerations, however. The new Characteristi Equation +becomes: +$$ +det\left(sI - (A - BK)\right) +$$ + +## State Observer +What happens if we have not enough sensors to get the state in +`realtime`? + +> [!NOTE] +> Measuring the state involves a sensor, which most of the times is +> either inconvenient to place because of space, or inconvenient +> economically speaking + +In this case we `observe` our output to `estimate` our state +($\hat{x}$). THis new state will be used in our $G_c$ block: + +$$ +\dot{\hat{x}} = A\hat{x} + Bu + L(\hat{y} - y) = A\hat{x} + Bu + +LC(\hat{x} - x) +$$ + +Since we are estimating our state, we need the estimator to be fast, +**at least 6 times fater** than our `plant`, and $u = -K\hat{x}$. + +Let's compute the error we introduce in our system: + +$$ +\begin{align*} +e &= x - \hat{x} \rightarrow \\ +\rightarrow \dot{e} &= \dot{x} - \dot{\hat{x}} \rightarrow\\ + +&\rightarrow Ax - BK\hat{x} - A\hat{x} + BK\hat{x} - LCe \rightarrow\\ +&\rightarrow -Ae - LCe \rightarrow\\ +&\rightarrow eig(-A-LC) +\end{align*} +$$ + +## Making a Controller +So, this is how we will put all of these blocks saw until now. +![block diagram](..\Images\State-Feedback\block-diagram.png) + +From this diagram we can deduce immediately that to us our input is $y$ +and our output is $u$. By treating the blue part as a `black box`, we can +say that: +$$ +\begin{cases} +\dot{\hat{x}} = A\hat{x} - BK\hat{x} + LC\hat{x} - Ly \\ +u = -K\hat{x} +\end{cases} +$$ + +So our $S(A_c, B_c, C_c, D_c)$ is: + +$$ +\begin{align*} +&A_c = A_p - B_pK + LC_p \\ +&B_c = -L \\ +&C_c = -K \\ +&D_c = 0 \\ +\end{align*} +$$ + +and so, you just need to substitute these matrices to the equation of the +$G_p(s)$ and you get you controller \ No newline at end of file diff --git a/docs/Chapters/CONGESTION-AVOIDANCE.md b/docs/Chapters/CONGESTION-AVOIDANCE.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/Chapters/CRYPTOGRAPHY-WITH-STATE-OBSERVER.md b/docs/Chapters/CRYPTOGRAPHY-WITH-STATE-OBSERVER.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/Chapters/Examples/EXAMPLE-3.md b/docs/Chapters/Examples/EXAMPLE-3.md new file mode 100644 index 0000000..204db1d --- /dev/null +++ b/docs/Chapters/Examples/EXAMPLE-3.md @@ -0,0 +1,132 @@ +# Example 3 + +## Double Mass Cart + +![double mass cart](./../../Images/Examples/Example-3/double-cart.png) + +### Formulas + +- Resulting forces for cart 1:\ +$ +m_1 \ddot{p}_1 = k_2(p_2 - p_1) + b_2( \dot{p}_2 - \dot{p}_1) - + k_1 p_1 - b_1 \dot{p}_1 +$ + +- Resulting forces for cart 2:\ +$ +m_2 \ddot{p}_2 = F - k_2(p_2 - p_1) - b_2( \dot{p}_2 - \dot{p}_1) +$ + +### Reasoning +We now have 2 different accelerations. The highest order of derivatives is 2 for +2 variables, hence we need 4 variables in the `state`: + +$$ +x = \begin{bmatrix} +x_1 = p_1\\ +x_2 = p_2\\ +x_3 = \dot{p}_1\\ +x_4 = \dot{p}_2 +\end{bmatrix} + +\dot{x} = \begin{bmatrix} +\dot{x}_1 = \dot{p}_1 = x_3 \\ +\dot{x}_2 = \dot{p}_2 = x_4\\ +\dot{x}_3 = \ddot{p}_1 = + \frac{1}{m_1} \left[ k_2(x_2 - x_1) + b_2( x_4 - x_3) - + k_1 x_1 - b_1 x_3 \right]\\ +\dot{x}_4 = \ddot{p}_2 = + \frac{1}{m_2} \left[ F - k_2(x_2 - x_1) - b_2( x_4 - x_3) \right]\\ +\end{bmatrix} +$$ + +Let's write our $S(A, B, C, D)$: +$$ +A = \begin{bmatrix} +0 & 0 & 1 & 0 \\ +0 & 0 & 0 & 1 \\ +% 3rd row +- \frac{k_2 - k_1}{m_1} & +\frac{k_2}{m_1} & +-\frac{b_2 + b_1}{m_1} & +\frac{b_2}{m_1} \\ +% 4th row +\frac{k_2}{m_12} & +- \frac{k_2}{m_2} & +\frac{b_2}{m_2} & +- \frac{b_2}{m_2} \\ +\end{bmatrix} + +B = \begin{bmatrix} +0 \\ +0 \\ 0 \\ 1 +\end{bmatrix} + +C = \begin{bmatrix} +1 & 0 & 0 & 0 \\ +0 & 1 & 0 & 0 +\end{bmatrix} + +D = \begin{bmatrix} +0 +\end{bmatrix} +$$ + + +## Suspended Mass + + +> [!NOTE] +> For those of you the followed CNS course, refer to professor +> PDF for this excercise, as it has some unclear initial conditions +> +> However, in the formulas section, I'll take straight up his own + +![suspended mass](./../../Images/Examples/Example-3/suspended-mass.png) + +### Formulas + +- Resulting forces for mass:\ +$ +m \ddot{p} = -k(p - r) -b(\dot{p} - \dot{r}) +$ + +### Reasoning + + +$$ +x = \begin{bmatrix} +x_1 = p \\ +x_2 = \dot{x}_1 +\end{bmatrix} + +\dot{x} = \begin{bmatrix} +\dot{x}_1 = x_2 \\ +\dot{x}_2 = \frac{1}{m} \left[-k(x_1 - r) -b(x_2 - \dot{r}) \right] +\end{bmatrix} +$$ + + +> [!WARNING] +> Info here are wrong + +Let's write our $S(A, B, C, D)$: +$$ +A = \begin{bmatrix} +0 & 1\\ +-\frac{k}{m} & - \frac{b}{m} +\end{bmatrix} + +B = \begin{bmatrix} +0 \\ +\frac{k + sb}{m} +\end{bmatrix} + +C = \begin{bmatrix} +1 & 0 +\end{bmatrix} + +D = \begin{bmatrix} +0 & 0 +\end{bmatrix} +$$ \ No newline at end of file diff --git a/docs/Chapters/FEEDBACK-LINEARIZATION.md b/docs/Chapters/FEEDBACK-LINEARIZATION.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/Chapters/KALLMAN-FILTER.md b/docs/Chapters/KALLMAN-FILTER.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/Chapters/MODERN-CONTROL.md b/docs/Chapters/MODERN-CONTROL.md deleted file mode 100644 index 213bbf2..0000000 --- a/docs/Chapters/MODERN-CONTROL.md +++ /dev/null @@ -1,98 +0,0 @@ -# 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/Chapters/SMITH-PREDICTOR.md b/docs/Chapters/SMITH-PREDICTOR.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/Chapters/VIDEO-STREAMING.md b/docs/Chapters/VIDEO-STREAMING.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/Formularies/CONTROL-FORMULARY.md b/docs/Formularies/CONTROL-FORMULARY.md new file mode 100644 index 0000000..0e9e70e --- /dev/null +++ b/docs/Formularies/CONTROL-FORMULARY.md @@ -0,0 +1,35 @@ +# Control Formulary +## Settling time +$ +T_s = \frac{\ln(a_{\%})}{\zeta \omega_{n}} +$ + +- $\zeta$ := Damping ratio +- $\omega_{n}$ := Natural frequency + +## Overshoot +$ +\mu_{p}^{\%} = 100 e^{ + \left( + \frac{- \zeta \pi}{\sqrt{1 - \zeta^{2}}} + \right) +} +$ + +## Reachable Space +$X_r = Span(K_c)$ + +$X = X_r \bigoplus X_{r}^{\perp} = X_r \bigoplus X_{nr}$ + +> [!TIP] +> Since $X_{nr} = X_r^{\perp}$ we can find a set of perpendicular +> vectors by finding $Ker(X_r^{T})$ + +## Non Observable Space +$X_no = Kern(K_o)$ + +$X = X_no \bigoplus X_{no}^{\perp} = X_no \bigoplus X_{o}$ + +> [!TIP] +> Since $X_{o} = X_no^{\perp}$ we can find a set of perpendicular +> vectors by finding $Ker(X_{no}^{T})$ \ No newline at end of file diff --git a/docs/Formularies/GEOMETRY-FORMULARY.md b/docs/Formularies/GEOMETRY-FORMULARY.md new file mode 100644 index 0000000..9593b14 --- /dev/null +++ b/docs/Formularies/GEOMETRY-FORMULARY.md @@ -0,0 +1,49 @@ +# Geometry Formulary + +## Inverse of a Matrix +$A^{-1} = \frac{1}{det(A)} Adj(A)$ + +## Adjugate Matrix +The adjugate of a matrix $A$ is the `transpose` of the `cofactor matrix`:\ +$Adj(A) = C^{T}$ + +### $(i-j)$-minor (AKA $M_{ij}$) +$M_{ij}$ := Determinant of the matrix $B$ got by removing the +***$i$-row*** and the ***$j$-column*** from matrix $A$ + +### Cofactors +$C$ is the matrix of `cofactors` of a matrix $A$ where all the elements $c_{ij}$ +are defined like this:\ +$ +c_{ij} = \left( -1\right)^{i + j}M_{ij} +$ + +## Eigenvalues +By starting from the definition of `eigenvectors`:\ +$A\vec{v} = \lambda\vec{v}$ + +As we can see, the vector $\vec{v}$ was unaffected by this matrix +multiplication appart from a scaling factor $\lambda$, called `eigenvalue` + +By rewriting this formula we get:\ +$ +\left(A - \lambda I\right)\vec{v} = 0 +$ + +This is solved for:\ +$\det(A- \lambda I) = 0$ + +> [!NOTE] +> If the determinant is 0, then $(A - \lambda I )$ is not invertible, so +> we can't solve the previous equation by using the trivial solution (which +> can't be taken into account since $\vec{v}$ is not $0$ by definition) + +## Caley-Hamilton +Each square matrix over a `commutative ring` satisfies its own +characteristic equation $det(\lambda I - A)$ + +> [!TIP] +> In other words, once found the characteristic equation, we can +> substitute the ***unknown*** variable $\lambda$ with the matrix itself +> (***known***), +> powered to the correspondent power \ No newline at end of file diff --git a/docs/Formularies/PHYSICS-FORMULARY.md b/docs/Formularies/PHYSICS-FORMULARY.md new file mode 100644 index 0000000..d134818 --- /dev/null +++ b/docs/Formularies/PHYSICS-FORMULARY.md @@ -0,0 +1,37 @@ +# Physics Formulary + +> [!TIP] +> +> You'll often see $\vec{v}$ and $\vec{\dot x}$, and $\vec{a}$ and +> $\vec{\ddot{x}}$. +> +> These are equal, but the latter forms, express better the relation +> between state space variables + +## Hooke's Law (AKA Spring Formula) +$\vec{F} = -k\vec{x}$ +- $k$: Spring Constant +- $\vec{x}$: vector of spring stretch from rest position + +## Fluid drag +$\vec{F_D} = \frac{1}{2}b\vec{v}^2C_{D}A$ +- $b$: density of fluid +- $v$: speed of object ***relative*** to the fluid +- $C_D$: drag coefficient +- $A$: cross section area + +### Stokes Drag +$\vec{F_D} = -6 \pi R\mu \vec{v}$ +- $\mu$: dynamic viscosity +- $R$: radius (in meters) of the sphere +- $\vec{v}$: flow velocity ***relative*** to the fluid + +### Simplified Fluid Drag (Simplified Stokes Equation) +$\vec{F_D} = -b \vec{v}$ +- $b$: simplified coefficient that has everything else +- $\vec{v}$: flow velocity ***relative*** to the fluid +## + +## Newton force + + diff --git a/docs/Images/.excalidraw/Examples/Example-3/double-carts.excalidraw.json b/docs/Images/.excalidraw/Examples/Example-3/double-carts.excalidraw.json new file mode 100644 index 0000000..735443a --- /dev/null +++ b/docs/Images/.excalidraw/Examples/Example-3/double-carts.excalidraw.json @@ -0,0 +1,2512 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", + "elements": [ + { + "type": "rectangle", + "version": 123, + "versionNonce": 1241240674, + "isDeleted": false, + "id": "ciouw0uH7co_LxETShjiF", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 158.25, + "y": 223.87577518268256, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 257.5, + "height": 87, + "seed": 295405502, + "groupIds": [ + "-RoQUlItiUFpZ-FgcfFck" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "4cZjbTsmcdzyzaEKvPIcC" + } + ], + "updated": 1736177106129, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 65, + "versionNonce": 1134795454, + "isDeleted": false, + "id": "4cZjbTsmcdzyzaEKvPIcC", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 272.4820022583008, + "y": 249.87577518268256, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 29.035995483398438, + "height": 35, + "seed": 378527742, + "groupIds": [ + "-RoQUlItiUFpZ-FgcfFck" + ], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1736177106129, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "M1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ciouw0uH7co_LxETShjiF", + "originalText": "M1", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "ellipse", + "version": 94, + "versionNonce": 1845950498, + "isDeleted": false, + "id": "GcwOiAmNa3ee0tYkiBaxY", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 184.25, + "y": 288.87577518268256, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54, + "height": 54, + "seed": 1674522686, + "groupIds": [ + "-RoQUlItiUFpZ-FgcfFck" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": null, + "updated": 1736177106129, + "link": null, + "locked": false + }, + { + "type": "ellipse", + "version": 157, + "versionNonce": 337482494, + "isDeleted": false, + "id": "zY9VH--DJOSu2kDSqmAXW", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 327.25, + "y": 288.87577518268256, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54, + "height": 54, + "seed": 624588926, + "groupIds": [ + "-RoQUlItiUFpZ-FgcfFck" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": null, + "updated": 1736177106129, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 215, + "versionNonce": 1798210366, + "isDeleted": false, + "id": "Po9aXTVXqR2VaKPwwAeOT", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 578.25, + "y": 223.87577518268256, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 257.5, + "height": 87, + "seed": 1680375166, + "groupIds": [ + "EIaTo7GcUXVOyo2hDoUTX" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "qKghHshB1ZbanykULWlxy", + "type": "arrow" + } + ], + "updated": 1736177106129, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 161, + "versionNonce": 123525026, + "isDeleted": false, + "id": "3aT5yAdqDxh6hifctKNBb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 686.3080062866211, + "y": 249.87577518268256, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 41.38398742675781, + "height": 35, + "seed": 2138578366, + "groupIds": [ + "EIaTo7GcUXVOyo2hDoUTX" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736177106129, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "M2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "M2", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "ellipse", + "version": 186, + "versionNonce": 1261923198, + "isDeleted": false, + "id": "L24AtwwjG4_JJ8eGWNB-E", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 604.25, + "y": 288.87577518268256, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54, + "height": 54, + "seed": 141145598, + "groupIds": [ + "EIaTo7GcUXVOyo2hDoUTX" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736177106129, + "link": null, + "locked": false + }, + { + "type": "ellipse", + "version": 249, + "versionNonce": 921015138, + "isDeleted": false, + "id": "fqsOLoZg3fX7w_Ip0g-0M", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 747.25, + "y": 288.87577518268256, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54, + "height": 54, + "seed": 1744717374, + "groupIds": [ + "EIaTo7GcUXVOyo2hDoUTX" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736177106129, + "link": null, + "locked": false + }, + { + "type": "line", + "version": 253, + "versionNonce": 895538978, + "isDeleted": false, + "id": "wtE_kH5CM_fI046uDqFNg", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 416.1306331484136, + "y": 249.25, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 46, + "height": 0, + "seed": 93752894, + "groupIds": [ + "puWt-aPJ0lHnc70kNeWcG" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": null, + "updated": 1736177106130, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 46, + 0 + ] + ] + }, + { + "type": "line", + "version": 254, + "versionNonce": 1863656446, + "isDeleted": false, + "id": "cw8I1bsJ7WD6-C-EU1xgi", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 575.6306331484136, + "y": 249.25, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 41, + "height": 0, + "seed": 308680318, + "groupIds": [ + "puWt-aPJ0lHnc70kNeWcG" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": null, + "updated": 1736177106130, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -41, + 0 + ] + ] + }, + { + "type": "freedraw", + "version": 294, + "versionNonce": 322806498, + "isDeleted": false, + "id": "QqFGO18rbhHkBnGPtv5q2", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 462.6306331484136, + "y": 250.75, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 72.5, + "height": 17.5, + "seed": 614110910, + "groupIds": [ + "puWt-aPJ0lHnc70kNeWcG" + ], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1736177106130, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1, + 0 + ], + [ + 4.5, + -2.5 + ], + [ + 6.5, + -3 + ], + [ + 7.5, + -4 + ], + [ + 8, + -6 + ], + [ + 9.5, + -6 + ], + [ + 10, + -6 + ], + [ + 11.5, + -4.5 + ], + [ + 11.5, + -2.5 + ], + [ + 14, + 0 + ], + [ + 14.5, + 1 + ], + [ + 15, + 1 + ], + [ + 16.5, + -1.5 + ], + [ + 17.5, + -4 + ], + [ + 19.5, + -5.5 + ], + [ + 20, + -7 + ], + [ + 20.5, + -7.5 + ], + [ + 22, + -8.5 + ], + [ + 22.5, + -9 + ], + [ + 22.5, + -9.5 + ], + [ + 23, + -10 + ], + [ + 23, + -8.5 + ], + [ + 23, + -6.5 + ], + [ + 25, + -3 + ], + [ + 27, + 1.5 + ], + [ + 27.5, + 2.5 + ], + [ + 28.5, + 2.5 + ], + [ + 30, + 0.5 + ], + [ + 32.5, + -1.5 + ], + [ + 35.5, + -4 + ], + [ + 36, + -6 + ], + [ + 36.5, + -6 + ], + [ + 36.5, + -5.5 + ], + [ + 38.5, + -2.5 + ], + [ + 39.5, + 1 + ], + [ + 39.5, + 2.5 + ], + [ + 40, + 4 + ], + [ + 40.5, + 5 + ], + [ + 41, + 5.5 + ], + [ + 42.5, + 3.5 + ], + [ + 43.5, + 1 + ], + [ + 45.5, + -2 + ], + [ + 47, + -4 + ], + [ + 47, + -5.5 + ], + [ + 47, + -6 + ], + [ + 47.5, + -6 + ], + [ + 47.5, + -4.5 + ], + [ + 49, + -0.5 + ], + [ + 50, + 2 + ], + [ + 51.5, + 6 + ], + [ + 52, + 7.5 + ], + [ + 52.5, + 7.5 + ], + [ + 55, + 4.5 + ], + [ + 56, + 2 + ], + [ + 58, + -0.5 + ], + [ + 58.5, + -1 + ], + [ + 59, + -1.5 + ], + [ + 59.5, + 0 + ], + [ + 61, + 3 + ], + [ + 61, + 4.5 + ], + [ + 61.5, + 6.5 + ], + [ + 62, + 7 + ], + [ + 62.5, + 7 + ], + [ + 63, + 7 + ], + [ + 63.5, + 4 + ], + [ + 65.5, + -0.5 + ], + [ + 67, + -3 + ], + [ + 68, + -4.5 + ], + [ + 68, + -5 + ], + [ + 68.5, + -5.5 + ], + [ + 68.5, + -7 + ], + [ + 69, + -5.5 + ], + [ + 70.5, + -2 + ], + [ + 71.5, + 0 + ], + [ + 72, + 0.5 + ], + [ + 72.5, + 0.5 + ], + [ + 72.5, + 0.5 + ] + ], + "lastCommittedPoint": null, + "simulatePressure": true, + "pressures": [] + }, + { + "type": "text", + "version": 243, + "versionNonce": 778908094, + "isDeleted": false, + "id": "bBfoCTxuoC8A3bcE2zjrP", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 453.1306331484136, + "y": 201.25, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 23.97998046875, + "height": 25, + "seed": 886378238, + "groupIds": [ + "puWt-aPJ0lHnc70kNeWcG" + ], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1736177174974, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "k2", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "k2", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "line", + "version": 159, + "versionNonce": 2064316066, + "isDeleted": false, + "id": "P78TNWInf2RE1yiZ_-axe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 414.6306331484136, + "y": 286.25, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 84, + "height": 0, + "seed": 2140569406, + "groupIds": [ + "0dP-g9pISRssEBfanjqbQ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": null, + "updated": 1736177106130, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 84, + 0 + ] + ] + }, + { + "type": "freedraw", + "version": 162, + "versionNonce": 1212071038, + "isDeleted": false, + "id": "80NeZg6QR3Fd0lfUUAGq6", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 478.1306331484136, + "y": 267.75, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 43.5, + "height": 42.5, + "seed": 155182974, + "groupIds": [ + "0dP-g9pISRssEBfanjqbQ" + ], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1736177106130, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 6, + 0 + ], + [ + 8, + 0 + ], + [ + 19, + 2 + ], + [ + 27.5, + 2.5 + ], + [ + 35, + 2.5 + ], + [ + 39, + 4 + ], + [ + 42, + 4 + ], + [ + 43, + 4 + ], + [ + 43.5, + 5.5 + ], + [ + 43.5, + 9.5 + ], + [ + 42.5, + 13.5 + ], + [ + 41.5, + 15.5 + ], + [ + 41.5, + 16 + ], + [ + 41.5, + 17 + ], + [ + 41.5, + 18 + ], + [ + 41.5, + 18.5 + ], + [ + 41.5, + 19 + ], + [ + 41.5, + 20.5 + ], + [ + 41.5, + 21.5 + ], + [ + 40.5, + 25 + ], + [ + 39.5, + 27.5 + ], + [ + 39.5, + 29 + ], + [ + 39.5, + 31 + ], + [ + 39, + 36 + ], + [ + 38.5, + 37 + ], + [ + 38.5, + 37.5 + ], + [ + 38.5, + 38 + ], + [ + 38.5, + 39.5 + ], + [ + 38.5, + 40 + ], + [ + 38.5, + 40.5 + ], + [ + 37.5, + 42 + ], + [ + 37, + 42.5 + ], + [ + 34.5, + 42.5 + ], + [ + 33, + 42.5 + ], + [ + 29, + 42.5 + ], + [ + 24.5, + 42.5 + ], + [ + 20, + 42.5 + ], + [ + 16, + 42.5 + ], + [ + 10, + 42.5 + ], + [ + 7.5, + 42.5 + ], + [ + 6.5, + 42.5 + ], + [ + 6.5, + 42.5 + ] + ], + "lastCommittedPoint": null, + "simulatePressure": true, + "pressures": [] + }, + { + "type": "freedraw", + "version": 145, + "versionNonce": 1836569186, + "isDeleted": false, + "id": "bCncPeFKqQ9FdW7VD9peT", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 505.1306331484136, + "y": 279.75, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 5.5, + "height": 21.5, + "seed": 571623358, + "groupIds": [ + "0dP-g9pISRssEBfanjqbQ" + ], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1736177106130, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.5, + 1 + ], + [ + 0, + 5 + ], + [ + -1, + 7.5 + ], + [ + -1.5, + 10.5 + ], + [ + -1.5, + 13 + ], + [ + -3.5, + 14.5 + ], + [ + -3.5, + 15 + ], + [ + -3.5, + 16 + ], + [ + -3.5, + 17.5 + ], + [ + -3.5, + 18 + ], + [ + -3.5, + 16 + ], + [ + -3.5, + 14.5 + ], + [ + -3.5, + 12 + ], + [ + -3.5, + 11 + ], + [ + -3, + 8.5 + ], + [ + -1, + 5.5 + ], + [ + -1, + 5 + ], + [ + -0.5, + 3.5 + ], + [ + 0, + 1.5 + ], + [ + 0, + 0.5 + ], + [ + 0.5, + 0 + ], + [ + 0.5, + -2 + ], + [ + 2, + -3.5 + ], + [ + 0, + 0 + ] + ], + "lastCommittedPoint": null, + "simulatePressure": true, + "pressures": [] + }, + { + "type": "line", + "version": 152, + "versionNonce": 611220670, + "isDeleted": false, + "id": "81mmw7uzXoZ2-YWbY4naA", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 520.6306331484136, + "y": 282.75, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 54, + "height": 0, + "seed": 1781440510, + "groupIds": [ + "0dP-g9pISRssEBfanjqbQ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": null, + "updated": 1736177106130, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 54, + 0 + ] + ] + }, + { + "type": "text", + "version": 213, + "versionNonce": 2102605346, + "isDeleted": false, + "id": "ilzv6h80nItNnuq9Z7oGh", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 437.1306331484136, + "y": 260.75, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 24.399978637695312, + "height": 50, + "seed": 1435889726, + "groupIds": [ + "0dP-g9pISRssEBfanjqbQ" + ], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1736177106130, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "b2\n", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "b2\n", + "lineHeight": 1.25, + "baseline": 43 + }, + { + "type": "line", + "version": 358, + "versionNonce": 354623714, + "isDeleted": false, + "id": "BSJgbAtzHs6Pt1-0T2pqM", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1.369366851586392, + "y": 249.25, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 46, + "height": 0, + "seed": 1188929662, + "groupIds": [ + "ztfG9mHgSuOsAvFniWRMO" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736177106130, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 46, + 0 + ] + ] + }, + { + "type": "line", + "version": 359, + "versionNonce": 449140286, + "isDeleted": false, + "id": "EbHNw_Xu_9iLO-59quSEF", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 158.1306331484136, + "y": 249.25, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 41, + "height": 0, + "seed": 898687166, + "groupIds": [ + "ztfG9mHgSuOsAvFniWRMO" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736177106130, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -41, + 0 + ] + ] + }, + { + "type": "freedraw", + "version": 399, + "versionNonce": 1603318946, + "isDeleted": false, + "id": "UDFGoscFriYnsLC94JxDz", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 45.13063314841361, + "y": 250.75, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 72.5, + "height": 17.5, + "seed": 611457278, + "groupIds": [ + "ztfG9mHgSuOsAvFniWRMO" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736177106130, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1, + 0 + ], + [ + 4.5, + -2.5 + ], + [ + 6.5, + -3 + ], + [ + 7.5, + -4 + ], + [ + 8, + -6 + ], + [ + 9.5, + -6 + ], + [ + 10, + -6 + ], + [ + 11.5, + -4.5 + ], + [ + 11.5, + -2.5 + ], + [ + 14, + 0 + ], + [ + 14.5, + 1 + ], + [ + 15, + 1 + ], + [ + 16.5, + -1.5 + ], + [ + 17.5, + -4 + ], + [ + 19.5, + -5.5 + ], + [ + 20, + -7 + ], + [ + 20.5, + -7.5 + ], + [ + 22, + -8.5 + ], + [ + 22.5, + -9 + ], + [ + 22.5, + -9.5 + ], + [ + 23, + -10 + ], + [ + 23, + -8.5 + ], + [ + 23, + -6.5 + ], + [ + 25, + -3 + ], + [ + 27, + 1.5 + ], + [ + 27.5, + 2.5 + ], + [ + 28.5, + 2.5 + ], + [ + 30, + 0.5 + ], + [ + 32.5, + -1.5 + ], + [ + 35.5, + -4 + ], + [ + 36, + -6 + ], + [ + 36.5, + -6 + ], + [ + 36.5, + -5.5 + ], + [ + 38.5, + -2.5 + ], + [ + 39.5, + 1 + ], + [ + 39.5, + 2.5 + ], + [ + 40, + 4 + ], + [ + 40.5, + 5 + ], + [ + 41, + 5.5 + ], + [ + 42.5, + 3.5 + ], + [ + 43.5, + 1 + ], + [ + 45.5, + -2 + ], + [ + 47, + -4 + ], + [ + 47, + -5.5 + ], + [ + 47, + -6 + ], + [ + 47.5, + -6 + ], + [ + 47.5, + -4.5 + ], + [ + 49, + -0.5 + ], + [ + 50, + 2 + ], + [ + 51.5, + 6 + ], + [ + 52, + 7.5 + ], + [ + 52.5, + 7.5 + ], + [ + 55, + 4.5 + ], + [ + 56, + 2 + ], + [ + 58, + -0.5 + ], + [ + 58.5, + -1 + ], + [ + 59, + -1.5 + ], + [ + 59.5, + 0 + ], + [ + 61, + 3 + ], + [ + 61, + 4.5 + ], + [ + 61.5, + 6.5 + ], + [ + 62, + 7 + ], + [ + 62.5, + 7 + ], + [ + 63, + 7 + ], + [ + 63.5, + 4 + ], + [ + 65.5, + -0.5 + ], + [ + 67, + -3 + ], + [ + 68, + -4.5 + ], + [ + 68, + -5 + ], + [ + 68.5, + -5.5 + ], + [ + 68.5, + -7 + ], + [ + 69, + -5.5 + ], + [ + 70.5, + -2 + ], + [ + 71.5, + 0 + ], + [ + 72, + 0.5 + ], + [ + 72.5, + 0.5 + ], + [ + 72.5, + 0.5 + ] + ], + "lastCommittedPoint": null, + "simulatePressure": true, + "pressures": [] + }, + { + "type": "text", + "version": 348, + "versionNonce": 1125135010, + "isDeleted": false, + "id": "wiB5QdCj50C1E_QnlCSnj", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 35.63063314841361, + "y": 201.25, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 15.159988403320312, + "height": 25, + "seed": 1875687998, + "groupIds": [ + "ztfG9mHgSuOsAvFniWRMO" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736177170109, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "k1", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "k1", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "line", + "version": 264, + "versionNonce": 1989529698, + "isDeleted": false, + "id": "j8gZuFJq09qC0u3t01e2P", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -2.869366851586392, + "y": 286.25, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 84, + "height": 0, + "seed": 1258441022, + "groupIds": [ + "GFvlC4-ZERXEeHjX11ESO" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736177106130, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 84, + 0 + ] + ] + }, + { + "type": "freedraw", + "version": 267, + "versionNonce": 1119313598, + "isDeleted": false, + "id": "ZK8UI0K-hJR9Q8EGhucV2", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 60.63063314841361, + "y": 267.75, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 43.5, + "height": 42.5, + "seed": 1218605438, + "groupIds": [ + "GFvlC4-ZERXEeHjX11ESO" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736177106130, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 6, + 0 + ], + [ + 8, + 0 + ], + [ + 19, + 2 + ], + [ + 27.5, + 2.5 + ], + [ + 35, + 2.5 + ], + [ + 39, + 4 + ], + [ + 42, + 4 + ], + [ + 43, + 4 + ], + [ + 43.5, + 5.5 + ], + [ + 43.5, + 9.5 + ], + [ + 42.5, + 13.5 + ], + [ + 41.5, + 15.5 + ], + [ + 41.5, + 16 + ], + [ + 41.5, + 17 + ], + [ + 41.5, + 18 + ], + [ + 41.5, + 18.5 + ], + [ + 41.5, + 19 + ], + [ + 41.5, + 20.5 + ], + [ + 41.5, + 21.5 + ], + [ + 40.5, + 25 + ], + [ + 39.5, + 27.5 + ], + [ + 39.5, + 29 + ], + [ + 39.5, + 31 + ], + [ + 39, + 36 + ], + [ + 38.5, + 37 + ], + [ + 38.5, + 37.5 + ], + [ + 38.5, + 38 + ], + [ + 38.5, + 39.5 + ], + [ + 38.5, + 40 + ], + [ + 38.5, + 40.5 + ], + [ + 37.5, + 42 + ], + [ + 37, + 42.5 + ], + [ + 34.5, + 42.5 + ], + [ + 33, + 42.5 + ], + [ + 29, + 42.5 + ], + [ + 24.5, + 42.5 + ], + [ + 20, + 42.5 + ], + [ + 16, + 42.5 + ], + [ + 10, + 42.5 + ], + [ + 7.5, + 42.5 + ], + [ + 6.5, + 42.5 + ], + [ + 6.5, + 42.5 + ] + ], + "lastCommittedPoint": null, + "simulatePressure": true, + "pressures": [] + }, + { + "type": "freedraw", + "version": 250, + "versionNonce": 1845589026, + "isDeleted": false, + "id": "YxA6ulSQNj1u8FtI3xwbP", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 87.63063314841361, + "y": 279.75, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 5.5, + "height": 21.5, + "seed": 680759742, + "groupIds": [ + "GFvlC4-ZERXEeHjX11ESO" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736177106130, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.5, + 1 + ], + [ + 0, + 5 + ], + [ + -1, + 7.5 + ], + [ + -1.5, + 10.5 + ], + [ + -1.5, + 13 + ], + [ + -3.5, + 14.5 + ], + [ + -3.5, + 15 + ], + [ + -3.5, + 16 + ], + [ + -3.5, + 17.5 + ], + [ + -3.5, + 18 + ], + [ + -3.5, + 16 + ], + [ + -3.5, + 14.5 + ], + [ + -3.5, + 12 + ], + [ + -3.5, + 11 + ], + [ + -3, + 8.5 + ], + [ + -1, + 5.5 + ], + [ + -1, + 5 + ], + [ + -0.5, + 3.5 + ], + [ + 0, + 1.5 + ], + [ + 0, + 0.5 + ], + [ + 0.5, + 0 + ], + [ + 0.5, + -2 + ], + [ + 2, + -3.5 + ], + [ + 0, + 0 + ] + ], + "lastCommittedPoint": null, + "simulatePressure": true, + "pressures": [] + }, + { + "type": "line", + "version": 257, + "versionNonce": 68736766, + "isDeleted": false, + "id": "7mo9j2sh5i4kskp_4Vx7N", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 103.13063314841361, + "y": 282.75, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 54, + "height": 0, + "seed": 1710664190, + "groupIds": [ + "GFvlC4-ZERXEeHjX11ESO" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736177106130, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 54, + 0 + ] + ] + }, + { + "type": "text", + "version": 320, + "versionNonce": 1970817854, + "isDeleted": false, + "id": "QUGwOcj4OSiqTqhOqFcyD", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 19.630633148413608, + "y": 260.75, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 15.579986572265625, + "height": 25, + "seed": 754369150, + "groupIds": [ + "GFvlC4-ZERXEeHjX11ESO" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736177180661, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "b1", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "b1", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "arrow", + "version": 137, + "versionNonce": 1126254398, + "isDeleted": false, + "id": "qKghHshB1ZbanykULWlxy", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 839.608070621295, + "y": 264.11030396015383, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 178, + "height": 0, + "seed": 1858877374, + "groupIds": [ + "cb1cihjeOYQfCWKafQTTR" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736177106130, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Po9aXTVXqR2VaKPwwAeOT", + "focus": -0.07506830396617772, + "gap": 3.8580706212950417 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 178, + 0 + ] + ] + }, + { + "type": "text", + "version": 85, + "versionNonce": 1877496738, + "isDeleted": false, + "id": "BwcIZjl9i7bVwNb-YNK5D", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 927.608070621295, + "y": 236.11030396015383, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 37.8399658203125, + "height": 25, + "seed": 1781174270, + "groupIds": [ + "cb1cihjeOYQfCWKafQTTR" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736177106130, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "F(t)", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "F(t)", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "id": "w0ez_em-4UiNrGUyJUsvt", + "type": "line", + "x": -6, + "y": 121.5, + "width": 0, + "height": 275.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1413959906, + "version": 97, + "versionNonce": 540127102, + "isDeleted": false, + "boundElements": null, + "updated": 1736177106130, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 275.5 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "Shk9IK5ZBsoaf_8aPiSDq", + "type": "arrow", + "x": -35.25, + "y": 343.25, + "width": 1083.7499999999995, + "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": 1446859554, + "version": 50, + "versionNonce": 639734498, + "isDeleted": false, + "boundElements": null, + "updated": 1736177114053, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1083.7499999999995, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "pv5AgZJNqJwB9sMFR6CU6", + "type": "line", + "x": 283.85714285714266, + "y": 321.64285714285705, + "width": 0, + "height": 46.428571428571445, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 595152958, + "version": 46, + "versionNonce": 1739676322, + "isDeleted": false, + "boundElements": null, + "updated": 1736177130706, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 46.428571428571445 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "yobStNGmcXyNhAXsV5IZj", + "type": "line", + "x": 704.5714285714283, + "y": 321.64285714285705, + "width": 0, + "height": 46.428571428571445, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 740278882, + "version": 125, + "versionNonce": 926729890, + "isDeleted": false, + "boundElements": null, + "updated": 1736177133271, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 46.428571428571445 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "hx5-2sHGu5tQIqFizGuZB", + "type": "text", + "x": 258.85714285714266, + "y": 375.2142857142856, + "width": 42.759979248046875, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 324077090, + "version": 37, + "versionNonce": 1689411554, + "isDeleted": false, + "boundElements": null, + "updated": 1736177161390, + "link": null, + "locked": false, + "text": "x1=0", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "x1=0", + "lineHeight": 1.25 + }, + { + "id": "RT3-LVAkKjqe6RwsNQYeQ", + "type": "text", + "x": 678.8571428571425, + "y": 378.7857142857142, + "width": 51.57997131347656, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1117617314, + "version": 30, + "versionNonce": 938664162, + "isDeleted": false, + "boundElements": null, + "updated": 1736177157074, + "link": null, + "locked": false, + "text": "x2=0", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "x2=0", + "lineHeight": 1.25 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/Images/.excalidraw/Examples/Example-3/suspended-mass.excalidraw.json b/docs/Images/.excalidraw/Examples/Example-3/suspended-mass.excalidraw.json new file mode 100644 index 0000000..4f084f7 --- /dev/null +++ b/docs/Images/.excalidraw/Examples/Example-3/suspended-mass.excalidraw.json @@ -0,0 +1,1564 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", + "elements": [ + { + "id": "XBvNWHsYI8pedQ7VAbNeq", + "type": "arrow", + "x": 320.25819853224516, + "y": 380.8830671435195, + "width": 0, + "height": 405.7230029600557, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 772339771, + "version": 516, + "versionNonce": 1082945653, + "isDeleted": false, + "boundElements": null, + "updated": 1736177805595, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -405.7230029600557 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "ZKFZAdUHPWIGsj_6yZeUJ", + "focus": -1.013333333333333, + "gap": 1.5 + }, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "ZKFZAdUHPWIGsj_6yZeUJ", + "type": "rectangle", + "x": 321.75819853224516, + "y": 268.12699553547594, + "width": 225.00000000000006, + "height": 114.50000000000003, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ced4da", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1497493, + "version": 180, + "versionNonce": 822656347, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "q78F8akdRtdmetquRdkyJ" + }, + { + "id": "XBvNWHsYI8pedQ7VAbNeq", + "type": "arrow" + } + ], + "updated": 1736177805595, + "link": null, + "locked": false + }, + { + "id": "q78F8akdRtdmetquRdkyJ", + "type": "text", + "x": 415.6682174531436, + "y": 312.87699553547594, + "width": 37.179962158203125, + "height": 25.000000000000004, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 732004405, + "version": 121, + "versionNonce": 1324390869, + "isDeleted": false, + "boundElements": null, + "updated": 1736177805595, + "link": null, + "locked": false, + "text": "Void", + "fontSize": 20.000000000000004, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "ZKFZAdUHPWIGsj_6yZeUJ", + "originalText": "Void", + "lineHeight": 1.25 + }, + { + "id": "kMWkme7YS2sfyPgbjKkLP", + "type": "freedraw", + "x": 429.75819853224516, + "y": 25.69629642520846, + "width": 0.00010000000000000003, + "height": 0.00010000000000000003, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ced4da", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2053699189, + "version": 59, + "versionNonce": 19484309, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.00010000000000000003, + -0.00010000000000000003 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 0.0001, + 0.0001 + ] + }, + { + "id": "bTowKr4TNl3DM9aAL1Qrt", + "type": "line", + "x": 428.75819853224516, + "y": 27.19629642520846, + "width": 32.00000000000001, + "height": 32.00000000000001, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ced4da", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 740044437, + "version": 78, + "versionNonce": 1082962933, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -32.00000000000001, + 32.00000000000001 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "bNiKsefe5q8wyVC_dKEuG", + "type": "line", + "x": 429.75819853224516, + "y": 27.69629642520846, + "width": 37.00000000000001, + "height": 31.000000000000007, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ced4da", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1703720539, + "version": 99, + "versionNonce": 2099014997, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 37.00000000000001, + 31.000000000000007 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "cthyHYdskuKiA_6q_w9aQ", + "type": "freedraw", + "x": 449.838827445671, + "y": 134.08321447289222, + "width": 38.00000000000001, + "height": 29.500000000000007, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ced4da", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "FarT4qYwQ4l7L17BAcsCy" + ], + "frameId": null, + "roundness": null, + "seed": 60922971, + "version": 138, + "versionNonce": 1982724789, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.5000000000000001, + 0 + ], + [ + -0.5000000000000001, + -2.5000000000000004 + ], + [ + -0.5000000000000001, + -4.500000000000001 + ], + [ + -0.5000000000000001, + -7.500000000000002 + ], + [ + -1.5000000000000004, + -10.500000000000002 + ], + [ + -1.5000000000000004, + -13.000000000000004 + ], + [ + -1.5000000000000004, + -17.000000000000004 + ], + [ + -1.5000000000000004, + -18.500000000000004 + ], + [ + -1.5000000000000004, + -19.000000000000004 + ], + [ + -1.5000000000000004, + -20.000000000000004 + ], + [ + -1.5000000000000004, + -22.500000000000004 + ], + [ + -1.5000000000000004, + -25.000000000000007 + ], + [ + -1.5000000000000004, + -26.000000000000007 + ], + [ + -1.5000000000000004, + -27.000000000000007 + ], + [ + -1.5000000000000004, + -27.500000000000007 + ], + [ + -1.5000000000000004, + -28.000000000000007 + ], + [ + -0.5000000000000001, + -28.000000000000007 + ], + [ + 2.5000000000000004, + -28.000000000000007 + ], + [ + 6.000000000000002, + -28.000000000000007 + ], + [ + 10.000000000000002, + -28.000000000000007 + ], + [ + 12.000000000000004, + -28.000000000000007 + ], + [ + 12.500000000000004, + -28.000000000000007 + ], + [ + 15.000000000000004, + -28.000000000000007 + ], + [ + 16.000000000000004, + -28.000000000000007 + ], + [ + 16.500000000000004, + -28.000000000000007 + ], + [ + 18.500000000000004, + -28.000000000000007 + ], + [ + 20.000000000000004, + -28.000000000000007 + ], + [ + 22.500000000000004, + -26.000000000000007 + ], + [ + 23.000000000000004, + -26.000000000000007 + ], + [ + 25.500000000000007, + -26.000000000000007 + ], + [ + 26.000000000000007, + -26.000000000000007 + ], + [ + 27.500000000000007, + -26.000000000000007 + ], + [ + 29.000000000000007, + -26.000000000000007 + ], + [ + 30.000000000000007, + -25.500000000000007 + ], + [ + 30.500000000000007, + -25.500000000000007 + ], + [ + 32.00000000000001, + -25.500000000000007 + ], + [ + 32.50000000000001, + -25.500000000000007 + ], + [ + 33.50000000000001, + -25.500000000000007 + ], + [ + 34.00000000000001, + -25.500000000000007 + ], + [ + 35.50000000000001, + -25.500000000000007 + ], + [ + 36.00000000000001, + -25.500000000000007 + ], + [ + 36.50000000000001, + -25.000000000000007 + ], + [ + 36.50000000000001, + -23.500000000000004 + ], + [ + 36.50000000000001, + -22.000000000000004 + ], + [ + 36.50000000000001, + -20.000000000000004 + ], + [ + 36.50000000000001, + -18.500000000000004 + ], + [ + 36.50000000000001, + -15.000000000000004 + ], + [ + 36.50000000000001, + -12.000000000000004 + ], + [ + 36.50000000000001, + -10.500000000000002 + ], + [ + 36.50000000000001, + -8.000000000000002 + ], + [ + 36.50000000000001, + -6.000000000000002 + ], + [ + 36.50000000000001, + -3.000000000000001 + ], + [ + 36.50000000000001, + -1.0000000000000002 + ], + [ + 36.50000000000001, + 1.0000000000000002 + ], + [ + 36.50000000000001, + 1.5000000000000004 + ], + [ + 36.50000000000001, + 1.5000000000000004 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 36.5, + -1.5 + ] + }, + { + "id": "uIOnxp0cGg-NCbLof9aw5", + "type": "freedraw", + "x": 459.338827445671, + "y": 128.08321447289222, + "width": 14.000000000000004, + "height": 0.5000000000000001, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ced4da", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "FarT4qYwQ4l7L17BAcsCy" + ], + "frameId": null, + "roundness": null, + "seed": 1457435803, + "version": 97, + "versionNonce": 1684462613, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.5000000000000004, + 0 + ], + [ + 3.000000000000001, + 0 + ], + [ + 4.000000000000001, + 0 + ], + [ + 5.500000000000001, + 0 + ], + [ + 6.500000000000002, + 0 + ], + [ + 7.000000000000002, + 0.5000000000000001 + ], + [ + 9.000000000000002, + 0.5000000000000001 + ], + [ + 9.500000000000002, + 0.5000000000000001 + ], + [ + 10.000000000000002, + 0.5000000000000001 + ], + [ + 10.500000000000002, + 0.5000000000000001 + ], + [ + 12.000000000000004, + 0.5000000000000001 + ], + [ + 12.500000000000004, + 0.5000000000000001 + ], + [ + 13.500000000000004, + 0.5000000000000001 + ], + [ + 14.000000000000004, + 0.5000000000000001 + ], + [ + 14.000000000000004, + 0.5000000000000001 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 14, + -0.5 + ] + }, + { + "id": "6rh--zHZHYY_ledu3KE8T", + "type": "line", + "x": 466.338827445671, + "y": 130.58321447289222, + "width": 0, + "height": 56.04116362383779, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ced4da", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "FarT4qYwQ4l7L17BAcsCy" + ], + "frameId": null, + "roundness": null, + "seed": 137431029, + "version": 184, + "versionNonce": 1337758069, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 56.04116362383779 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "5kxxWkYilynPcsOpmkLeP", + "type": "line", + "x": 466.338827445671, + "y": 106.08321447289222, + "width": 0, + "height": 48.000000000000014, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ced4da", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "FarT4qYwQ4l7L17BAcsCy" + ], + "frameId": null, + "roundness": null, + "seed": 705487931, + "version": 112, + "versionNonce": 628398805, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -48.000000000000014 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "2XBZPPHG68dcLwOOWv2XH", + "type": "freedraw", + "x": 395.9680639626038, + "y": 160.27685338380564, + "width": 38.00000000000001, + "height": 71.00000000000001, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "zj7mU5UoRfUUMZxFzSQsP" + ], + "frameId": null, + "roundness": null, + "seed": 1648931131, + "version": 189, + "versionNonce": 237271093, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.0000000000000004, + -0.5000000000000001 + ], + [ + 2.5000000000000004, + -0.5000000000000001 + ], + [ + 4.000000000000001, + -1.0000000000000002 + ], + [ + 5.000000000000001, + -1.5000000000000004 + ], + [ + 7.500000000000002, + -3.000000000000001 + ], + [ + 8.000000000000002, + -3.500000000000001 + ], + [ + 9.000000000000002, + -4.000000000000001 + ], + [ + 9.500000000000002, + -4.000000000000001 + ], + [ + 10.000000000000002, + -4.500000000000001 + ], + [ + 10.000000000000002, + -5.000000000000001 + ], + [ + 8.500000000000002, + -6.500000000000002 + ], + [ + 6.000000000000002, + -10.000000000000002 + ], + [ + 3.000000000000001, + -11.500000000000002 + ], + [ + -1.5000000000000004, + -13.500000000000004 + ], + [ + -5.500000000000001, + -14.000000000000004 + ], + [ + -8.500000000000002, + -15.000000000000004 + ], + [ + -12.500000000000004, + -16.000000000000004 + ], + [ + -13.500000000000004, + -16.500000000000004 + ], + [ + -16.500000000000004, + -16.500000000000004 + ], + [ + -18.000000000000004, + -16.500000000000004 + ], + [ + -18.500000000000004, + -16.500000000000004 + ], + [ + -19.000000000000004, + -16.500000000000004 + ], + [ + -18.000000000000004, + -16.500000000000004 + ], + [ + -15.500000000000004, + -16.500000000000004 + ], + [ + -15.000000000000004, + -16.500000000000004 + ], + [ + -14.500000000000004, + -16.500000000000004 + ], + [ + -11.500000000000002, + -18.000000000000004 + ], + [ + -9.000000000000002, + -18.500000000000004 + ], + [ + -6.500000000000002, + -18.500000000000004 + ], + [ + -5.500000000000001, + -18.500000000000004 + ], + [ + -4.000000000000001, + -20.500000000000004 + ], + [ + -3.000000000000001, + -20.500000000000004 + ], + [ + -2.0000000000000004, + -20.500000000000004 + ], + [ + -1.0000000000000002, + -20.500000000000004 + ], + [ + 1.0000000000000002, + -21.000000000000004 + ], + [ + 2.0000000000000004, + -21.500000000000004 + ], + [ + 3.000000000000001, + -21.500000000000004 + ], + [ + 3.500000000000001, + -21.500000000000004 + ], + [ + 5.500000000000001, + -22.000000000000004 + ], + [ + 7.500000000000002, + -23.500000000000004 + ], + [ + 7.000000000000002, + -24.500000000000007 + ], + [ + 5.500000000000001, + -25.500000000000007 + ], + [ + 3.000000000000001, + -27.500000000000007 + ], + [ + 0.5000000000000001, + -31.000000000000007 + ], + [ + -2.0000000000000004, + -31.500000000000007 + ], + [ + -3.000000000000001, + -32.00000000000001 + ], + [ + -5.000000000000001, + -33.50000000000001 + ], + [ + -5.500000000000001, + -34.00000000000001 + ], + [ + -6.500000000000002, + -34.50000000000001 + ], + [ + -8.500000000000002, + -35.00000000000001 + ], + [ + -10.500000000000002, + -36.00000000000001 + ], + [ + -11.000000000000002, + -36.50000000000001 + ], + [ + -11.000000000000002, + -37.00000000000001 + ], + [ + -9.500000000000002, + -37.00000000000001 + ], + [ + -6.500000000000002, + -37.00000000000001 + ], + [ + -2.0000000000000004, + -37.00000000000001 + ], + [ + 1.5000000000000004, + -37.00000000000001 + ], + [ + 3.000000000000001, + -37.50000000000001 + ], + [ + 4.500000000000001, + -38.00000000000001 + ], + [ + 5.500000000000001, + -38.00000000000001 + ], + [ + 5.500000000000001, + -39.00000000000001 + ], + [ + 4.000000000000001, + -41.00000000000001 + ], + [ + 0.5000000000000001, + -44.50000000000001 + ], + [ + -2.5000000000000004, + -45.00000000000001 + ], + [ + -6.500000000000002, + -47.50000000000001 + ], + [ + -10.500000000000002, + -50.500000000000014 + ], + [ + -12.000000000000004, + -50.500000000000014 + ], + [ + -9.500000000000002, + -51.500000000000014 + ], + [ + -7.000000000000002, + -51.500000000000014 + ], + [ + -4.000000000000001, + -52.000000000000014 + ], + [ + -1.0000000000000002, + -52.000000000000014 + ], + [ + 1.5000000000000004, + -52.000000000000014 + ], + [ + 3.000000000000001, + -52.000000000000014 + ], + [ + 4.500000000000001, + -52.000000000000014 + ], + [ + 5.500000000000001, + -52.500000000000014 + ], + [ + 6.000000000000002, + -53.000000000000014 + ], + [ + 4.500000000000001, + -54.000000000000014 + ], + [ + 2.5000000000000004, + -54.500000000000014 + ], + [ + 1.0000000000000002, + -56.000000000000014 + ], + [ + 0, + -57.500000000000014 + ], + [ + -1.5000000000000004, + -58.500000000000014 + ], + [ + -3.000000000000001, + -59.500000000000014 + ], + [ + -4.000000000000001, + -60.000000000000014 + ], + [ + -4.500000000000001, + -60.500000000000014 + ], + [ + -5.000000000000001, + -61.500000000000014 + ], + [ + -5.500000000000001, + -63.000000000000014 + ], + [ + -6.000000000000002, + -64.00000000000001 + ], + [ + -6.500000000000002, + -64.50000000000001 + ], + [ + -9.000000000000002, + -67.00000000000001 + ], + [ + -10.500000000000002, + -67.50000000000001 + ], + [ + -10.000000000000002, + -67.50000000000001 + ], + [ + -8.500000000000002, + -67.50000000000001 + ], + [ + -7.500000000000002, + -67.50000000000001 + ], + [ + -6.500000000000002, + -67.50000000000001 + ], + [ + -4.000000000000001, + -67.50000000000001 + ], + [ + -3.000000000000001, + -68.00000000000001 + ], + [ + -1.5000000000000004, + -68.00000000000001 + ], + [ + 2.0000000000000004, + -69.50000000000001 + ], + [ + 5.000000000000001, + -70.00000000000001 + ], + [ + 8.000000000000002, + -70.00000000000001 + ], + [ + 12.000000000000004, + -70.50000000000001 + ], + [ + 16.000000000000004, + -71.00000000000001 + ], + [ + 18.000000000000004, + -71.00000000000001 + ], + [ + 19.000000000000004, + -71.00000000000001 + ], + [ + 19.000000000000004, + -71.00000000000001 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 19, + 71 + ] + }, + { + "id": "s8638hLgcvKODVmT3zlIf", + "type": "line", + "x": 396.75819853224516, + "y": 92.30099898508345, + "width": 0, + "height": 33.17770021078268, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "zj7mU5UoRfUUMZxFzSQsP" + ], + "frameId": null, + "roundness": null, + "seed": 1289129429, + "version": 126, + "versionNonce": 61974933, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -33.17770021078268 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "gV21gLgcnIK5YH0nkBDn-", + "type": "line", + "x": 396.0416034011763, + "y": 160.575770493223, + "width": 0, + "height": 26.04860760350706, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "zj7mU5UoRfUUMZxFzSQsP" + ], + "frameId": null, + "roundness": null, + "seed": 2020205365, + "version": 124, + "versionNonce": 659664629, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 26.04860760350706 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "82gQoDy_423VBcLFK6vS1", + "type": "rectangle", + "x": 374.3801297098389, + "y": 186.89857396624063, + "width": 114.06548171640983, + "height": 50.45203998995051, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 622403195, + "version": 132, + "versionNonce": 1468663893, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "I8jJV_aVNryB_qhw-WrXk" + } + ], + "updated": 1736177808821, + "link": null, + "locked": false + }, + { + "id": "I8jJV_aVNryB_qhw-WrXk", + "type": "text", + "x": 423.752874535329, + "y": 199.6245939612159, + "width": 15.319992065429688, + "height": 25.000000000000004, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 543158395, + "version": 55, + "versionNonce": 103822773, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "text": "M", + "fontSize": 20.000000000000004, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "82gQoDy_423VBcLFK6vS1", + "originalText": "M", + "lineHeight": 1.25 + }, + { + "id": "jvjUWeRk_kwrKbk_JsGfI", + "type": "line", + "x": 331.33137819667456, + "y": 213.95275562214186, + "width": 29.61315390714487, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1186922907, + "version": 49, + "versionNonce": 1315550997, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -29.61315390714487, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "Lzz9JQdo2AJDMRcBG2Zk3", + "type": "text", + "x": 255.65331821174885, + "y": 200.28599569772473, + "width": 37.59996032714844, + "height": 25.000000000000004, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1064889851, + "version": 73, + "versionNonce": 2122843579, + "isDeleted": false, + "boundElements": null, + "updated": 1736177830990, + "link": null, + "locked": false, + "text": "x(t)", + "fontSize": 20.000000000000004, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "x(t)", + "lineHeight": 1.25 + }, + { + "id": "mdzVf5KM4x7OLMlxpbuio", + "type": "line", + "x": 332.428161674717, + "y": 25.463549406861517, + "width": 24.951824125464675, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1758757013, + "version": 55, + "versionNonce": 717010389, + "isDeleted": false, + "boundElements": null, + "updated": 1736177808821, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -24.951824125464675, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "0t71IGBHqgNrWVkDEAy-L", + "type": "text", + "x": 261.9598232104926, + "y": 10.816649865899763, + "width": 34.9599609375, + "height": 25.000000000000004, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 109444725, + "version": 61, + "versionNonce": 305170293, + "isDeleted": false, + "boundElements": null, + "updated": 1736177830990, + "link": null, + "locked": false, + "text": "r(t)", + "fontSize": 20.000000000000004, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "r(t)", + "lineHeight": 1.25 + }, + { + "id": "ba7DH12q1HpN26Bs6YigX", + "type": "text", + "x": 357.5098401439437, + "y": 107.32627083444908, + "width": 9.739990234375, + "height": 25.000000000000004, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1951370069, + "version": 62, + "versionNonce": 1284871771, + "isDeleted": false, + "boundElements": null, + "updated": 1736177830990, + "link": null, + "locked": false, + "text": "k", + "fontSize": 20.000000000000004, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "k", + "lineHeight": 1.25 + }, + { + "id": "A7iZybhx9ICsCojotIIEG", + "type": "text", + "x": 500.3608346979338, + "y": 103.45890042351198, + "width": 10.159988403320312, + "height": 25.000000000000004, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2071702267, + "version": 80, + "versionNonce": 570020053, + "isDeleted": false, + "boundElements": null, + "updated": 1736177830991, + "link": null, + "locked": false, + "text": "b", + "fontSize": 20.000000000000004, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "b", + "lineHeight": 1.25 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/Images/.excalidraw/Modern-Control/cart-pulled.excalidraw.json b/docs/Images/.excalidraw/Modern-Control/cart-pulled.excalidraw.json new file mode 100644 index 0000000..baa3f9f --- /dev/null +++ b/docs/Images/.excalidraw/Modern-Control/cart-pulled.excalidraw.json @@ -0,0 +1,2343 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", + "elements": [ + { + "id": "OUqfmxIf6KZBHub4yZfaO", + "type": "rectangle", + "x": 297.5, + "y": 225.5, + "width": 257.5, + "height": 87, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 653674719, + "version": 61, + "versionNonce": 1244091551, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "iocelGPEJlHdAUYdR_1pM" + }, + { + "id": "LrP1IsgR-xe00FSSq3wcl", + "type": "arrow" + } + ], + "updated": 1736015196399, + "link": null, + "locked": false + }, + { + "id": "iocelGPEJlHdAUYdR_1pM", + "type": "text", + "x": 415.5260009765625, + "y": 251.5, + "width": 21.447998046875, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 221539697, + "version": 3, + "versionNonce": 1310525649, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196400, + "link": null, + "locked": false, + "text": "M", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 25, + "containerId": "OUqfmxIf6KZBHub4yZfaO", + "originalText": "M", + "lineHeight": 1.25 + }, + { + "id": "5oMfOujs_czgkgo8aHzy0", + "type": "ellipse", + "x": 323.5, + "y": 290.5, + "width": 54, + "height": 54, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 209780479, + "version": 34, + "versionNonce": 1957783743, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196400, + "link": null, + "locked": false + }, + { + "id": "16bS2e09gepFI1Z30HYB4", + "type": "ellipse", + "x": 466.5, + "y": 290.5, + "width": 54, + "height": 54, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1576564721, + "version": 97, + "versionNonce": 2013644465, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196400, + "link": null, + "locked": false + }, + { + "id": "7vG12fKdrh62uPPSKgqLY", + "type": "line", + "x": 106.125, + "y": 344.125, + "width": 643.75, + "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": 672007217, + "version": 115, + "versionNonce": 1227094239, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196400, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 643.75, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "ExWVAYLpQMSlBwFydeFfq", + "type": "line", + "x": 424.25, + "y": 332.25, + "width": 0, + "height": 31.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 560143985, + "version": 22, + "versionNonce": 1172031633, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196400, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 31.25 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "q1GnJm34OZHdCktbKkzRF", + "type": "text", + "x": 416.75, + "y": 369.75, + "width": 19.263992309570312, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1285528689, + "version": 59, + "versionNonce": 1829733631, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196400, + "link": null, + "locked": false, + "text": "0", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "0", + "lineHeight": 1.25 + }, + { + "id": "b49hj8urxIYMhzvmkW77q", + "type": "line", + "x": 137.625, + "y": 46.125, + "width": 0, + "height": 330.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1052645951, + "version": 75, + "versionNonce": 1364627057, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196400, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 330.5 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "nyF7uN0RKPxVvTr-507Bd", + "type": "line", + "x": 136.625, + "y": 256.125, + "width": 46, + "height": 0, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1223580383, + "version": 45, + "versionNonce": 2146733343, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196400, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 46, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "B7XVG-uF06lEn5-wJcldD", + "type": "line", + "x": 296.125, + "y": 256.125, + "width": 41, + "height": 0, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1805158513, + "version": 46, + "versionNonce": 289249361, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196400, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -41, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "PhbRdYfftyz-_DetXlICb", + "type": "freedraw", + "x": 183.125, + "y": 257.625, + "width": 72.5, + "height": 17.5, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1996731039, + "version": 86, + "versionNonce": 1553042815, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196400, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1, + 0 + ], + [ + 4.5, + -2.5 + ], + [ + 6.5, + -3 + ], + [ + 7.5, + -4 + ], + [ + 8, + -6 + ], + [ + 9.5, + -6 + ], + [ + 10, + -6 + ], + [ + 11.5, + -4.5 + ], + [ + 11.5, + -2.5 + ], + [ + 14, + 0 + ], + [ + 14.5, + 1 + ], + [ + 15, + 1 + ], + [ + 16.5, + -1.5 + ], + [ + 17.5, + -4 + ], + [ + 19.5, + -5.5 + ], + [ + 20, + -7 + ], + [ + 20.5, + -7.5 + ], + [ + 22, + -8.5 + ], + [ + 22.5, + -9 + ], + [ + 22.5, + -9.5 + ], + [ + 23, + -10 + ], + [ + 23, + -8.5 + ], + [ + 23, + -6.5 + ], + [ + 25, + -3 + ], + [ + 27, + 1.5 + ], + [ + 27.5, + 2.5 + ], + [ + 28.5, + 2.5 + ], + [ + 30, + 0.5 + ], + [ + 32.5, + -1.5 + ], + [ + 35.5, + -4 + ], + [ + 36, + -6 + ], + [ + 36.5, + -6 + ], + [ + 36.5, + -5.5 + ], + [ + 38.5, + -2.5 + ], + [ + 39.5, + 1 + ], + [ + 39.5, + 2.5 + ], + [ + 40, + 4 + ], + [ + 40.5, + 5 + ], + [ + 41, + 5.5 + ], + [ + 42.5, + 3.5 + ], + [ + 43.5, + 1 + ], + [ + 45.5, + -2 + ], + [ + 47, + -4 + ], + [ + 47, + -5.5 + ], + [ + 47, + -6 + ], + [ + 47.5, + -6 + ], + [ + 47.5, + -4.5 + ], + [ + 49, + -0.5 + ], + [ + 50, + 2 + ], + [ + 51.5, + 6 + ], + [ + 52, + 7.5 + ], + [ + 52.5, + 7.5 + ], + [ + 55, + 4.5 + ], + [ + 56, + 2 + ], + [ + 58, + -0.5 + ], + [ + 58.5, + -1 + ], + [ + 59, + -1.5 + ], + [ + 59.5, + 0 + ], + [ + 61, + 3 + ], + [ + 61, + 4.5 + ], + [ + 61.5, + 6.5 + ], + [ + 62, + 7 + ], + [ + 62.5, + 7 + ], + [ + 63, + 7 + ], + [ + 63.5, + 4 + ], + [ + 65.5, + -0.5 + ], + [ + 67, + -3 + ], + [ + 68, + -4.5 + ], + [ + 68, + -5 + ], + [ + 68.5, + -5.5 + ], + [ + 68.5, + -7 + ], + [ + 69, + -5.5 + ], + [ + 70.5, + -2 + ], + [ + 71.5, + 0 + ], + [ + 72, + 0.5 + ], + [ + 72.5, + 0.5 + ], + [ + 72.5, + 0.5 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 72.5, + 0.5 + ] + }, + { + "id": "rGLSYrSAPMkhrKvkTku3O", + "type": "line", + "x": 136.125, + "y": 294.625, + "width": 84, + "height": 0, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 410485887, + "version": 43, + "versionNonce": 423054833, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196400, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 84, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "FvatBBcWdOvEaFvcC5ypB", + "type": "freedraw", + "x": 199.625, + "y": 276.125, + "width": 43.5, + "height": 42.5, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1069151409, + "version": 46, + "versionNonce": 769288145, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196401, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 6, + 0 + ], + [ + 8, + 0 + ], + [ + 19, + 2 + ], + [ + 27.5, + 2.5 + ], + [ + 35, + 2.5 + ], + [ + 39, + 4 + ], + [ + 42, + 4 + ], + [ + 43, + 4 + ], + [ + 43.5, + 5.5 + ], + [ + 43.5, + 9.5 + ], + [ + 42.5, + 13.5 + ], + [ + 41.5, + 15.5 + ], + [ + 41.5, + 16 + ], + [ + 41.5, + 17 + ], + [ + 41.5, + 18 + ], + [ + 41.5, + 18.5 + ], + [ + 41.5, + 19 + ], + [ + 41.5, + 20.5 + ], + [ + 41.5, + 21.5 + ], + [ + 40.5, + 25 + ], + [ + 39.5, + 27.5 + ], + [ + 39.5, + 29 + ], + [ + 39.5, + 31 + ], + [ + 39, + 36 + ], + [ + 38.5, + 37 + ], + [ + 38.5, + 37.5 + ], + [ + 38.5, + 38 + ], + [ + 38.5, + 39.5 + ], + [ + 38.5, + 40 + ], + [ + 38.5, + 40.5 + ], + [ + 37.5, + 42 + ], + [ + 37, + 42.5 + ], + [ + 34.5, + 42.5 + ], + [ + 33, + 42.5 + ], + [ + 29, + 42.5 + ], + [ + 24.5, + 42.5 + ], + [ + 20, + 42.5 + ], + [ + 16, + 42.5 + ], + [ + 10, + 42.5 + ], + [ + 7.5, + 42.5 + ], + [ + 6.5, + 42.5 + ], + [ + 6.5, + 42.5 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 6.5, + 42.5 + ] + }, + { + "id": "YBZMnqj7OoUSzj93Fpx4z", + "type": "freedraw", + "x": 226.625, + "y": 288.125, + "width": 5.5, + "height": 21.5, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2055442225, + "version": 29, + "versionNonce": 20806079, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196401, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.5, + 1 + ], + [ + 0, + 5 + ], + [ + -1, + 7.5 + ], + [ + -1.5, + 10.5 + ], + [ + -1.5, + 13 + ], + [ + -3.5, + 14.5 + ], + [ + -3.5, + 15 + ], + [ + -3.5, + 16 + ], + [ + -3.5, + 17.5 + ], + [ + -3.5, + 18 + ], + [ + -3.5, + 16 + ], + [ + -3.5, + 14.5 + ], + [ + -3.5, + 12 + ], + [ + -3.5, + 11 + ], + [ + -3, + 8.5 + ], + [ + -1, + 5.5 + ], + [ + -1, + 5 + ], + [ + -0.5, + 3.5 + ], + [ + 0, + 1.5 + ], + [ + 0, + 0.5 + ], + [ + 0.5, + 0 + ], + [ + 0.5, + -2 + ], + [ + 2, + -3.5 + ], + [ + 0, + 0 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 2, + -3.5 + ] + }, + { + "id": "K80c4Bswf6oOmp2PUusv8", + "type": "line", + "x": 242.125, + "y": 291.125, + "width": 54, + "height": 0, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 609536465, + "version": 36, + "versionNonce": 1455375793, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196401, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 54, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "DGtWh70izjhWE2UcmRYNn", + "type": "text", + "x": 173.625, + "y": 208.125, + "width": 12.259994506835938, + "height": 25, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 688166559, + "version": 28, + "versionNonce": 1812326879, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196401, + "link": null, + "locked": false, + "text": "K", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "K", + "lineHeight": 1.25 + }, + { + "id": "O0bf16q9RXueElh6i1aDu", + "type": "text", + "x": 173.625, + "y": 269.125, + "width": 10.159988403320312, + "height": 25, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1922868433, + "version": 84, + "versionNonce": 789407633, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196401, + "link": null, + "locked": false, + "text": "b", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "b", + "lineHeight": 1.25 + }, + { + "id": "LrP1IsgR-xe00FSSq3wcl", + "type": "arrow", + "x": 555.125, + "y": 266.125, + "width": 178, + "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": 180951793, + "version": 57, + "versionNonce": 452962449, + "isDeleted": false, + "boundElements": null, + "updated": 1736015225503, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 178, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "OUqfmxIf6KZBHub4yZfaO", + "focus": -0.06609195402298851, + "gap": 1 + }, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "c7W9KLrsPgrlLnfJGi-Lc", + "type": "text", + "x": 643.125, + "y": 238.125, + "width": 37.8399658203125, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1328730257, + "version": 6, + "versionNonce": 16534897, + "isDeleted": false, + "boundElements": null, + "updated": 1736015196401, + "link": null, + "locked": false, + "text": "F(t)", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "F(t)", + "lineHeight": 1.25 + }, + { + "id": "axQ8nP-m7ExJP8oTkvfzu", + "type": "freedraw", + "x": 719.125, + "y": 331.625, + "width": 33.5, + "height": 29.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 473858655, + "version": 74, + "versionNonce": 822128145, + "isDeleted": false, + "boundElements": null, + "updated": 1736015203213, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.5, + 0 + ], + [ + 0.5, + 2 + ], + [ + 0.5, + 6.5 + ], + [ + 0.5, + 12 + ], + [ + 1, + 14.5 + ], + [ + 1, + 16 + ], + [ + 1.5, + 18.5 + ], + [ + 3, + 21 + ], + [ + 3.5, + 22.5 + ], + [ + 4, + 24 + ], + [ + 4.5, + 25 + ], + [ + 4.5, + 26.5 + ], + [ + 4.5, + 28 + ], + [ + 4.5, + 28.5 + ], + [ + 5, + 27.5 + ], + [ + 8, + 24 + ], + [ + 10, + 23.5 + ], + [ + 12.5, + 21.5 + ], + [ + 15.5, + 20.5 + ], + [ + 16.5, + 20.5 + ], + [ + 17, + 20 + ], + [ + 19.5, + 18.5 + ], + [ + 20.5, + 18 + ], + [ + 22.5, + 17.5 + ], + [ + 23, + 17 + ], + [ + 24.5, + 17 + ], + [ + 26.5, + 16 + ], + [ + 27, + 15.5 + ], + [ + 27.5, + 15.5 + ], + [ + 29, + 15.5 + ], + [ + 30, + 14 + ], + [ + 30, + 13.5 + ], + [ + 30, + 12 + ], + [ + 30, + 11.5 + ], + [ + 29.5, + 10 + ], + [ + 26, + 9 + ], + [ + 22, + 7.5 + ], + [ + 16.5, + 6 + ], + [ + 8.5, + 3.5 + ], + [ + 5.5, + 2 + ], + [ + 3.5, + 1.5 + ], + [ + 2.5, + 0.5 + ], + [ + 2, + -0.5 + ], + [ + 1, + -0.5 + ], + [ + 0, + -1 + ], + [ + -1, + -1 + ], + [ + -3, + -1 + ], + [ + -3.5, + -1 + ], + [ + -3.5, + 2 + ], + [ + -3.5, + 3.5 + ], + [ + -3.5, + 4 + ], + [ + -3.5, + 4.5 + ], + [ + -3.5, + 6 + ], + [ + -3.5, + 6.5 + ], + [ + -3.5, + 7 + ], + [ + -3.5, + 8 + ], + [ + -3.5, + 8.5 + ], + [ + -3.5, + 9 + ], + [ + -3.5, + 10.5 + ], + [ + -2.5, + 13 + ], + [ + -2.5, + 13.5 + ], + [ + -2.5, + 14 + ], + [ + -2, + 14.5 + ], + [ + -1, + 16 + ], + [ + 0, + 18.5 + ], + [ + 0.5, + 19 + ], + [ + 2.5, + 21 + ], + [ + 3, + 21.5 + ], + [ + 3.5, + 21.5 + ], + [ + 4, + 20.5 + ], + [ + 4.5, + 20 + ], + [ + 4.5, + 20 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 4.5, + 20 + ] + }, + { + "id": "BMrCzOgXUPiFo3Q383dvc", + "type": "freedraw", + "x": 728.125, + "y": 337.625, + "width": 31.5, + "height": 18.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 918277183, + "version": 163, + "versionNonce": 1251555601, + "isDeleted": false, + "boundElements": null, + "updated": 1736015218393, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1, + 2.5 + ], + [ + -1, + 4 + ], + [ + -1.5, + 4 + ], + [ + -2, + 3 + ], + [ + -2, + 1.5 + ], + [ + -4, + 0 + ], + [ + -4, + 1.5 + ], + [ + -4, + 4 + ], + [ + -4, + 6.5 + ], + [ + -4, + 9.5 + ], + [ + -4, + 12 + ], + [ + -4, + 12.5 + ], + [ + -4, + 14 + ], + [ + -4, + 13.5 + ], + [ + -4, + 10.5 + ], + [ + -4, + 7.5 + ], + [ + -4, + 7 + ], + [ + -4, + 5 + ], + [ + -2, + 7.5 + ], + [ + -1.5, + 10 + ], + [ + 0, + 12.5 + ], + [ + 1, + 13.5 + ], + [ + 2.5, + 12.5 + ], + [ + 2.5, + 10 + ], + [ + 3.5, + 8 + ], + [ + 5, + 6 + ], + [ + 6.5, + 5 + ], + [ + 8, + 4 + ], + [ + 8.5, + 4 + ], + [ + 9, + 4 + ], + [ + 9, + 5.5 + ], + [ + 9, + 6.5 + ], + [ + 7, + 10.5 + ], + [ + 4.5, + 11.5 + ], + [ + 3, + 13 + ], + [ + 2.5, + 13.5 + ], + [ + 2.5, + 12 + ], + [ + 2.5, + 11.5 + ], + [ + 3, + 9 + ], + [ + 3.5, + 7.5 + ], + [ + 5, + 7 + ], + [ + 5, + 6 + ], + [ + 5, + 4.5 + ], + [ + 2.5, + 2.5 + ], + [ + 1.5, + 0 + ], + [ + 0, + -2 + ], + [ + -1.5, + -2.5 + ], + [ + -2, + -4 + ], + [ + -3.5, + -4.5 + ], + [ + -5, + -4.5 + ], + [ + -6.5, + -4.5 + ], + [ + -7, + -4.5 + ], + [ + -7.5, + -4.5 + ], + [ + -8, + -4.5 + ], + [ + -9.5, + -4.5 + ], + [ + -10.5, + -4.5 + ], + [ + -11.5, + -4.5 + ], + [ + -12, + -4.5 + ], + [ + -12, + -3 + ], + [ + -12.5, + -2.5 + ], + [ + -12.5, + -1 + ], + [ + -12.5, + 1 + ], + [ + -12.5, + 1.5 + ], + [ + -12.5, + 2 + ], + [ + -12.5, + 3 + ], + [ + -12.5, + 4 + ], + [ + -11.5, + 4.5 + ], + [ + -11, + 4.5 + ], + [ + -8.5, + 4.5 + ], + [ + -7, + 4.5 + ], + [ + -5.5, + 4.5 + ], + [ + -5, + 4.5 + ], + [ + -3, + 4.5 + ], + [ + -2, + 4.5 + ], + [ + 0, + 4.5 + ], + [ + 1, + 4.5 + ], + [ + 2, + 4.5 + ], + [ + 3.5, + 4.5 + ], + [ + 4, + 4.5 + ], + [ + 6, + 4.5 + ], + [ + 6.5, + 4.5 + ], + [ + 7.5, + 4.5 + ], + [ + 9.5, + 4.5 + ], + [ + 10, + 4.5 + ], + [ + 13, + 4.5 + ], + [ + 14, + 4.5 + ], + [ + 14.5, + 4.5 + ], + [ + 14, + 4 + ], + [ + 13, + 4 + ], + [ + 11.5, + 4 + ], + [ + 9.5, + 4 + ], + [ + 8, + 4 + ], + [ + 6, + 4 + ], + [ + 2.5, + 3.5 + ], + [ + 0.5, + 1.5 + ], + [ + -2, + 1.5 + ], + [ + -3, + 1.5 + ], + [ + -3.5, + 1 + ], + [ + -4.5, + 1 + ], + [ + -5, + 1 + ], + [ + -5.5, + 1 + ], + [ + -6, + 0.5 + ], + [ + -7.5, + -1.5 + ], + [ + -8, + -2 + ], + [ + -8.5, + -2.5 + ], + [ + -9, + -3 + ], + [ + -9, + -3.5 + ], + [ + -8.5, + -3.5 + ], + [ + -7.5, + -3.5 + ], + [ + -6.5, + -3 + ], + [ + -3, + -2.5 + ], + [ + -0.5, + -1.5 + ], + [ + 2.5, + -0.5 + ], + [ + 5.5, + -0.5 + ], + [ + 8.5, + -0.5 + ], + [ + 13.5, + 1 + ], + [ + 15, + 1.5 + ], + [ + 17.5, + 1.5 + ], + [ + 18, + 1.5 + ], + [ + 18.5, + 1.5 + ], + [ + 19, + 2 + ], + [ + 19, + 2.5 + ], + [ + 17.5, + 4.5 + ], + [ + 13, + 5 + ], + [ + 8, + 5.5 + ], + [ + 4.5, + 7 + ], + [ + 2, + 7.5 + ], + [ + 0, + 7.5 + ], + [ + -1, + 7.5 + ], + [ + -2.5, + 9.5 + ], + [ + -4, + 10 + ], + [ + -4.5, + 10.5 + ], + [ + -4.5, + 11 + ], + [ + -4.5, + 11.5 + ], + [ + -4.5, + 12 + ], + [ + -2, + 10 + ], + [ + 2, + 8 + ], + [ + 3, + 7.5 + ], + [ + 5, + 7 + ], + [ + 6.5, + 6.5 + ], + [ + 7, + 6 + ], + [ + 7.5, + 5 + ], + [ + 8, + 4.5 + ], + [ + 8.5, + 4 + ], + [ + 9, + 4 + ], + [ + 9.5, + 4 + ], + [ + 9.5, + 5.5 + ], + [ + 6.5, + 8.5 + ], + [ + 4, + 10.5 + ], + [ + 0.5, + 10.5 + ], + [ + 0, + 10.5 + ], + [ + -2, + 12 + ], + [ + -2.5, + 12.5 + ], + [ + -3, + 13 + ], + [ + -1.5, + 13 + ], + [ + 1, + 13 + ], + [ + 4.5, + 13 + ], + [ + 7, + 12.5 + ], + [ + 12, + 10.5 + ], + [ + 14, + 10 + ], + [ + 14, + 10 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 14, + 10 + ] + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/Images/.excalidraw/Modern-Control/horner-scheme.excalidraw.json b/docs/Images/.excalidraw/Modern-Control/horner-scheme.excalidraw.json new file mode 100644 index 0000000..e7bddd3 --- /dev/null +++ b/docs/Images/.excalidraw/Modern-Control/horner-scheme.excalidraw.json @@ -0,0 +1,1132 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", + "elements": [ + { + "id": "Bxf2yQibDYnDtHbJ5oGff", + "type": "text", + "x": 417.49098918694256, + "y": 92.51454071936655, + "width": 15.203994750976562, + "height": 35, + "angle": 0, + "strokeColor": "#ffd43b", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1310310436, + "version": 118, + "versionNonce": 40697508, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "text": "s", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "s", + "lineHeight": 1.25 + }, + { + "id": "fYl6uAB5G2haUQgeMGdtr", + "type": "text", + "x": 519.3840348276728, + "y": 94.24660657471188, + "width": 34.80400085449219, + "height": 35, + "angle": 0, + "strokeColor": "#ffd43b", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 109776284, + "version": 174, + "versionNonce": 1709354396, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "text": "+5", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "+5", + "lineHeight": 1.25 + }, + { + "id": "IwKKEHcv8vLyEOE7b06SQ", + "type": "text", + "x": 450.46096250904975, + "y": 92.51454071936655, + "width": 15.203994750976562, + "height": 35, + "angle": 0, + "strokeColor": "#4dabf7", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1922465692, + "version": 127, + "versionNonce": 1629325860, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "text": "s", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "s", + "lineHeight": 1.25 + }, + { + "id": "OCcP_9h2zhJuWAwMlAztJ", + "type": "text", + "x": 468.46096250904975, + "y": 94.49404455404692, + "width": 35.41999816894531, + "height": 35, + "angle": 0, + "strokeColor": "#4dabf7", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1538398492, + "version": 200, + "versionNonce": 1894947356, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "text": "+4", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "+4", + "lineHeight": 1.25 + }, + { + "id": "n0Kp0P0UyouC2KOfXKEbv", + "type": "text", + "x": 440.99022276152965, + "y": 96.58182531148668, + "width": 11.6199951171875, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 308550684, + "version": 134, + "versionNonce": 1085318564, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "text": "(", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "(", + "lineHeight": 1.25 + }, + { + "id": "wH24FUWtdUIG1tgSSJtrv", + "type": "text", + "x": 506.26571519926694, + "y": 96.58182600509414, + "width": 9.4639892578125, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 4183196, + "version": 129, + "versionNonce": 1548809884, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "text": ")", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": ")", + "lineHeight": 1.25 + }, + { + "id": "hB0pYKk5Oh5uDQYaOUl_W", + "type": "arrow", + "x": 237.71456864168306, + "y": 214.74270585976365, + "width": 76.52117640604041, + "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": 94275356, + "version": 60, + "versionNonce": 106189092, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 76.52117640604041, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "focus": -0.0208732068756242, + "gap": 8.180865004800538, + "elementId": "D_Bhitc16Rmbqx0pSyrIg" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "type": "ellipse", + "version": 113, + "versionNonce": 1957675804, + "isDeleted": false, + "id": "D_Bhitc16Rmbqx0pSyrIg", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 322.4136173648019, + "y": 194.83567832568897, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 39, + "height": 39, + "seed": 756400156, + "groupIds": [ + "rRdNsYCzn4To7b7EHTqbM" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "id": "hB0pYKk5Oh5uDQYaOUl_W", + "type": "arrow" + }, + { + "id": "RDvpo3cM-XlWSovjysLsy", + "type": "arrow" + }, + { + "id": "YwT9tFjJd0c78k7sOoiWk", + "type": "arrow" + } + ], + "updated": 1736110785660, + "link": null, + "locked": false + }, + { + "type": "line", + "version": 117, + "versionNonce": 1098288292, + "isDeleted": false, + "id": "1NLyl61dSW7tHYps5ImIL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 341.4207524881856, + "y": 202.8356783256888, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 22, + "seed": 891247772, + "groupIds": [ + "rRdNsYCzn4To7b7EHTqbM" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736110785660, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 22 + ] + ] + }, + { + "type": "line", + "version": 155, + "versionNonce": 545324956, + "isDeleted": false, + "id": "M_CX4DGbW8ssXKRoZooi5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 329.7554706718372, + "y": 214.25303741751472, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 24.641493777715596, + "height": 0, + "seed": 851536156, + "groupIds": [ + "rRdNsYCzn4To7b7EHTqbM" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736110785660, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 24.641493777715596, + 0 + ] + ] + }, + { + "id": "mWJoNCmElYFLX5OPrIa9j", + "type": "rectangle", + "x": 457.10240958863477, + "y": 183.56173245086745, + "width": 70.41576339492025, + "height": 64.31035038379997, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 603948700, + "version": 238, + "versionNonce": 1673877540, + "isDeleted": false, + "boundElements": [ + { + "id": "RDvpo3cM-XlWSovjysLsy", + "type": "arrow" + }, + { + "type": "text", + "id": "JZeZ3pTpdoeDVq-np0wPI" + }, + { + "id": "BjBO_wgYKGBVLaYSHf68_", + "type": "arrow" + } + ], + "updated": 1736110785660, + "link": null, + "locked": false + }, + { + "id": "JZeZ3pTpdoeDVq-np0wPI", + "type": "text", + "x": 479.17029952584096, + "y": 203.21690764276744, + "width": 26.279983520507812, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1745638172, + "version": 195, + "versionNonce": 670477340, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "text": "1/s", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "mWJoNCmElYFLX5OPrIa9j", + "originalText": "1/s", + "lineHeight": 1.25 + }, + { + "id": "RDvpo3cM-XlWSovjysLsy", + "type": "arrow", + "x": 372.03134164686037, + "y": 214.88796066433136, + "width": 80.1867374521807, + "height": 0.09479113496846026, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 522920092, + "version": 113, + "versionNonce": 2033103780, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 80.1867374521807, + -0.09479113496846026 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.020873206875624196, + "gap": 10.622787582022855, + "elementId": "D_Bhitc16Rmbqx0pSyrIg" + }, + "endBinding": { + "focus": 0.030296889293552894, + "gap": 8.547578296265755, + "elementId": "mWJoNCmElYFLX5OPrIa9j" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "pdl3asXJvNqPZM9lPDkVJ", + "type": "rectangle", + "x": 457.10240958863477, + "y": 295.90133185548007, + "width": 70.41576339492025, + "height": 64.31035038379997, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 249660572, + "version": 313, + "versionNonce": 2097334428, + "isDeleted": false, + "boundElements": [ + { + "id": "B0hFze83MHagjPSILL2jh", + "type": "arrow" + }, + { + "type": "text", + "id": "8YS-61Qr3XTR3fGzKC5-F" + }, + { + "id": "7eIE6gn_h6HsQ9QREEcEW", + "type": "arrow" + }, + { + "id": "YwT9tFjJd0c78k7sOoiWk", + "type": "arrow" + } + ], + "updated": 1736110785660, + "link": null, + "locked": false + }, + { + "id": "8YS-61Qr3XTR3fGzKC5-F", + "type": "text", + "x": 485.9102973896105, + "y": 315.55650704738, + "width": 12.79998779296875, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1644073244, + "version": 276, + "versionNonce": 1608556324, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "text": "4", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "pdl3asXJvNqPZM9lPDkVJ", + "originalText": "4", + "lineHeight": 1.25 + }, + { + "id": "3LdGrj9v3_DKLTTz2ACx1", + "type": "rectangle", + "x": 625.2047811614791, + "y": 183.56173245086745, + "width": 70.41576339492025, + "height": 64.31035038379997, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 1227726372, + "version": 306, + "versionNonce": 2044648868, + "isDeleted": false, + "boundElements": [ + { + "id": "BjBO_wgYKGBVLaYSHf68_", + "type": "arrow" + }, + { + "type": "text", + "id": "x0mDpF2B2wiazCspbfz-F" + }, + { + "id": "B0hFze83MHagjPSILL2jh", + "type": "arrow" + } + ], + "updated": 1736110789724, + "link": null, + "locked": false + }, + { + "id": "x0mDpF2B2wiazCspbfz-F", + "type": "text", + "x": 647.2726710986854, + "y": 203.21690764276744, + "width": 26.279983520507812, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1436432804, + "version": 265, + "versionNonce": 4790948, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "text": "1/s", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "3LdGrj9v3_DKLTTz2ACx1", + "originalText": "1/s", + "lineHeight": 1.25 + }, + { + "id": "2l_Chl1uiePuhtVfhnyck", + "type": "rectangle", + "x": 457.10240958863477, + "y": 387.88955455635846, + "width": 70.41576339492025, + "height": 64.31035038379997, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 2103269660, + "version": 425, + "versionNonce": 1044528796, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "Pilz1rvnNh7y4RSpbgGXR" + }, + { + "id": "B0hFze83MHagjPSILL2jh", + "type": "arrow" + }, + { + "id": "W09hxnpYp7ZCMQNau0gQ5", + "type": "arrow" + } + ], + "updated": 1736110789724, + "link": null, + "locked": false + }, + { + "id": "Pilz1rvnNh7y4RSpbgGXR", + "type": "text", + "x": 486.1302986103136, + "y": 407.5447297482584, + "width": 12.3599853515625, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2065203356, + "version": 386, + "versionNonce": 85337636, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "text": "5", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "2l_Chl1uiePuhtVfhnyck", + "originalText": "5", + "lineHeight": 1.25 + }, + { + "id": "BjBO_wgYKGBVLaYSHf68_", + "type": "arrow", + "x": 538.0985755493311, + "y": 214.88796066433136, + "width": 80.1867374521807, + "height": 0.09479113496846026, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1317960220, + "version": 190, + "versionNonce": 322290084, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 80.1867374521807, + -0.09479113496846026 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": -0.024065105543356727, + "gap": 10.580402565776154, + "elementId": "mWJoNCmElYFLX5OPrIa9j" + }, + "endBinding": { + "focus": 0.03023711199139346, + "gap": 6.919468159967209, + "elementId": "3LdGrj9v3_DKLTTz2ACx1" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "B0hFze83MHagjPSILL2jh", + "type": "arrow", + "x": 706.1336794506885, + "y": 214.88796066433136, + "width": 185.68640611129297, + "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": 110988836, + "version": 260, + "versionNonce": 893098652, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 185.68640611129297, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "3LdGrj9v3_DKLTTz2ACx1", + "focus": -0.02577958208869887, + "gap": 10.513134894289124 + }, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "7eIE6gn_h6HsQ9QREEcEW", + "type": "arrow", + "x": 577.4318266497646, + "y": 212.46561787208236, + "width": 39.56955672515846, + "height": 117.08252400868764, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 2108962468, + "version": 97, + "versionNonce": 30797092, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785660, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.7943410558370942, + 108.40974445248861 + ], + [ + -39.56955672515846, + 117.08252400868764 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "pdl3asXJvNqPZM9lPDkVJ", + "focus": 0.3080464389392561, + "gap": 10.344096941051163 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "YwT9tFjJd0c78k7sOoiWk", + "type": "arrow", + "x": 450.5924256403529, + "y": 332.8004342143447, + "width": 110.57793934153835, + "height": 90.52213661782798, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1965833508, + "version": 156, + "versionNonce": 547743516, + "isDeleted": false, + "boundElements": [], + "updated": 1736110785660, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -99.19491617402707, + -12.467120612036183 + ], + [ + -110.57793934153835, + -90.52213661782798 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "pdl3asXJvNqPZM9lPDkVJ", + "focus": -0.27302074859812236, + "gap": 6.509983948281871 + }, + "endBinding": { + "elementId": "D_Bhitc16Rmbqx0pSyrIg", + "focus": 0.30315719981619144, + "gap": 8.507082506398852 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "50N7DqzxhP9ZPIuXGgKgh", + "type": "line", + "x": 308.03361168533036, + "y": 246.07263865235382, + "width": 15.719412945610884, + "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": 2113745828, + "version": 68, + "versionNonce": 840082332, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785661, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 15.719412945610884, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "W09hxnpYp7ZCMQNau0gQ5", + "type": "arrow", + "x": 748.7192228846966, + "y": 213.00766659434473, + "width": 214.6512940159273, + "height": 203.26827084841617, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 354069028, + "version": 247, + "versionNonce": 1605619740, + "isDeleted": false, + "boundElements": [], + "updated": 1736110785661, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -18.429656556922964, + 185.38066301375554 + ], + [ + -214.6512940159273, + 203.26827084841617 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "2l_Chl1uiePuhtVfhnyck", + "focus": 0.0010700820007683068, + "gap": 6.549755885214296 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "27WcI39xfESYsS9PiVlal", + "type": "line", + "x": 450.05037691809054, + "y": 419.52822977633554, + "width": 111.11998806380086, + "height": 136.05422928787323, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1350775076, + "version": 244, + "versionNonce": 159083676, + "isDeleted": false, + "boundElements": null, + "updated": 1736110785661, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -98.65286745176462, + -17.887607834660628 + ], + [ + -111.11998806380086, + -136.05422928787323 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/Images/excalidraw/Modern-Control/state-space-1.excalidraw.json b/docs/Images/.excalidraw/Modern-Control/state-space-1.excalidraw.json similarity index 100% rename from docs/Images/excalidraw/Modern-Control/state-space-1.excalidraw.json rename to docs/Images/.excalidraw/Modern-Control/state-space-1.excalidraw.json diff --git a/docs/Images/excalidraw/Modern-Control/state-space-2.excalidraw.json b/docs/Images/.excalidraw/Modern-Control/state-space-2.excalidraw.json similarity index 100% rename from docs/Images/excalidraw/Modern-Control/state-space-2.excalidraw.json rename to docs/Images/.excalidraw/Modern-Control/state-space-2.excalidraw.json diff --git a/docs/Images/.excalidraw/Relation-to-classical-control/control-of-a-plant-in-z.excalidraw.json b/docs/Images/.excalidraw/Relation-to-classical-control/control-of-a-plant-in-z.excalidraw.json new file mode 100644 index 0000000..3b8fdc8 --- /dev/null +++ b/docs/Images/.excalidraw/Relation-to-classical-control/control-of-a-plant-in-z.excalidraw.json @@ -0,0 +1,1332 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", + "elements": [ + { + "id": "JXlarr7OJCLeC0DdkzxWO", + "type": "rectangle", + "x": 269, + "y": 313, + "width": 84, + "height": 67.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 643347832, + "version": 76, + "versionNonce": 104516984, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "CjeVqaGnnDI8t4mpjHvIh" + }, + { + "id": "7zi_GDhUm56JEj0G50NnG", + "type": "arrow" + }, + { + "id": "C9bH0TwY9rtp9whx37DqU", + "type": "arrow" + } + ], + "updated": 1736078442947, + "link": null, + "locked": false + }, + { + "id": "CjeVqaGnnDI8t4mpjHvIh", + "type": "text", + "x": 284.8400192260742, + "y": 334.25, + "width": 52.31996154785156, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1033062008, + "version": 18, + "versionNonce": 1229325944, + "isDeleted": false, + "boundElements": null, + "updated": 1736079314601, + "link": null, + "locked": false, + "text": "Gc(z)", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "JXlarr7OJCLeC0DdkzxWO", + "originalText": "Gc(z)", + "lineHeight": 1.25 + }, + { + "id": "iougXF7A8nOjJURE27LLI", + "type": "rectangle", + "x": 484.5, + "y": 313, + "width": 84, + "height": 67.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 337840760, + "version": 322, + "versionNonce": 1292667000, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "WiU4HOU9rNu0suQTASJfP" + }, + { + "id": "7zi_GDhUm56JEj0G50NnG", + "type": "arrow" + }, + { + "id": "xe7QOddxIocp_Exs51qtZ", + "type": "arrow" + } + ], + "updated": 1736078433700, + "link": null, + "locked": false + }, + { + "id": "WiU4HOU9rNu0suQTASJfP", + "type": "text", + "x": 507.48001861572266, + "y": 334.25, + "width": 38.03996276855469, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 155908984, + "version": 270, + "versionNonce": 827813240, + "isDeleted": false, + "boundElements": null, + "updated": 1736078052951, + "link": null, + "locked": false, + "text": "ZoH", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "iougXF7A8nOjJURE27LLI", + "originalText": "ZoH", + "lineHeight": 1.25 + }, + { + "id": "x0nCB3VUa7ETYXATmnGTK", + "type": "rectangle", + "x": 700, + "y": 313, + "width": 84, + "height": 67.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 819374088, + "version": 221, + "versionNonce": 1144669704, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "8kRYIyZK5gH5hsETWv2rD" + }, + { + "id": "xe7QOddxIocp_Exs51qtZ", + "type": "arrow" + }, + { + "id": "oEgoWBynrD16vV-FDHkbr", + "type": "arrow" + } + ], + "updated": 1736078052951, + "link": null, + "locked": false + }, + { + "id": "8kRYIyZK5gH5hsETWv2rD", + "type": "text", + "x": 716.2200241088867, + "y": 334.25, + "width": 51.55995178222656, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 716344840, + "version": 179, + "versionNonce": 1744502392, + "isDeleted": false, + "boundElements": null, + "updated": 1736078052951, + "link": null, + "locked": false, + "text": "Gp(s)", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "x0nCB3VUa7ETYXATmnGTK", + "originalText": "Gp(s)", + "lineHeight": 1.25 + }, + { + "id": "gDG7F4tT2oD2B7kTePpZ7", + "type": "rectangle", + "x": -32, + "y": 310.73197500000003, + "width": 169.49999999999994, + "height": 67.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "q-iCPWRlOVrujdJdlxGz9" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 1466322952, + "version": 585, + "versionNonce": 1990496376, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "ark9lUXobhVksgNc0CuGH" + }, + { + "id": "C9bH0TwY9rtp9whx37DqU", + "type": "arrow" + }, + { + "id": "i4_b57rZl7BeySnJVSa_Z", + "type": "arrow" + } + ], + "updated": 1736078484736, + "link": null, + "locked": false + }, + { + "id": "ark9lUXobhVksgNc0CuGH", + "type": "text", + "x": 9.126029968261719, + "y": 334.48197500000003, + "width": 87.24794006347656, + "height": 20, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "q-iCPWRlOVrujdJdlxGz9" + ], + "frameId": null, + "roundness": null, + "seed": 779154296, + "version": 235, + "versionNonce": 1465506312, + "isDeleted": false, + "boundElements": null, + "updated": 1736078419165, + "link": null, + "locked": false, + "text": "Antialiasing", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 14, + "containerId": "gDG7F4tT2oD2B7kTePpZ7", + "originalText": "Antialiasing", + "lineHeight": 1.25 + }, + { + "id": "DR9GTNjgHEHxUp-dO7mZD", + "type": "arrow", + "x": 3.8333333333333712, + "y": 360.73197500000003, + "width": 0, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "q-iCPWRlOVrujdJdlxGz9" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 602325880, + "version": 151, + "versionNonce": 438393096, + "isDeleted": false, + "boundElements": null, + "updated": 1736078419165, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -40 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "Kr5goI3LTZPwy_jtEj87_", + "type": "arrow", + "x": -8.666666666666629, + "y": 357.23197500000003, + "width": 123, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "q-iCPWRlOVrujdJdlxGz9" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 403692408, + "version": 201, + "versionNonce": 899741704, + "isDeleted": false, + "boundElements": null, + "updated": 1736078419165, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 123, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "type": "ellipse", + "version": 287, + "versionNonce": 811530616, + "isDeleted": false, + "id": "Yn4xRbmtXk1J9UBfVZSim", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -206.13775666666663, + "y": 327.25, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 39, + "height": 39, + "seed": 727644280, + "groupIds": [ + "zi-LuFHgVfaW39VwMPikD" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "id": "i4_b57rZl7BeySnJVSa_Z", + "type": "arrow" + }, + { + "id": "96dV-0CO_ML9GWXJk-yR5", + "type": "arrow" + }, + { + "id": "LXhLGGWUCY2EnCvTqnUEe", + "type": "arrow" + } + ], + "updated": 1736078486798, + "link": null, + "locked": false + }, + { + "type": "line", + "version": 289, + "versionNonce": 1152647800, + "isDeleted": false, + "id": "Wwry1ur-OK2nfYkOaAKyd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -187.13062154328304, + "y": 335.25, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 22, + "seed": 1859725688, + "groupIds": [ + "zi-LuFHgVfaW39VwMPikD" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736078454367, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 22 + ] + ] + }, + { + "type": "line", + "version": 327, + "versionNonce": 1828516728, + "isDeleted": false, + "id": "u3hM2L4ev_sEvXGJda42Q", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -198.79590335963144, + "y": 346.6673590918258, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 24.641493777715596, + "height": 0, + "seed": 98908792, + "groupIds": [ + "zi-LuFHgVfaW39VwMPikD" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736078454367, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 24.641493777715596, + 0 + ] + ] + }, + { + "id": "X6d_TX2GBrGpF55CHZskG", + "type": "line", + "x": 194.83333333333337, + "y": 253.50000000000006, + "width": 2.842170943040401e-14, + "height": 201, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1307834744, + "version": 43, + "versionNonce": 1843757320, + "isDeleted": false, + "boundElements": null, + "updated": 1736078052951, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.842170943040401e-14, + 201 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "7zi_GDhUm56JEj0G50NnG", + "type": "arrow", + "x": 362.33333333333337, + "y": 346.00000000000006, + "width": 115, + "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": 1062927880, + "version": 122, + "versionNonce": 777911560, + "isDeleted": false, + "boundElements": null, + "updated": 1736078433700, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 115, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": -0.022222222222220537, + "gap": 9.333333333333371, + "elementId": "JXlarr7OJCLeC0DdkzxWO" + }, + "endBinding": { + "focus": 0.022222222222220537, + "gap": 7.166666666666629, + "elementId": "iougXF7A8nOjJURE27LLI" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "xe7QOddxIocp_Exs51qtZ", + "type": "arrow", + "x": 575.3333333333334, + "y": 346.00000000000006, + "width": 115, + "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": 807864952, + "version": 190, + "versionNonce": 49792120, + "isDeleted": false, + "boundElements": null, + "updated": 1736078052951, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 115, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": -0.022222222222220537, + "gap": 6.833333333333371, + "elementId": "iougXF7A8nOjJURE27LLI" + }, + "endBinding": { + "focus": 0.022222222222220537, + "gap": 9.666666666666629, + "elementId": "x0nCB3VUa7ETYXATmnGTK" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "oEgoWBynrD16vV-FDHkbr", + "type": "arrow", + "x": 791.8333333333334, + "y": 346.00000000000006, + "width": 192.875, + "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": 697971320, + "version": 386, + "versionNonce": 1942834696, + "isDeleted": false, + "boundElements": null, + "updated": 1736078496105, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 192.875, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "x0nCB3VUa7ETYXATmnGTK", + "focus": -0.02222222222222054, + "gap": 7.833333333333371 + }, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "C9bH0TwY9rtp9whx37DqU", + "type": "arrow", + "x": 143.83333333333337, + "y": 346.00000000000006, + "width": 115, + "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": 1014291464, + "version": 181, + "versionNonce": 1754012424, + "isDeleted": false, + "boundElements": null, + "updated": 1736078438965, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 115, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.04497851851851919, + "gap": 6.333333333333428, + "elementId": "gDG7F4tT2oD2B7kTePpZ7" + }, + "endBinding": { + "focus": 0.022222222222220537, + "gap": 10.166666666666629, + "elementId": "JXlarr7OJCLeC0DdkzxWO" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "i4_b57rZl7BeySnJVSa_Z", + "type": "arrow", + "x": -155.16666666666663, + "y": 346.00000000000006, + "width": 115, + "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": 644379912, + "version": 274, + "versionNonce": 1654952968, + "isDeleted": false, + "boundElements": null, + "updated": 1736078484736, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 115, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": -0.03846153846153555, + "gap": 11.980025504883248, + "elementId": "Yn4xRbmtXk1J9UBfVZSim" + }, + "endBinding": { + "focus": -0.0449785185185192, + "gap": 8.166666666666629, + "elementId": "gDG7F4tT2oD2B7kTePpZ7" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "96dV-0CO_ML9GWXJk-yR5", + "type": "arrow", + "x": 858.4583333333334, + "y": 344.5714285714286, + "width": 1043, + "height": 189.00000000000006, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 579565432, + "version": 191, + "versionNonce": 1397765640, + "isDeleted": false, + "boundElements": [], + "updated": 1736078489443, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -113, + 187.00000000000006 + ], + [ + -906.0000000000001, + 189.00000000000006 + ], + [ + -1043, + 28 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "Yn4xRbmtXk1J9UBfVZSim", + "focus": 0.776281151825069, + "gap": 6.4063653714196285 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "LXhLGGWUCY2EnCvTqnUEe", + "type": "arrow", + "x": -332.04166666666663, + "y": 346.00000000000006, + "width": 115, + "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": 77114232, + "version": 326, + "versionNonce": 492750968, + "isDeleted": false, + "boundElements": null, + "updated": 1736078486798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 115, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "Yn4xRbmtXk1J9UBfVZSim", + "focus": 0.03846153846153555, + "gap": 10.913159048150515 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "L17d7yCmK1fTDKLzENxA_", + "type": "text", + "x": 216.58333333333337, + "y": 264.0714285714285, + "width": 54.719970703125, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "sgxZVgypg0-x5Qmb2K2G5" + ], + "frameId": null, + "roundness": null, + "seed": 1393257336, + "version": 30, + "versionNonce": 215743496, + "isDeleted": false, + "boundElements": null, + "updated": 1736078567660, + "link": null, + "locked": false, + "text": "z = e", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "z = e", + "lineHeight": 1.25 + }, + { + "id": "e8Cwz0QnAWOnBnBI6xvD5", + "type": "text", + "x": 271.58333333333337, + "y": 258.4464285714285, + "width": 21.551986694335938, + "height": 20, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "sgxZVgypg0-x5Qmb2K2G5" + ], + "frameId": null, + "roundness": null, + "seed": 1906409992, + "version": 42, + "versionNonce": 2046322040, + "isDeleted": false, + "boundElements": null, + "updated": 1736078570339, + "link": null, + "locked": false, + "text": "sT", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 14, + "containerId": null, + "originalText": "sT", + "lineHeight": 1.25 + }, + { + "id": "Y42VdqiYG06I6yJNcgr01", + "type": "text", + "x": -294.04166666666663, + "y": 307.1964285714285, + "width": 34.9599609375, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1690789752, + "version": 20, + "versionNonce": 679082872, + "isDeleted": false, + "boundElements": null, + "updated": 1736078586091, + "link": null, + "locked": false, + "text": "r(t)", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "r(t)", + "lineHeight": 1.25 + }, + { + "id": "PyvDR8TKGagzesEyyuruj", + "type": "text", + "x": 848.4583333333334, + "y": 312.8214285714285, + "width": 35.739959716796875, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 73104760, + "version": 5, + "versionNonce": 328200712, + "isDeleted": false, + "boundElements": null, + "updated": 1736078595892, + "link": null, + "locked": false, + "text": "y(t)", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "y(t)", + "lineHeight": 1.25 + }, + { + "id": "_cEnVO6Qx0LJ_Whgbp2eR", + "type": "text", + "x": -112.16666666666663, + "y": 306.5714285714285, + "width": 37.299957275390625, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1026625544, + "version": 16, + "versionNonce": 1788788488, + "isDeleted": false, + "boundElements": null, + "updated": 1736078617908, + "link": null, + "locked": false, + "text": "e(t)", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "e(t)", + "lineHeight": 1.25 + }, + { + "id": "7x0pTg2Hca6ML5etqQgHy", + "type": "text", + "x": -153.41666666666663, + "y": 406.5714285714285, + "width": 35.739959716796875, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1320197384, + "version": 5, + "versionNonce": 2014714744, + "isDeleted": false, + "boundElements": null, + "updated": 1736078623118, + "link": null, + "locked": false, + "text": "y(t)", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "y(t)", + "lineHeight": 1.25 + }, + { + "id": "a8BwNnjbK6Qvso4tDvDbo", + "type": "line", + "x": -191.54166666666663, + "y": 401.5714285714285, + "width": 23.125, + "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": 1936694648, + "version": 37, + "versionNonce": 1568363272, + "isDeleted": false, + "boundElements": null, + "updated": 1736078630875, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -23.125, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "JY7-Zhd7yKpe2qVgAbfLl", + "type": "text", + "x": 225.95833333333337, + "y": 309.6964285714285, + "width": 37.43995666503906, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 933646968, + "version": 5, + "versionNonce": 1760783624, + "isDeleted": false, + "boundElements": null, + "updated": 1736078641546, + "link": null, + "locked": false, + "text": "e(z)", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "e(z)", + "lineHeight": 1.25 + }, + { + "id": "ENZTlJCKSA_7ebf5PwyRF", + "type": "text", + "x": 509.70833333333337, + "y": 282.8214285714285, + "width": 38.71998596191406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 543971704, + "version": 90, + "versionNonce": 1815851384, + "isDeleted": false, + "boundElements": null, + "updated": 1736078700696, + "link": null, + "locked": false, + "text": "D/A", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "D/A", + "lineHeight": 1.25 + }, + { + "id": "t7V9xyIQm9rATor45YAXu", + "type": "text", + "x": 145.33333333333337, + "y": 417.1964285714285, + "width": 38.71998596191406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 118308728, + "version": 43, + "versionNonce": 1750920056, + "isDeleted": false, + "boundElements": null, + "updated": 1736078718813, + "link": null, + "locked": false, + "text": "A/D", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "A/D", + "lineHeight": 1.25 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/Images/.excalidraw/State-Feedback/block-diagram-state-feedback.excalidraw.json b/docs/Images/.excalidraw/State-Feedback/block-diagram-state-feedback.excalidraw.json new file mode 100644 index 0000000..9e7a4c5 --- /dev/null +++ b/docs/Images/.excalidraw/State-Feedback/block-diagram-state-feedback.excalidraw.json @@ -0,0 +1,2811 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", + "elements": [ + { + "id": "WcsrAWHEtxTBOje0Pko5Q", + "type": "line", + "x": -203.81497789229127, + "y": 699.3333333333333, + "width": 931.6666666666665, + "height": 883.7926313812688, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2050497267, + "version": 770, + "versionNonce": 1714002227, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.842170943040401e-14, + -882.125964714602 + ], + [ + 153.9738361427157, + -880.6405028093822 + ], + [ + 155.83333333333337, + -544.291879082781 + ], + [ + 930.6455377714655, + -548.322325603661 + ], + [ + 931.6666666666665, + 1.6666666666667993 + ], + [ + 0, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "glkUsNV5izb-dEE0DH7Aw", + "type": "rectangle", + "x": 29.239409000000002, + "y": -115.30103476803995, + "width": 65, + "height": 71.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 823953469, + "version": 206, + "versionNonce": 498993021, + "isDeleted": false, + "boundElements": [ + { + "id": "GBroY2iYwNNTk9g8X8LkS", + "type": "arrow" + }, + { + "type": "text", + "id": "Et0ErPuICBgpkH2SvI8RR" + }, + { + "id": "uneYqt9a1iyaulwvae-sC", + "type": "arrow" + } + ], + "updated": 1736344574685, + "link": null, + "locked": false + }, + { + "id": "Et0ErPuICBgpkH2SvI8RR", + "type": "text", + "x": 54.469412356933596, + "y": -92.05103476803995, + "width": 14.539993286132812, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 70940829, + "version": 150, + "versionNonce": 715520723, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "text": "B", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "glkUsNV5izb-dEE0DH7Aw", + "originalText": "B", + "lineHeight": 1.25 + }, + { + "id": "SSskeK9nJOLL12DVQMNv0", + "type": "rectangle", + "x": 288, + "y": -115.30103476803995, + "width": 65, + "height": 71.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 855334141, + "version": 419, + "versionNonce": 921309149, + "isDeleted": false, + "boundElements": [ + { + "id": "Meg_WAVQ3k1HmYb-deBbW", + "type": "arrow" + }, + { + "id": "jcKTbEBXFfCC3hiSKd2dh", + "type": "arrow" + }, + { + "type": "text", + "id": "wAscm5ujFTV2zv1yS6thl" + } + ], + "updated": 1736344574685, + "link": null, + "locked": false + }, + { + "id": "wAscm5ujFTV2zv1yS6thl", + "type": "text", + "x": 307.3600082397461, + "y": -92.05103476803995, + "width": 26.279983520507812, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 887141725, + "version": 364, + "versionNonce": 275064947, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "text": "1/s", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "SSskeK9nJOLL12DVQMNv0", + "originalText": "1/s", + "lineHeight": 1.25 + }, + { + "type": "ellipse", + "version": 170, + "versionNonce": 1916144701, + "isDeleted": false, + "id": "r6TiUE80mkw5H9SWnWrho", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 164.75, + "y": -99.05103476803995, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 39, + "height": 39, + "seed": 356254141, + "groupIds": [ + "2NWKOZf0l72BKgZ8hYGNm" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "id": "GBroY2iYwNNTk9g8X8LkS", + "type": "arrow" + }, + { + "id": "38BoukfXwRTENTRSCkJld", + "type": "arrow" + } + ], + "updated": 1736344574685, + "link": null, + "locked": false + }, + { + "type": "line", + "version": 174, + "versionNonce": 2100142611, + "isDeleted": false, + "id": "KELSFrj5t9rDm1vHCUngX", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 183.7571351233836, + "y": -91.05103476804007, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 22, + "seed": 2033107485, + "groupIds": [ + "2NWKOZf0l72BKgZ8hYGNm" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 22 + ] + ] + }, + { + "type": "line", + "version": 212, + "versionNonce": 1870888093, + "isDeleted": false, + "id": "8gHkdugSLoTCl_7JwUyUm", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 172.0918533070352, + "y": -79.63367567621415, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 24.641493777715596, + "height": 0, + "seed": 1705670269, + "groupIds": [ + "2NWKOZf0l72BKgZ8hYGNm" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 24.641493777715596, + 0 + ] + ] + }, + { + "id": "EFKU2JXSQ886bc_F4GH53", + "type": "rectangle", + "x": 288, + "y": 45.698965231960045, + "width": 65, + "height": 71.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 1165008605, + "version": 472, + "versionNonce": 1509287859, + "isDeleted": false, + "boundElements": [ + { + "id": "KKi7s3kU-JnWMLBTNouZ1", + "type": "arrow" + }, + { + "id": "38BoukfXwRTENTRSCkJld", + "type": "arrow" + }, + { + "type": "text", + "id": "iLsTCSyL8oduMYFXVpHoy" + } + ], + "updated": 1736344574685, + "link": null, + "locked": false + }, + { + "id": "iLsTCSyL8oduMYFXVpHoy", + "type": "text", + "x": 313.94000244140625, + "y": 68.94896523196005, + "width": 13.1199951171875, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 789756733, + "version": 423, + "versionNonce": 1451483389, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "text": "A", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "EFKU2JXSQ886bc_F4GH53", + "originalText": "A", + "lineHeight": 1.25 + }, + { + "id": "ukVleVf7v8czwJGxB_O8x", + "type": "rectangle", + "x": 437.25, + "y": -115.30103476803995, + "width": 65, + "height": 71.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 1840671667, + "version": 482, + "versionNonce": 753170771, + "isDeleted": false, + "boundElements": [ + { + "id": "jcKTbEBXFfCC3hiSKd2dh", + "type": "arrow" + }, + { + "id": "d8SdY5tqYYRC_Rb9b6Lvy", + "type": "arrow" + }, + { + "type": "text", + "id": "JsWKW1fZV8gUJnsuAe0dy" + } + ], + "updated": 1736344574685, + "link": null, + "locked": false + }, + { + "id": "JsWKW1fZV8gUJnsuAe0dy", + "type": "text", + "x": 463.3100051879883, + "y": -92.05103476803995, + "width": 12.879989624023438, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2113174867, + "version": 430, + "versionNonce": 1555609949, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "text": "C", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "ukVleVf7v8czwJGxB_O8x", + "originalText": "C", + "lineHeight": 1.25 + }, + { + "id": "Meg_WAVQ3k1HmYb-deBbW", + "type": "arrow", + "x": 209.5, + "y": -78.80103476803995, + "width": 71.5, + "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": 1476380765, + "version": 172, + "versionNonce": 1934612211, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 71.5, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "kpbdw4-u7XbfN8OtHNpw4", + "focus": 1.1428571428571428, + "gap": 14.5 + }, + "endBinding": { + "elementId": "SSskeK9nJOLL12DVQMNv0", + "focus": -0.02097902097902098, + "gap": 7 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "jcKTbEBXFfCC3hiSKd2dh", + "type": "arrow", + "x": 362.5, + "y": -78.80103476803995, + "width": 70.66666666666674, + "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": 1224783037, + "version": 281, + "versionNonce": 192120253, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 70.66666666666674, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "wWJyP0rOISPmM-tuOOpTb", + "focus": 1.2285714285714286, + "gap": 4 + }, + "endBinding": { + "elementId": "ukVleVf7v8czwJGxB_O8x", + "focus": -0.02097902097902098, + "gap": 4.0833333333332575 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "GBroY2iYwNNTk9g8X8LkS", + "type": "arrow", + "x": 98.73940900000002, + "y": -78.84352506070415, + "width": 62.760221132151344, + "height": 0.031185680551075734, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 319360093, + "version": 350, + "versionNonce": 1002340499, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 62.760221132151344, + 0.031185680551075734 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "glkUsNV5izb-dEE0DH7Aw", + "focus": 0.019267501418088025, + "gap": 4.500000000000028 + }, + "endBinding": { + "elementId": "r6TiUE80mkw5H9SWnWrho", + "focus": -0.03846153846153832, + "gap": 3.2623592801800854 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "KKi7s3kU-JnWMLBTNouZ1", + "type": "arrow", + "x": 393.5, + "y": -80.30103476803995, + "width": 31, + "height": 169.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1612605821, + "version": 237, + "versionNonce": 1171637789, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.5, + 149 + ], + [ + -31, + 169.5 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "wWJyP0rOISPmM-tuOOpTb", + "focus": -2.548813131978773, + "gap": 12.764007568359375 + }, + "endBinding": { + "elementId": "EFKU2JXSQ886bc_F4GH53", + "focus": 0.651231527093596, + "gap": 9.5 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "38BoukfXwRTENTRSCkJld", + "type": "arrow", + "x": 278, + "y": 94.19896523196005, + "width": 95, + "height": 145.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1391342045, + "version": 225, + "versionNonce": 2145842739, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -88.5, + -16.5 + ], + [ + -95, + -145.5 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "EFKU2JXSQ886bc_F4GH53", + "focus": -0.4944765379547988, + "gap": 10 + }, + "endBinding": { + "elementId": "r6TiUE80mkw5H9SWnWrho", + "focus": 0.13692626858193566, + "gap": 8.77764134435543 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "2KHN5VD8TQWhqpY5gbuxo", + "type": "rectangle", + "x": -144.673801, + "y": -115.88090576803995, + "width": 65, + "height": 71.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 1452924989, + "version": 365, + "versionNonce": 1051703251, + "isDeleted": false, + "boundElements": [ + { + "id": "3yr8iZxgF8uZmDZVmjrxg", + "type": "arrow" + }, + { + "type": "text", + "id": "bwcdti12y7iY5sstEanXa" + }, + { + "id": "wvIz2cb_sAnwyLfLdlzj0", + "type": "arrow" + }, + { + "id": "uneYqt9a1iyaulwvae-sC", + "type": "arrow" + } + ], + "updated": 1736344574685, + "link": null, + "locked": false + }, + { + "id": "bwcdti12y7iY5sstEanXa", + "type": "text", + "x": -122.413791234375, + "y": -92.63090576803995, + "width": 20.47998046875, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1078775965, + "version": 312, + "versionNonce": 254190301, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "text": "-K", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "2KHN5VD8TQWhqpY5gbuxo", + "originalText": "-K", + "lineHeight": 1.25 + }, + { + "id": "d8SdY5tqYYRC_Rb9b6Lvy", + "type": "arrow", + "x": 513.1666666666667, + "y": -78.337859079385, + "width": 299.83333333333326, + "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": 1516257523, + "version": 354, + "versionNonce": 1882187763, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 299.83333333333326, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "ukVleVf7v8czwJGxB_O8x", + "focus": 0.033934984298040746, + "gap": 10.916666666666742 + }, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "s2gjCABBCLlLH_fnPovWG", + "type": "rectangle", + "x": 29.239409000000002, + "y": 365, + "width": 65, + "height": 71.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 512171699, + "version": 392, + "versionNonce": 450273715, + "isDeleted": false, + "boundElements": [ + { + "id": "elF_jH38TVe0xSWsopDBY", + "type": "arrow" + }, + { + "type": "text", + "id": "43GsVhoSpz-OWU7n4iJSO" + }, + { + "id": "3yr8iZxgF8uZmDZVmjrxg", + "type": "arrow" + } + ], + "updated": 1736344574685, + "link": null, + "locked": false + }, + { + "id": "43GsVhoSpz-OWU7n4iJSO", + "type": "text", + "x": 54.469412356933596, + "y": 388.25, + "width": 14.539993286132812, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1479987283, + "version": 337, + "versionNonce": 480495357, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "text": "B", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "s2gjCABBCLlLH_fnPovWG", + "originalText": "B", + "lineHeight": 1.25 + }, + { + "id": "Y5Zrbm-2XpDpvO0D9OvRG", + "type": "rectangle", + "x": 288, + "y": 365, + "width": 65, + "height": 71.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 942151251, + "version": 606, + "versionNonce": 1167979347, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "GtLn5qGBROEYB96ELfFqC" + }, + { + "id": "pYBkFQI71nk4_VQf7L3Oe", + "type": "arrow" + }, + { + "id": "cf067wLlcLgdc2mR7azpb", + "type": "arrow" + } + ], + "updated": 1736344574685, + "link": null, + "locked": false + }, + { + "id": "GtLn5qGBROEYB96ELfFqC", + "type": "text", + "x": 307.3600082397461, + "y": 388.25, + "width": 26.279983520507812, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1847055347, + "version": 551, + "versionNonce": 1642848093, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574685, + "link": null, + "locked": false, + "text": "1/s", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "Y5Zrbm-2XpDpvO0D9OvRG", + "originalText": "1/s", + "lineHeight": 1.25 + }, + { + "type": "ellipse", + "version": 359, + "versionNonce": 1791627507, + "isDeleted": false, + "id": "b97BRIjJ5pB80YRCF_sOZ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 164.75, + "y": 381.25, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 39, + "height": 39, + "seed": 1139514013, + "groupIds": [ + "aXN2OBA-RLiWL_QIkWUGR" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "id": "pYBkFQI71nk4_VQf7L3Oe", + "type": "arrow" + }, + { + "id": "elF_jH38TVe0xSWsopDBY", + "type": "arrow" + }, + { + "id": "IJ4RRXpw500DeYwegEGCr", + "type": "arrow" + }, + { + "id": "4b5qk1RlIu3KD9ffr0zRB", + "type": "arrow" + } + ], + "updated": 1736344574685, + "link": null, + "locked": false + }, + { + "type": "line", + "version": 362, + "versionNonce": 189918141, + "isDeleted": false, + "id": "QWdC3-EPYJiAReu83edS-", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 183.7571351233836, + "y": 389.2499999999999, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 22, + "seed": 1681407741, + "groupIds": [ + "aXN2OBA-RLiWL_QIkWUGR" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736344574686, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 22 + ] + ] + }, + { + "type": "line", + "version": 400, + "versionNonce": 2078374547, + "isDeleted": false, + "id": "9HWEThL4bg-IiXF3BjIFx", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 172.0918533070352, + "y": 400.6673590918258, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 24.641493777715596, + "height": 0, + "seed": 808539997, + "groupIds": [ + "aXN2OBA-RLiWL_QIkWUGR" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736344574686, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 24.641493777715596, + 0 + ] + ] + }, + { + "id": "P9PQcT6zBQD1FEXVusdHk", + "type": "rectangle", + "x": 288, + "y": 526, + "width": 65, + "height": 71.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 532527955, + "version": 658, + "versionNonce": 1224174621, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "1a82SB93mmbfvhefdpPfG" + }, + { + "id": "xdE9jtd29723Xf3bz5_l6", + "type": "arrow" + }, + { + "id": "IJ4RRXpw500DeYwegEGCr", + "type": "arrow" + } + ], + "updated": 1736344574686, + "link": null, + "locked": false + }, + { + "id": "1a82SB93mmbfvhefdpPfG", + "type": "text", + "x": 313.94000244140625, + "y": 549.25, + "width": 13.1199951171875, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 178431539, + "version": 610, + "versionNonce": 1973071923, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "A", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "P9PQcT6zBQD1FEXVusdHk", + "originalText": "A", + "lineHeight": 1.25 + }, + { + "id": "AGJjcCuj7RaTyVNxFb3M-", + "type": "rectangle", + "x": 437.25, + "y": 365, + "width": 65, + "height": 71.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 533336979, + "version": 712, + "versionNonce": 1255006333, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "lvmHYMx0pr8R6lNYOGE1W" + }, + { + "id": "cf067wLlcLgdc2mR7azpb", + "type": "arrow" + }, + { + "id": "d8SdY5tqYYRC_Rb9b6Lvy", + "type": "arrow" + }, + { + "id": "6njSmTf5B3KUOhv7CFKah", + "type": "arrow" + } + ], + "updated": 1736344574686, + "link": null, + "locked": false + }, + { + "id": "lvmHYMx0pr8R6lNYOGE1W", + "type": "text", + "x": 463.3100051879883, + "y": 388.25, + "width": 12.879989624023438, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 587737395, + "version": 660, + "versionNonce": 2044473811, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "C", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "AGJjcCuj7RaTyVNxFb3M-", + "originalText": "C", + "lineHeight": 1.25 + }, + { + "id": "pYBkFQI71nk4_VQf7L3Oe", + "type": "arrow", + "x": 209.5, + "y": 401.5, + "width": 71.5, + "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": 2146345395, + "version": 790, + "versionNonce": 1184286941, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 71.5, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "b97BRIjJ5pB80YRCF_sOZ", + "focus": 0.038461538461538464, + "gap": 5.76113615813826 + }, + "endBinding": { + "elementId": "Y5Zrbm-2XpDpvO0D9OvRG", + "focus": -0.02097902097902098, + "gap": 7 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "cf067wLlcLgdc2mR7azpb", + "type": "arrow", + "x": 362.5, + "y": 401.5, + "width": 71.5, + "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": 1913114333, + "version": 859, + "versionNonce": 1494811837, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 71.5, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "Y5Zrbm-2XpDpvO0D9OvRG", + "focus": 0.02097902097902098, + "gap": 9.5 + }, + "endBinding": { + "elementId": "AGJjcCuj7RaTyVNxFb3M-", + "focus": -0.02097902097902098, + "gap": 3.25 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "elF_jH38TVe0xSWsopDBY", + "type": "arrow", + "x": 98.73940900000002, + "y": 401.4575097073358, + "width": 62.760221132151344, + "height": 0.031185680551075734, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 2145525651, + "version": 969, + "versionNonce": 1038329149, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 62.760221132151344, + 0.031185680551075734 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.019267501418088657, + "gap": 4.500000000000028, + "elementId": "s2gjCABBCLlLH_fnPovWG" + }, + "endBinding": { + "focus": -0.038461538461538054, + "gap": 3.2623592801800854, + "elementId": "b97BRIjJ5pB80YRCF_sOZ" + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "xdE9jtd29723Xf3bz5_l6", + "type": "arrow", + "x": 393.5, + "y": 400, + "width": 31, + "height": 169.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1150704851, + "version": 568, + "versionNonce": 1065490707, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.5, + 149 + ], + [ + -31, + 169.5 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "LiC2TvUVOzqYuw2GOtTn8", + "focus": -1.8771923435916298, + "gap": 10.592010498046875 + }, + "endBinding": { + "elementId": "P9PQcT6zBQD1FEXVusdHk", + "focus": 0.651231527093596, + "gap": 9.5 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "IJ4RRXpw500DeYwegEGCr", + "type": "arrow", + "x": 278, + "y": 574.5, + "width": 95, + "height": 145.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 774298931, + "version": 843, + "versionNonce": 68547997, + "isDeleted": false, + "boundElements": [], + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -88.5, + -16.5 + ], + [ + -95, + -145.5 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "P9PQcT6zBQD1FEXVusdHk", + "focus": -0.4944765379547988, + "gap": 10 + }, + "endBinding": { + "elementId": "b97BRIjJ5pB80YRCF_sOZ", + "focus": 0.13692626858193566, + "gap": 8.777641344355438 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "S2s2L_KDBbXO3OybXyf-M", + "type": "rectangle", + "x": -150.671075, + "y": 366.182022, + "width": 65, + "height": 71.5, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 460048851, + "version": 392, + "versionNonce": 1755545267, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "_SCHEcyWkJYZMpy9c_woR" + }, + { + "id": "3yr8iZxgF8uZmDZVmjrxg", + "type": "arrow" + }, + { + "id": "e5CjEWDGQB_cl6NcMuQnF", + "type": "arrow" + } + ], + "updated": 1736344574686, + "link": null, + "locked": false + }, + { + "id": "_SCHEcyWkJYZMpy9c_woR", + "type": "text", + "x": -128.411065234375, + "y": 389.432022, + "width": 20.47998046875, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 630790003, + "version": 341, + "versionNonce": 73349629, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "-K", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "S2s2L_KDBbXO3OybXyf-M", + "originalText": "-K", + "lineHeight": 1.25 + }, + { + "id": "6njSmTf5B3KUOhv7CFKah", + "type": "arrow", + "x": 511, + "y": 401.5, + "width": 71.5, + "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": 1591391869, + "version": 822, + "versionNonce": 611611027, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 71.5, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "AGJjcCuj7RaTyVNxFb3M-", + "focus": 0.02097902097902098, + "gap": 8.75 + }, + "endBinding": { + "elementId": "iGERugfIfJ6ashen2BXLd", + "focus": 0.04636876923077055, + "gap": 7.996558633651279 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "type": "ellipse", + "version": 402, + "versionNonce": 898506899, + "isDeleted": false, + "id": "iGERugfIfJ6ashen2BXLd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 590.481688, + "y": 382.904191, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 39, + "height": 39, + "seed": 2073034333, + "groupIds": [ + "u7gj2Fq5H1Yfz1PWcqtAJ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "id": "6njSmTf5B3KUOhv7CFKah", + "type": "arrow" + }, + { + "id": "vhSCEPZfR5sTwVSidbkM2", + "type": "arrow" + }, + { + "id": "AQx5zeH0mDtO4BirjPLNJ", + "type": "arrow" + } + ], + "updated": 1736344595876, + "link": null, + "locked": false + }, + { + "type": "line", + "version": 398, + "versionNonce": 1187229171, + "isDeleted": false, + "id": "X-kPz-rEFQ6Nvr63NRVJO", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 609.4888231233836, + "y": 390.9041909999999, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 22, + "seed": 958016189, + "groupIds": [ + "u7gj2Fq5H1Yfz1PWcqtAJ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736344574686, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 22 + ] + ] + }, + { + "type": "line", + "version": 436, + "versionNonce": 990682813, + "isDeleted": false, + "id": "YXglB01MTEPbbhB8I0XbQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 597.8235413070352, + "y": 402.3215500918258, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 24.641493777715596, + "height": 0, + "seed": 828361501, + "groupIds": [ + "u7gj2Fq5H1Yfz1PWcqtAJ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1736344574686, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 24.641493777715596, + 0 + ] + ] + }, + { + "id": "GZlgNsHfSdLbjB0Ydcb8g", + "type": "line", + "x": 630.5, + "y": 369, + "width": 16.5, + "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": 1579573309, + "version": 72, + "versionNonce": 887340829, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 16.5, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "4b5qk1RlIu3KD9ffr0zRB", + "type": "arrow", + "x": 608.7408222794792, + "y": 575.2621223400216, + "width": 447.7408222794792, + "height": 210, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1279734909, + "version": 554, + "versionNonce": 1629326963, + "isDeleted": false, + "boundElements": [], + "updated": 1736344591185, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -49.740822279479175, + 57.73787765997838 + ], + [ + -447.7408222794792, + 51.73787765997838 + ], + [ + -441.2408222794792, + -152.26212234002162 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "H4ZQ8By44HnPbaOHwGk_H", + "focus": -0.6410628044313817, + "gap": 10.95522959316338 + }, + "endBinding": { + "elementId": "b97BRIjJ5pB80YRCF_sOZ", + "focus": 0.822200892334452, + "gap": 8.350044883267241 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "WKixq1R8D4uuOBm9uuF6u", + "type": "line", + "x": 393.5, + "y": 400.5, + "width": 506.5, + "height": 122, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1410999219, + "version": 171, + "versionNonce": 830446707, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -64.5, + -116 + ], + [ + -506.5, + -122 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "wvIz2cb_sAnwyLfLdlzj0", + "type": "arrow", + "x": -111.50000000000001, + "y": 278.5, + "width": 1.4210854715202004e-14, + "height": 314.3010347680399, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1857975859, + "version": 296, + "versionNonce": 2061080083, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.4210854715202004e-14, + -314.3010347680399 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "2KHN5VD8TQWhqpY5gbuxo", + "focus": -0.020732338461538487, + "gap": 8.579870999999997 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "e5CjEWDGQB_cl6NcMuQnF", + "type": "arrow", + "x": -110.5, + "y": 276.5, + "width": 1.282711456275365, + "height": 77.68202200000002, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 987376211, + "version": 70, + "versionNonce": 1774241949, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.282711456275365, + 77.68202200000002 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "S2s2L_KDBbXO3OybXyf-M", + "focus": 0.16923076923076924, + "gap": 12 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "uneYqt9a1iyaulwvae-sC", + "type": "arrow", + "x": -72.76059099999998, + "y": -78.84352506070415, + "width": 94.76059099999998, + "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": 1474630941, + "version": 468, + "versionNonce": 637754291, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 94.76059099999998, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "2KHN5VD8TQWhqpY5gbuxo", + "focus": 0.03601064915624615, + "gap": 6.913210000000021 + }, + "endBinding": { + "elementId": "glkUsNV5izb-dEE0DH7Aw", + "focus": -0.019790481324078388, + "gap": 7.239408999999995 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "3yr8iZxgF8uZmDZVmjrxg", + "type": "arrow", + "x": -76.76059099999998, + "y": 401.4575097073358, + "width": 95.76059099999998, + "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": 746755475, + "version": 1049, + "versionNonce": 859286781, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 95.76059099999998, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "S2s2L_KDBbXO3OybXyf-M", + "focus": -0.013273071123474157, + "gap": 8.910484000000025 + }, + "endBinding": { + "elementId": "s2gjCABBCLlLH_fnPovWG", + "focus": -0.019790481324078787, + "gap": 10.239408999999995 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "Z8ELF9-tUzXIrqDmXKFhL", + "type": "text", + "x": 568.5, + "y": -121.80103476803995, + "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": 1072060861, + "version": 63, + "versionNonce": 2133028179, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "y", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "y", + "lineHeight": 1.25 + }, + { + "id": "GsepOj241z8ZirWFqbWbD", + "type": "text", + "x": 532, + "y": 352.5, + "width": 20.803985595703125, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1361948851, + "version": 29, + "versionNonce": 152241501, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "y.", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "y.", + "lineHeight": 1.25 + }, + { + "id": "wWJyP0rOISPmM-tuOOpTb", + "type": "text", + "x": 365, + "y": -117.80103476803995, + "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": 18319475, + "version": 73, + "versionNonce": 160451315, + "isDeleted": false, + "boundElements": [ + { + "id": "KKi7s3kU-JnWMLBTNouZ1", + "type": "arrow" + }, + { + "id": "jcKTbEBXFfCC3hiSKd2dh", + "type": "arrow" + } + ], + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "x", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "x", + "lineHeight": 1.25 + }, + { + "id": "LiC2TvUVOzqYuw2GOtTn8", + "type": "text", + "x": 359.5, + "y": 363.5, + "width": 23.407989501953125, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2126980541, + "version": 39, + "versionNonce": 1319391677, + "isDeleted": false, + "boundElements": [ + { + "id": "xdE9jtd29723Xf3bz5_l6", + "type": "arrow" + } + ], + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "x.", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "x.", + "lineHeight": 1.25 + }, + { + "id": "kpbdw4-u7XbfN8OtHNpw4", + "type": "text", + "x": 224, + "y": -116.30103476803995, + "width": 31.667984008789062, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 165995763, + "version": 77, + "versionNonce": 433091731, + "isDeleted": false, + "boundElements": [ + { + "id": "Meg_WAVQ3k1HmYb-deBbW", + "type": "arrow" + } + ], + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "dx", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "dx", + "lineHeight": 1.25 + }, + { + "id": "KWWWMlZFMtHlP3KYfCOzG", + "type": "text", + "x": 217.5, + "y": 366, + "width": 39.33998107910156, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1331217811, + "version": 31, + "versionNonce": 17633821, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "dx.", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "dx.", + "lineHeight": 1.25 + }, + { + "id": "3VS0VbI1AjvkQm-NK_Zmo", + "type": "text", + "x": -42, + "y": 363, + "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": 214334589, + "version": 34, + "versionNonce": 798648883, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "u", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "u", + "lineHeight": 1.25 + }, + { + "id": "X6-A629SEg8UrUqEjxb5_", + "type": "text", + "x": -42, + "y": -111.30103476803995, + "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": 1010482323, + "version": 151, + "versionNonce": 2101266045, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "u", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "u", + "lineHeight": 1.25 + }, + { + "id": "R9tD1QBgJj6TQCRav_cgO", + "type": "text", + "x": -158, + "y": 259.5, + "width": 23.407989501953125, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1932763667, + "version": 28, + "versionNonce": 265595859, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "x.", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 25, + "containerId": null, + "originalText": "x.", + "lineHeight": 1.25 + }, + { + "id": "DSBfH6nlu7VU9kXmVT_fN", + "type": "text", + "x": -175.49999999999977, + "y": 517.6666666666663, + "width": 278.9999084472656, + "height": 90, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1831245139, + "version": 57, + "versionNonce": 2032407315, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "text": "Controller Block\nGc(s)", + "fontSize": 36, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "top", + "baseline": 77, + "containerId": null, + "originalText": "Controller Block\nGc(s)", + "lineHeight": 1.25 + }, + { + "id": "vhSCEPZfR5sTwVSidbkM2", + "type": "arrow", + "x": 611.3333333333335, + "y": -76.5077505083363, + "width": 0, + "height": 446.3964996663165, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1171279187, + "version": 349, + "versionNonce": 11709011, + "isDeleted": false, + "boundElements": null, + "updated": 1736344574686, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 446.3964996663165 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "iGERugfIfJ6ashen2BXLd", + "focus": 0.06931514529915497, + "gap": 13.04352321567065 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "type": "rectangle", + "version": 795, + "versionNonce": 18307027, + "isDeleted": false, + "id": "H4ZQ8By44HnPbaOHwGk_H", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 575.8988354779069, + "y": 492.80689274685824, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 65, + "height": 71.5, + "seed": 1969055955, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "qsiw5wXkn4GM7jUvioi_l" + }, + { + "id": "4b5qk1RlIu3KD9ffr0zRB", + "type": "arrow" + }, + { + "id": "AQx5zeH0mDtO4BirjPLNJ", + "type": "arrow" + } + ], + "updated": 1736344595876, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 742, + "versionNonce": 437905875, + "isDeleted": false, + "id": "qsiw5wXkn4GM7jUvioi_l", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 602.4088376141374, + "y": 516.0568927468582, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 11.979995727539062, + "height": 25, + "seed": 771675763, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1736344586470, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "L", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "H4ZQ8By44HnPbaOHwGk_H", + "originalText": "L", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "id": "AQx5zeH0mDtO4BirjPLNJ", + "type": "arrow", + "x": 609.9171909189488, + "y": 427.5862559175722, + "width": 0, + "height": 58.456684480112926, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2117940893, + "version": 24, + "versionNonce": 1415223485, + "isDeleted": false, + "boundElements": [], + "updated": 1736344597017, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 58.456684480112926 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "iGERugfIfJ6ashen2BXLd", + "focus": 0.003307542618008833, + "gap": 5.682147513392962 + }, + "endBinding": { + "elementId": "H4ZQ8By44HnPbaOHwGk_H", + "focus": 0.04671862895513467, + "gap": 6.76395234917311 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/Images/Examples/Example-3/double-cart.png b/docs/Images/Examples/Example-3/double-cart.png new file mode 100644 index 0000000..2137d5d Binary files /dev/null and b/docs/Images/Examples/Example-3/double-cart.png differ diff --git a/docs/Images/Examples/Example-3/suspended-mass.png b/docs/Images/Examples/Example-3/suspended-mass.png new file mode 100644 index 0000000..14c6bf1 Binary files /dev/null and b/docs/Images/Examples/Example-3/suspended-mass.png differ diff --git a/docs/Images/Modern-Control/cart-pulled.png b/docs/Images/Modern-Control/cart-pulled.png new file mode 100644 index 0000000..3e91979 Binary files /dev/null and b/docs/Images/Modern-Control/cart-pulled.png differ diff --git a/docs/Images/Modern-Control/horner-factorization.png b/docs/Images/Modern-Control/horner-factorization.png new file mode 100644 index 0000000..a0141ae Binary files /dev/null and b/docs/Images/Modern-Control/horner-factorization.png differ diff --git a/docs/Images/Relation-to-classical-control/digital-control.png b/docs/Images/Relation-to-classical-control/digital-control.png new file mode 100644 index 0000000..9082588 Binary files /dev/null and b/docs/Images/Relation-to-classical-control/digital-control.png differ diff --git a/docs/Images/State-Feedback/block-diagram.png b/docs/Images/State-Feedback/block-diagram.png new file mode 100644 index 0000000..c05c52b Binary files /dev/null and b/docs/Images/State-Feedback/block-diagram.png differ diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..e69de29