回帰直線 on トーラス

  • 前の記事では、円筒表面空間だった
  • トーラスにしてしまうとどうなるか
  • トーラス上の直線はこちらで描いた
  • 状態曲線がこのトーラス上の直線であるとき、ある一つの変数の値の変化はどうみえるか
library(rgl)
# 三角形を描こう
gr<-101 

initangle<-runif(1)*2*pi
#initangle<-pi/2
v1<-c(sin(initangle),cos(initangle))
u1<-c(sin(initangle+pi/2),cos(initangle+pi/2))
v2<-c(sin(initangle+pi/3),cos(initangle+pi/3))
u2<-c(sin(initangle+pi/3+pi/2),cos(initangle+pi/3+pi/2))
v3<-c(sin(initangle+2*pi/3),cos(initangle+2*pi/3))
u3<-c(sin(initangle+2*pi/3+pi/2),cos(initangle+2*pi/3+pi/2))

LL<-5
N1<-N2<-seq(from=-LL,to=LL,length=gr)
Ns<-expand.grid(N1,N2)

x1<-v1[1]*Ns[,1]+u1[1]*Ns[,2]
y1<-v1[2]*Ns[,1]+u1[2]*Ns[,2]

tmp<-cbind(x1,y1)

xysq1<-tmp

xyseq<-tmp
x1<-v2[1]*Ns[,1]+u2[1]*Ns[,2]
y1<-v2[2]*Ns[,1]+u2[2]*Ns[,2]

tmp<-cbind(x1,y1)
xysq2<-tmp
xyseq<-rbind(xyseq,tmp)
tmp<-cbind(x1,y1)
#xyseq<-tmp
x1<-v3[1]*Ns[,1]+u3[1]*Ns[,2]
y1<-v3[2]*Ns[,1]+u3[2]*Ns[,2]

tmp<-cbind(x1,y1)
xysq3<-tmp
xyseq<-rbind(xyseq,tmp)

#plot(xyseq[,1],xyseq[,2],type="l")

R1<-1/pi
R2<-1/pi

# 第一座標
Xsq<-R1*sin(2*pi*xysq1[,1])+R2*sin(2*pi*xysq1[,2])*sin(2*pi*xysq1[,1])
Ysq<-R1*cos(2*pi*xysq1[,1])+R2*sin(2*pi*xysq1[,2])*cos(2*pi*xysq1[,1])
Zsq<-R2*cos(2*pi*xysq1[,2])
#plot3d(Xsq,Ysq,Zsq,type="l")
plot(Xsq,type="l")