# Chapter 16 Planar Kinematics of a Rigid Body¶

## Ex 16.2 Page No 659¶

In [5]:
# Ex 16.2
import math
from __future__ import division

# Variable Declaration
alphaA = 2  #[radians per second square]

# Calculation
wA = round(math.sqrt(0+2*2*(thetaA-0)),3)  #[radians per second]
wB = wA*0.15/0.4  #[radians per second]
alphaB = alphaA*0.15/0.4  #[radians per second square]
vP = round(wB*0.4,2)  #[meters per second]
alphaPt = alphaB*0.4  #[radians per second square]
alphaPn = wB**(2)*0.4  #[radians per second square]
alphaP = round(math.sqrt(alphaPt**(2)+alphaPn**(2)),2)  #[radians per second square]

# Result
print"vP = ",(vP),"m/s"
print"alphaP = ",(alphaP),"m/s**(2)"

vP =  1.23 m/s
alphaP =  3.78 m/s**(2)


## Ex 16.5 Page No 666¶

In [1]:
# Ex 16.5
import math
from __future__ import division

# Variable Declaration
theta = 30  #[degrees]
vC = 0.5  #[meter per second]

# Calculation
s = round(math.sqrt(5-4*math.cos(math.pi*theta/180)),3)  #[meters]
w = round((s*0.5)/(2*math.sin(math.pi*theta/180)),3)  #[radians per second]
alpha = round((0.5**(2)-2*math.cos(math.pi*theta/180)*w**(2))/(2*math.sin(math.pi*theta/180)),3)  #[Degrees]

# Result

w =  0.62 rad/s


## Ex 16.6 Page No 673¶

In [17]:
# Ex 16.6
import math
from __future__ import division

# Variable Declaration
vA = 2  #[meters per second]
theta = 45  #[Degrees]

# Calculation
# Equating j component
w = round(vA/(0.2*math.sin(math.pi*theta/180)),1)  #[radians per second]
# Equating i component
vB = round(0.2*w*math.sin(math.pi*theta/180),1)  #[meters per second]

# Result
print"vB = ",(vB),"m/s"

w =  14.1 rad/s
vB =  2.0 m/s


## Ex 16.7 Page No 674¶

In [11]:
# Ex 16.7
import math
from __future__ import division

# Calculation
# Solution 1 Vector Analysis
vA_x = 1+3.0  #[meters per second]
vA_y = 3   #[meters per second]
vA = round(math.sqrt(vA_x**(2)+vA_y**(2)),1)   #[meters per second]
theta = round(math.degrees(math.atan(vA_y/vA_x)),1)  #[Degrees]

# Result 1 Vector Analysis
print"Solution 1 Vector Analysis"
print"vA = ",(vA),"m/s"
print"theta = ",(theta),"degrees\n"

# Solution 2  Scalar Analysis
vA_x = 1+4.24*math.cos(math.pi*45/180)   #[meters per second]
vA_y = 0+4.24*math.sin(math.pi*45/180)   #[meters per second]
vA = round(math.sqrt(vA_x**(2)+vA_y**(2)),1)   #[meters per second]
theta = round(math.degrees(math.atan(vA_y/vA_x)),1)  #[Degrees]

# Result 2 Scalar Analysis
print"Solution 2 Scalar Analysis"
print"vA = ",(vA),"m/s"
print"theta = ",(theta),"degrees"

Solution 1 Vector Analysis
vA =  5.0 m/s
theta =  36.9 degrees

Solution 2 Scalar Analysis
vA =  5.0 m/s
theta =  36.9 degrees


## Ex 16.8 Page No 675¶

In [14]:
# Ex 16.8
from __future__ import division

# Calculation
wCB = 2/0.2  #[radians per second]
vB = 0.2*wCB  #[meters per second]
wAB = 2/0.2  #[radians per second]

# Result
print"vB = ",(vB),"m/s"

vB =  2.0 m/s


## Ex 16.9 Page No 676¶

In [25]:
# Ex 16.9
from __future__ import division

# Calculation
vC = 5.20  #[meters per second]
wBC = 3.0/0.2  #[radians per second]
# Wheel
wD = 5.20/0.1  #[radians per second]

# Result

wBC =  15.0 rad/s


## Ex 16.11 Page No 684¶

In [22]:
# Ex 16.10
import math
from __future__ import division

# Variable Declaration
vD = 3  #[meters per second]

# Calculation
rBIC = round(0.4*math.tan(math.pi*45/180),1)   #[meters]
rDIC = round(0.4/math.cos(math.pi*45/180),3)   #[meters]
wBD = round(vD/rDIC,2)  #[radians per second]
vB = wBD*rBIC  #[meters per second]
wAB = vB/0.4  #[radians per second]

# Result

wBD =  5.3 rad/s


## Ex 16.12 Page No 685¶

In [24]:
# Ex 16.12
from __future__ import division

# Calculation
x = 0.1/0.65   #[meters]
w = 0.4/x  #[radians per second]
vC = w*(x-0.125)  #[meters per second]

# Result
print"vC = ",(vC),"m/s"

w =  2.6 rad/s
vC =  0.075 m/s


## Ex 16.13 Page No 691¶

In [28]:
# Ex 16.13
import numpy as np
import math
from __future__ import division

# Calculation
a = np.array([[math.cos(math.pi*45/180),0],[math.sin(math.pi*45/180),-10]])
b = np.array([3*math.cos(math.pi*45/180)-0.283**(2)*10,-3*math.sin(math.pi*45/180)])
x = np.linalg.solve(a, b)
aB = x[0]  #[meters per second square]
alpha = round(x[1],3)  #[radians per second square]

