rglパッケージとImageMagick

library(rgl)

mv<-matrix(c(1,0,0,0,1,0,0,0,1),3,3)

open3d()

spheres3d(c(0,0,0), radius=1, color="blue",alpha=0.2)

x<-seq(from=0,to=1,by=0.1)

L12<-t(outer(mv[1,],x,FUN="*")+outer(mv[2,],(1-x),FUN="*"))
L23<-t(outer(mv[2,],x,FUN="*")+outer(mv[3,],(1-x),FUN="*"))
L31<-t(outer(mv[3,],x,FUN="*")+outer(mv[1,],(1-x),FUN="*"))

L12s<-L12/sqrt(apply(L12^2,1,sum))
L23s<-L23/sqrt(apply(L23^2,1,sum))
L31s<-L31/sqrt(apply(L31^2,1,sum))

plot3d(L12,box=FALSE,col="green",add=TRUE)
plot3d(L23,box=FALSE,col="green",add=TRUE)
plot3d(L31,box=FALSE,col="green",add=TRUE)

plot3d(L12s,box=FALSE,col="blue",add=TRUE)
plot3d(L23s,box=FALSE,col="blue",add=TRUE)
plot3d(L31s,box=FALSE,col="blue",add=TRUE)

# 回転軸を指定して、その向きを90度変えた軸でも回す
# movieは出力ファイル名
# dirは出力ディレクトリ名
M <- par3d("userMatrix") 
movie3d( par3dinterp( userMatrix=list(M,rotate3d(M, pi/2, 1, 0, 0),rotate3d(M, pi/2, 0, 1, 0) )), duration=5 ,movie="test2",dir=".")