- 周期の異なる波を足し合わせると「うなる」(Wiki「うなり」)
-
- 等式の右辺(2つの周期関数の積)は、周期的に振幅が変化しつつ、全体も周期的に変化する、という式に読める
- うなりの幾何学パターンは「モアレ」(Wikiの「モアレ」)
- 1変数でうならせる
w<-10
delta<-runif(1)*0.1
n<-1
cycle<-10
t<-seq(from=0,to=1,length.out=10000)*2*pi*cycle
x<-matrix(0,length(t),n)
phase<-runif(n)*2*pi
r<-sample(2:5,1)
for(i in 1:n){
x[,i]<-r*sin((w-delta)*(t+phase[i]))+sin((w+delta)*(t+phase[i]))
}
plot(x[,1],type="l")
- 複数の要素がサイクルを構成している
- サイクルは2か所で相互に独立して回っている
- サイクルは同様なので、そこには「共通する」周期がある
- ただし、2つのサイクルは、異なる条件で回っているので、「共通するサイクル」から、少しずれる
- そんなとき、サイクルの要素が描く要素数次元空間の軌道もうなる
- そのうなり(周期的に変化しつつ、その振幅が周期的に変化する)は3項目について描けばトーラスになる
- 「共通するサイクル」からのずれが一定ならば、トーラス上のきれいならせん。ずれが変動すれば、トーラス上の酔歩状の動きになる
library(rgl)
library(gtools)
library(MCMCpack)
w<-100
k<-10
n<-5
cycle<-10
t<-seq(from=0,to=1,length.out=10000)*2*pi*cycle
delta<-runif(1)*w/k+rnorm(length(t))*0.01
x<-matrix(0,length(t),n)
phase<-c(rdirichlet(1,rep(1,n)))*2*pi
r<-sample(2:5,1)
for(i in 1:n){
x[,i]<-r*sin((w-delta)*(t+phase[i]))+sin((w+delta)*(t+phase[i]))
}
cmb<-combinations(n,3)
xw<-NULL
col<-c()
for(i in 1:length(cmb[,1])){
ax<-cmb[i,]
col<-c(col,rep(i,length(x[,1])))
xw<-rbind(xw,cbind(x[,ax[1]],x[,ax[2]],x[,ax[3]]))
}
plot3d(xw[,1],xw[,2],xw[,3],col=col)
plot(as.data.frame(x))
matplot(x,type="l")