# Result

alpha =  0.344 rad/s**(2)


## Ex 16.15 Page No 693¶

In [29]:
# Ex 16.15

# Calculation
# For point B
aB_x = -2-6**(2)*0.5  #[meters per second square]
aB_y = 4*0.5  #[meters per second square]
# For point A
aA_x = -2-4*0.5  #[meters per second square]
aA_y = -6**(2)*0.5  #[meters per second square]

# Result
print"aB_x  = ",(aB_x),"m/s**(2)"
print"aB_y  = ",(aB_y),"m/s**(2)"
print"aA_x  = ",(aA_x),"m/s**(2)"
print"aA_y  = ",(aA_y),"m/s**(2)"

aB_x  =  -20.0 m/s**(2)
aB_y  =  2.0 m/s**(2)
aA_x  =  -4.0 m/s**(2)
aA_y  =  -18.0 m/s**(2)


## Ex 16.16 Page No 694¶

In [2]:
# Ex 16.16
import math
from __future__ import division

# Variable Declaration
w = 3  #[radians per second]
alpha = 4  #[radians per second square]

# Calculation
aB_x = alpha*0.75  #[meters per second square]
aB_y = -2-w**(2)*0.75  #[meters per second square]
aB = round(math.sqrt(aB_x**(2)+aB_y**(2)),2)  #[meters per second square]
theta = round(math.degrees(math.atan(-aB_y/aB_x)),1)  #[Degrees]

# Result
print"aB = ",(aB),"m/s**(2)"
print"theta = ",(theta),"degrees"

aB =  9.25 m/s**(2)
theta =  71.1 degrees


## Ex 16.17 Page No 695¶

In [34]:
# Ex 16.17
import numpy as np

# Calculation
a = np.array([[0.2,-0.2],[0,0.2]])
b = np.array([-20,1])
x = np.linalg.solve(a, b)
alphaAB = round(x[0],1)  #[meters per second square]
alphaCB = round(x[1],1)  #[radians per second square]

# Result

alphaCB =  5.0 rad/s**(2)


## Ex 16.18 Page No 696¶

In [40]:
# Ex 16.18
import numpy as np
import math
from __future__ import division

# Calculation
rB_x = -0.25*math.sin(math.pi*45/180)  #[meters]
rB_y = 0.25*math.cos(math.pi*45/180)  #[meters]
rCB_x = 0.75*math.sin(math.pi*13.6/180)  #[meters]
rCB_y = 0.75*math.cos(math.pi*13.6/180)  #[meters]
aB_x = np.cross([0,0,-20],[-0.177,0.177,0])[0]-10**(2)*-0.177  #[meters per second square]
aB_y = np.cross([0,0,-20],[-0.177,0.177,0])[1]-10**(2)*0.177   #[meters per second square]
alphaBC = round(20.17/0.729,1)   #[radians per second square]
aC = round(0.176*alphaBC-18.45,1)   #[meters per second square]

# Result
print"aC = ",(aC),"m/s**(2)"

alphaBC =  27.7 rad/s**(2)
aC =  -13.6 m/s**(2)


## Ex 16.19 Page No 705¶

In [43]:
# Ex 16.19
import numpy as np

# Calculation
aCor_x = np.cross([0,0,2*-3],[2,0,0])[0]  #[meters per second square]
aCor_y = np.cross([0,0,2*-3],[2,0,0])[1]  #[meters per second square]
vC_x = 2  #[meters per second]
vC_y = -0.6  #[meters per second]
aC_x = 3-1.80  #[meters per second square]
aC_y = -0.4-12  #[meters per second square]

# Result
print"aCor_x = ",(aCor_x),"m/s**(2)"
print"aCor_y = ",(aCor_y),"m/s**(2)"
print"vC_x = ",(vC_x),"m/s"
print"vC_y = ",(vC_y),"m/s"
print"aC_x = ",(aC_x),"m/s"
print"aC_y = ",(aC_y),"m/s"

aCor_x =  0 m/s**(2)
aCor_y =  -12 m/s**(2)
vC_x =  2 m/s
vC_y =  -0.6 m/s
aC_x =  1.2 m/s
aC_y =  -12.4 m/s


## Ex 16.20 Page No 706¶

In [45]:
# Ex 16.20
from __future__ import division

# Calculation
vCDxyz = 1.2  #[meters per second]
wDE = 3  #[radians per second]
aCDxyz = 3.6-2  #[meters per second square]

# Result

wDE =  3 rad/s


## Ex 16.21 Page No 707¶

In [6]:
# Ex 16.21

# Calculation
vABxyz_x = 0  #[kilometer per hour]
vABxyz_y = 700-600-(-1.5*-4)   #[kilometer per hour]
aABxyz_x = -900+9+282  #[kilometer per hour square]
aABxyz_y = 50+100+2  #[kilometer per hour square]

# Result
print"vABxyz_x = ",(vABxyz_x),"km/h"
print"vABxyz_y = ",(vABxyz_y),"km/h"
print"aABxyz_x = ",(aABxyz_x),"km/h**(2)"
print"aABxyz_y = ",(aABxyz_y),"km/h**(2)"

vABxyz_x =  0 km/h
vABxyz_y =  94.0 km/h
aABxyz_x =  -609 km/h**(2)
aABxyz_y =  152 km/h**(2)

In [ ]: