これもそのうちしっかり内容を吟味したいプログラム…
Normed division algebras with R: introducing the onion package
四元数の指数関数による3次元空間軌道
library(onion) library(rgl) library(Ronlyryamada) require(RFOC) my.exp.q <- function(q,t){ qt <- q *t a <- Re(qt) v <- Im(qt) v.len <- Mod(v) v.len0 <- which(v.len==0) ret <- exp(a) * (cos(v.len) + v/v.len * sin(v.len)) if(length(v.len0)>0){ ret[v.len0] <- exp(a[v.len0]) } return(ret) } ts <- seq(from=-5,to=5,length=2000) A <- rnorm(4) * 2 q <- A[1] + A[2] * Hi + A[3] * Hj + A[4] * Hk #q <- 1+ 3* Hi X0 <- matrix(rnorm(3),nrow=1) X0.q <- Hi * X0[1] + Hj * X0[2] + Hk * X0[3] Xs <- matrix(0,length(ts),3) for(i in 1:length(ts)){ tmp.q <- my.exp.q(q,ts[i]) Xs[i,] <- as.matrix(Conj(tmp.q) * X0.q * tmp.q)[2:4] #Xs[i,] <- rotate(X0,my.exp.q(q,ts[i])) } plot3d(Xs,type="l")#唯一の追加行(Gifアニメーションへの変換)
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test03")
以下同様に敬意を評して、とりあえず回してみました。
四元数の話に入れるのは、おそらく来年になってから?