3.3.T
Gegeben
Symbole:
Ein Rad mit Radius \(r\) rollt auf einer horizontalen Linie.
Ein Teilchen am Radmittelpunkt A hat die Geschwindigkeit \(\bar v\) und die Beschleunigung \(\bar a\).
a) Winkelgeschwindigkeit
Berechnen Sie die Winkelgeschwindigkeit \(\omega\) des Rads. Zeigen Sie, dass:
Einsetzen der gegebenen Größen liefert die Behauptung.Lösung
b) Geschwindigkeit
Berechnen Sie die \((x,y)\)-Komponenten des Geschwindigkeitsvektors \(\boldsymbol v\) eines Teilchens auf dem Rad bei B. Zeigen Sie, dass:
Und berechnen Sie damit den Betrag \(v\) des Geschwindigkeitsvektors und die Winkelposition \(\varphi_v\) des Geschwindigkeitsvektors. Zeigen Sie, dass:
Starrkörper-Kinematik: Dasselbe mit \((x,y,z)\)-Komponenten: mit \(c_s = \cos \varphi_s\) und \(s_s = \sin \varphi_s\). Einsetzen der gegebenen und berechneten Größen liefert: Betrag und Winkelposition: Die oben verwendete Gleichung lässt sich für beliebige \(\varphi_s\) auswerten. Zum Beispiel gilt für den Momentanpol mit \(\varphi_s=-90^\circ\) und \(c_s = 0\) und \(s_s = -1\):Lösung
Details
c) Winkelbeschleunigung
Berechnen Sie die Winkelbeschleunigung \(\dot \omega\) des Rads. . Zeigen Sie, dass:
Zusammenhang zwischen der Beschleunigung \(\boldsymbol{\bar a}\) eines Teilchens auf dem Radmittelpunkt und der Beschleunigung \(\boldsymbol a_0\) eines Teilchens, das gerade den Boden berührt: Dasselbe mit \((x,y,z)\)-Komponenten: Hierbei wurde ausgenutzt, dass ein Teilchen, das gerade den Boden berührt, in \(x\)-Richtung nicht beschleunigt ist, d.h. dass seine Beschleunigung in \(x\)-Richtung gleich null ist, d.h. dass \(a_{0x} = 0.\) Die erste dieser drei Gleichungen liefert: Einsetzen der gegebenen Größen liefert:Lösung
d) Beschleunigung
Berechnen Sie die \((x,y)\)-Komponenten des Beschleunigungsvektors \(\boldsymbol a\) eines Teilchens auf dem Rad bei B, und zwar in \(\tfrac{\mathrm{m}}{\mathrm{s}^2}\) (Meter pro Quadratsekunde) und gerundet auf Rundestellenwert \(0{,}01\):
Und berechnen Sie damit den Betrag \(a = \lVert \boldsymbol a\rVert\) des Beschleunigungsvektors in \(\tfrac{\mathrm{m}}{\mathrm{s}^2}\) (Meter pro Quadratsekunde) und die Winkelposition \(\varphi_a\) des Beschleunigungsvektors in \(^\circ\) (Grad), gerundet auf Rundestellenwert \(0{,}01\) bzw. \(1{,}0\) :
Starrkörper-Kinematik: Dasselbe mit \((x,y,z)\)-Komponenten: Einsetzen der gegebenen und berechneten Größen liefert: Betrag und Winkelposition: Hinweis Die oben verwendete Gleichung lässt sich für beliebige \(\varphi_s\) auswerten. Zum Beispiel gilt für den Momentanpol mit \(\varphi_s=-90^\circ\) und \(c_s = 0\) und \(s_s = -1\):Lösung
Source Code eines Programms dazu: Programm ausführen? Dazu: Copy: Source Code in die Zwischenablage kopieren. Paste: Source Code ins Eingabefeld hinter Play: Knopf SymPy
from sympy.physics.units import m, s
from sympy import pi, S, var, pprint, Matrix, Eq, solve, atan, cos, sin, symbols
cm = m/100
deg = pi / 180
# Rounding:
def iso_round(x, pv):
try:
x = float(x)
tmp = round(x, pv)
except TypeError:
from functools import partial
func = partial(round, ndigits = pv)
tmp = x.applyfunc(func)
return tmp
def printout(x, unit=1, prec="nil", sub_list=[]):
x = x.subs(sub_list)
x /= unit
try:
x = x.applyfunc(simplify)
except:
x = x.simplify()
if prec != "nil":
x = iso_round(x, prec)
pprint(x)
return
# --- Start of Input ---
prec_2 = 2
prec_0 = 0
vA, aA = symbols("vA, aA", real=True)
r = symbols("r", positive=True)
ps = symbols("φs", real=True)
sub_list = [
(vA, 1 * m/s ),
(aA, 1 * m/s**2 ),
(r , 38 *cm ),
(ps, 30 *deg ),
]
# sub_list = [
# (vA, 2 * m/s ),
# (aA, 2 * m/s**2 ),
# (r , 40 *cm ),
# (ps, 40 *deg ),
# ]
# sub_list = [
# (vA, 1 * m/s ),
# (aA, 3 * m/s**2 ),
# (r , 50 *cm ),
# (ps, -40 *deg ),
# ]
# --- End of Input ---
cs, ss = cos(ps), sin(ps)
pprint("\nω / (1/s):")
w = vA / r
pprint(w)
printout(w, unit=1/s, prec=prec_2, sub_list=sub_list)
pprint("\nω / (deg/s):")
printout(w, unit=deg/s, prec=prec_0, sub_list=sub_list)
pprint("\nω / (1/s):")
printout(w, unit=1/s, prec=10, sub_list=sub_list)
pprint("\nω / (deg/s):")
printout(w, unit=deg/s, prec=10, sub_list=sub_list)
exit()
pprint("\nv / (m/s):")
vA = Matrix([vA, 0, 0])
vx, vy = symbols("vx, vy")
v = Matrix([vx, vy, 0])
wv = Matrix([0, 0, -w])
ds = r*Matrix([cs, ss, 0])
eq = Eq(v, vA + wv.cross(ds))
sol = solve(eq, [vx, vy,])
v = Matrix([sol[vx], sol[vy], 0])
tmp = v
pprint(tmp)
tmp = tmp.subs(sub_list)
tmp /= m/s
tmp = tmp.expand()
tmp = iso_round(tmp, prec_2)
pprint(tmp)
pprint("\n|v| / (m/s):")
v = v.norm()
printout(v, unit=m/s, prec=prec_2, sub_list=sub_list)
pprint("\nφv / deg:")
φv = 2*atan(sol[vy] / (v + sol[vx]))
printout(φv, unit=deg, prec=prec_0, sub_list=sub_list)
pprint("\nω' / (1/s²):")
wp = var("ω'")
aAv = Matrix([aA, 0, 0])
wpv = Matrix([0, 0, -wp])
dOA = Matrix([0, r, 0])
# rhs:
term = wv.cross(dOA)
term = wv.cross(term)
rhs = wpv.cross(dOA) + term
lhs = aAv
eq = Eq(lhs[0], rhs[0])
sol = solve(eq,wp)
wp = sol[0]
printout(wp, unit=1/s**2, prec=prec_2, sub_list=sub_list)
pprint("\nω' / (deg/s²):")
printout(wp, unit=deg/s**2, prec=prec_0, sub_list=sub_list)
pprint("\na / (m/s²):")
ax, ay = var("ax, ay")
aB = Matrix([ax, ay, 0])
wpv = Matrix([0, 0, -wp])
ds = Matrix([r*cs, r*ss, 0])
t1 = aAv
t2 = wpv.cross(ds)
t3 = wv.cross(wv.cross(ds))
eq = Eq(aB, t1 + t2 + t3)
sol = solve(eq, aB)
ax, ay = sol[ax], sol[ay]
aB = Matrix([ax, ay, 0])
tmp = aB
tmp = tmp.subs(sub_list)
tmp /= m/s**2
tmp = tmp.expand()
tmp = iso_round(tmp, prec_2)
pprint(tmp)
pprint("\n|a| / (m/s²):")
a = aB.norm()
a = a.expand()
printout(a, unit=m/s**2, prec=prec_2, sub_list=sub_list)
pprint("\nφa / deg:")
φa = 2*atan(ay / (a + ax))
printout(φa, unit=deg, prec=prec_0, sub_list=sub_list)
[ ]: einfügen.▶ drücken.