• こちらで時間と空間で制約のある世界についてコメントしている
  • 空間と時間との両方が広がりがあって、かつ、閉じている、そんな時空間の一番簡単なのは?
    • 空間が円
    • 時間も円
    • ある時間的瞬間に円であるものが、周回性のない時間軸をすべっていけば、円筒
    • その時間軸をくるりと円にしてみる
  • 時間軸は解放してアニメーションにすれば、
s<-seq(from=0,to=1,length=1000)*2*pi
x<-cos(s)
y<-sin(s)


library(rgl)
plot3d(x,y,w)
#par(ask=TRUE)
t<-seq(from=0,to=1,length=1000)*2*pi
for(i in 1:length(t)){
	w<-cos(3*s+7*t[i])
	for(j in 1:1000){
		tmp<-sample(1:1000)
	}
	plot3d(x,y,w)
	
}
  • とか、もう少し複雑にして
s<-seq(from=0,to=1,length=100)*2*pi
x<-cos(s)
y<-sin(s)

w<-cos(s)*sin(2*s)+sin(3*s)

library(rgl)
plot3d(x,y,w)
#par(ask=TRUE)
t<-seq(from=0,to=1,length=100)*2*pi
for(i in 1:length(t)){
	w<-cos(s*cos(t[i]))*sin(2*s*sin(t[i]*3))+sin(3*s*cos(2*t[i]+pi/2))
	for(j in 1:10000){
		tmp<-sample(1:1000)
	}
	plot3d(x,y,w)
	
}
  • 時間軸も表示空間に固定しよう
  • 3次元空間の原点から等距離の平面上に円を描いて、その等距離面をぐるりと回せばよい
  • 「値」は色で表そう
  • x=cos(t),y=cos(s)+sin(t)sin(s),z=sin(s)-sin(t)cos(s)
s<-seq(from=0,to=1,length=20)*2*pi
t<-seq(from=0,to=1,length=100)*2*pi


ST<-expand.grid(s,t)

x<-cos(ST[,2])
y<-cos(ST[,1])+sin(ST[,2])*sin(ST[,1])
z<-sin(ST[,1])-sin(ST[,2])*cos(ST[,1])
w<-cos(ST[,1]*cos(ST[,2]))*sin(2*ST[,1]*sin(ST[,2]*3))+sin(3*ST[,1]*cos(2*ST[,2]+pi/2))

w<-(w-min(w))/(max(w)-min(w))

plot3d(x,y,z,col=gray(w))