```python
import sympy as sm
import sympy.physics.mechanics as me
me.init_vprinting()
```


```python
theta, beta, alpha, l = me.dynamicsymbols('theta, beta, alpha, l')
A, B, C, D = sm.symbols('A, B, C, D', cls=me.ReferenceFrame)
```


```python
B.orient_axis(A, theta, A.z)
C.orient_axis(B, beta, -B.x)
D.orient_axis(C, alpha, C.z)
```


```python
r = l*D.x
r
```


```python
r.express(C)
```


```python
r.express(B)
```


```python
r.express(A)
```


```python
r.dot(C.x).diff(alpha)
```


```python
r.dot(C.y).diff(alpha)
```


```python
r_alpha_C = r.dot(C.x).diff(alpha)*C.x + r.dot(C.y).diff(alpha)*C.y
r_alpha_C
```


```python
r.diff(alpha, C).express(C).simplify()
```


```python
theta, beta, alpha, l
```


```python
t = me.dynamicsymbols._t
```


```python
theta.diff(t)
```


```python
r
```


```python
r.diff(t, D)
```


```python
r.diff(t, A).simplify()
```


```python
r.dt(A)
```


```python
r.dt(D)
```


```python
q = t*A.y
q
```


```python
q.dt(A).dt(B)
```


```python
q.dt(B).dt(A)
```

b28a5a23a155aef27fdd24f02e0d23ab19c32b4d
ipynb
Jupyter Notebook
content/notebooks/differentiation.ipynb
moorepants/me41055
5c941d28f6f61fa1a02fbda4772d88010014eec0
CC-BY-4.0
content/notebooks/differentiation.ipynb
moorepants/me41055
5c941d28f6f61fa1a02fbda4772d88010014eec0
CC-BY-4.0
2022-01-07T18:05:36.000Z
2022-03-22T15:15:01.000Z
content/notebooks/differentiation.ipynb
moorepants/me41055
5c941d28f6f61fa1a02fbda4772d88010014eec0
CC-BY-4.0
2022-01-24T17:18:40.000Z
2022-01-24T17:18:40.000Z
Qwen/Qwen-72B
1. YES
2. YES