Weitere ähnliche Inhalte
Mehr von Yoshiteru Kamiyama
Mehr von Yoshiteru Kamiyama (7)
rで踊るパスタ
- 7. Rで書いてみてた
library(rgl)
i<‐1:60
j<‐1:100
x<‐function(i,j)(10*sin(i/120*pi)^0.5 + i/400*sin(3*j/10*pi))*cos(19*j/2000*pi+0.03*pi)
y<‐function(i,j)(10*sin(i/120*pi) + i/400*cos(3*j/10*pi))*sin(19*j/2000*pi+0.03*pi)
z<‐function(i,j) 5*cos(i/120*pi)^5*sin(j/100*pi) ‐ 5*sin(j/100*pi)*cos(i/120*pi)^200
pasta<‐data.frame(x=as.vector(outer(i,j,x)),y=as.vector(outer(i,j,y)),
z=as.vector(outer(i,j,z)))
plot3d(pasta,aspect=c(1,0.5,0.25))
7
- 10. パスタを踊らせる
plot3d(pasta)
plot3d(pasta,xlab="",ylab="",zlab="",aspect=c(1,0.
5,0.25)) #ラベルがうまく消えないので
rgl.clear(type="bbox")#boxを消去
th=90;fo=45;ph=45 #範囲内で適当な数字を
i<‐0;while(1)rgl.viewpoint(
theta=sin(i<‐i+0.02)*th+th, #0:360
fov =cos(i)*fo+fo, #0:179
phi =cos(i)*ph, #‐90:90
zoom=.5)
#sin(),cos()も適当に⼊れ替えて
10