import scipy
from numpy import *
#Variable Declaration
x=-2
y=6
z=3
#Calculations
r=scipy.sqrt(x**2+y**2)
phi=scipy.arctan(-y/x) #phi in radians in 1st quadrant
phid=180-(phi*180/scipy.pi) #phi in degrees in second quadrant
phic=scipy.pi*phid/180.0 #phi in radians in second quadrant
R=scipy.sqrt(x**2+y**2+z**2)
theta=scipy.arctan(r/z)
#P in cylindrical coordinates
Pcyl=array([round(r,2),round(phid,2),z])
#P in spherical coordinates
Psph=array([round(R,2),round(theta*180/scipy.pi,2),
round(phid,2)])
#Vector A in cylindrical coordinate system
Xc=r*scipy.cos(phic)
Yc=r*scipy.sin(phic)
Zc=z
Ar=Yc*scipy.cos(phic)+(Xc+Zc)*scipy.sin(phic)
Aphi=-Yc*scipy.sin(phic)+(Xc+Zc)*scipy.cos(phic)
Az=0
Acyl=array([round(Ar,4),round(Aphi,3),Az])
#Vector A in spherical coordinate system
Xs=R*scipy.cos(phic)*scipy.sin(theta)
Ys=R*scipy.sin(phic)*scipy.sin(theta)
Zs=R*scipy.cos(theta)
AR=Ys*scipy.sin(theta)*scipy.cos(phic)+(Xs+Zs)*scipy.sin(theta)*scipy.sin(phic)
Ath=Ys*scipy.cos(theta)*scipy.cos(phic)+(Xs+Zs)*scipy.cos(theta)*scipy.sin(phic)
Aph=-Ys*scipy.sin(phic)+(Xs+Zs)*scipy.cos(phic)
Asph=array([round(AR,4),round(Ath,4),round(Aph,3)])
#Results
print 'P in cylindrical coordinates =',Pcyl
print 'P in spherical coordinates =',Psph
print 'A in cylindrical coordinates =',Acyl
print 'A in spherical coordinates =',Asph
import scipy
from numpy import *
#Variable Declaration
x=-3
y=4
z=0
p=5
phi=scipy.pi/2
Zc=-2
#Calculations
#B in cartesian coordinates
R=scipy.sqrt(x**2+y**2+z**2)
r=scipy.sqrt(x**2+y**2)
P=scipy.arcsin(r/R) #in radians
Q=scipy.arccos(x/r) #in radians
f=10/R
Bx=f*scipy.sin(P)*scipy.cos(Q)+R*(scipy.cos(P))**2*scipy.cos(Q)-scipy.sin(Q)
By=f*scipy.sin(P)*scipy.sin(Q)+R*(scipy.cos(P))**2*scipy.sin(Q)+scipy.cos(Q)
Bz=f*scipy.cos(P)-R*scipy.cos(P)*scipy.sin(P)
Bcart=array([round(Bx,0),round(By,0),round(-Bz,0)])
#B in cylindrical coordinates
Rc=sqrt(p**2+Zc**2)
Pc=scipy.arccos(Zc/Rc) #in radians
Br=(10/Rc)*scipy.sin(Pc)+Rc*(scipy.cos(Pc))**2
Bp=1
Bzc=(10/Rc)*scipy.cos(Pc)-Rc*scipy.cos(Pc)*scipy.sin(Pc)
Bcyl=array([round(Br,3),Bp,round(Bzc,3)])
#Results
print 'B(-3,4,0) in cartesian coordinates is',Bcart
print 'B(5,pi/2,-2) in cylindrical coordinates is',Bcyl
import scipy
from numpy import *
#Variable Declaration
E=array([-5,10,3]) #in cylindrical coordinates
F=array([1,2,-6]) #in cylindrical coordinates
P=array([5,scipy.pi/2,3]) #in cylindrical coordinates
#Calculations
exf=cross(E,F)
ansa=scipy.sqrt(dot(exf,exf)) #|EXF|
ay=array([round(scipy.sin(scipy.pi/2),0),
round(scipy.cos(scipy.pi/2),0),0])
ansb=dot(E,ay)*ay
modE=scipy.sqrt(dot(E,E))
az=array([0,0,1])
thetaEz=(180/scipy.pi)*arccos(dot(E,az)/modE) #in degrees
ansc=90-thetaEz #in degrees
#Results
print '|EXF| =',round(ansa,2)
print 'The vector component of E at P parallel to the line x=2,z=3 =',ansb,','
print 'in spherical coordinates'
print 'The angle E makes with the surface z = 3 at P =',round(ansc,2),'degrees'
import scipy
from numpy import *
#Variable Declaration
aR=array([1,0,0]) #Unit vector along radial direction
ath=array([0,1,0]) #Unit vector along theta direction
aph=array([0,0,1]) #Unit vector along phi direction
P=array([10,scipy.pi*150/180,scipy.pi*330/180])
#Calculations
r=dot(P,aR)
q=dot(P,aph)
p=dot(P,ath)
R=r*scipy.sin(q)
Ph=-scipy.sin(p)*scipy.cos(q)/r
Q=r*r
D=array([R,Ph,Q]) #D at P(10,150°,330°)
rDr=round(dot(aR,D),0) #radial component of D
rDth=round(dot(-ath,D),3) #theta component of D
rDph=round(dot(aph,D),0) #phi component of D
Dn=array([r*scipy.sin(q),0,0]) #Component of D normal to surface r=10
Dt=D-Dn #Component of D tangential to surface r=10
Dtr=round(dot(aR,Dt),0) #radial component of Dt
Dtth=round(dot(-ath,Dt),3) #theta component of Dt
Dtph=round(dot(aph,Dt),0) #phi component of Dt
rDt=array([Dtr,Dtth,Dtph])
#Unit vector normal to D and tangential to cone theta=45 degrees
U=cross(D,ath)
u=U/scipy.sqrt(dot(U,U))
ru=array([round(dot(aR,u),4),round(dot(ath,u),4),round(dot(aph,u),4)])
#Results
print 'D at P(10,150°,330°) = [',rDr,' ',rDth,' ',rDph,']'
print 'The component of D tangential to the spherical surface r = 10 at P ='
print '[',Dtr,' ',Dtth,' ',Dtph,']'
print 'A unit vector at P perpendicular to D and tangential to cone 0 = 150° ='
print ru