Globe Rotation Matrix
1.1
gmat(vec, p, alpha)
vec
: vector axis to rotate aboutp
: translation point (c(0,0,0))alpha
: angle to rotate, degreesGiven an arbitrary axis, return matrix for rotation about the axis by alpha degrees.
4 by 4 Matrix for translation and rotation
Rogers and Adams
Jonathan M. Leesjonathan.lees@unc.edu
################ kamchatka kamlat = c(48.5, 65) kamlon = c(150, 171) KAMLAT0=mean(kamlat) KAMLON0=mean(kamlon) ################ korea KORlon = c(123,133) KORlat = c(33,44) KORLON0=mean(KORlon) KORLAT0=mean(KORlat) # convert to cartesian v1 = ll2xyz(KORLAT0, KORLON0 ) v2 = ll2xyz(KAMLAT0, KAMLON0) ### get cross product g = X.prod((v1), (v2)) ### use dot product to get angle delta = (180/pi)*acos( sum(v1*v2)/(sqrt(sum(v1^2))*sqrt(sum(v2^2)))) ### get rotation matrix R1 =gmat(g, c(0,0,0) , -delta)
Useful links