線でつなぐ
a<-c(0,0) b<-c(0,1) s<-pi/4 #右の枝の角度 t<--pi/4*0.6 #左の枝の角度 r<-0.8 #右の枝の長さ l<-0.7 #左の枝の長さ Rt<-matrix(c(cos(t),sin(t),-sin(t),cos(t)),2) Rs<-matrix(c(cos(s),sin(s),-sin(s),cos(s)),2) f<-function(a,b){ bl<-b+l*Rs%*%(b-a) br<-b+r*Rt%*%(b-a) v<-cbind(bl,br) return(v) } U<-cbind(c(),a) V<-cbind(c(),b) m<-cbind(U,V) N<-8 #分岐の回数+1 W<-c() while(ncol(m)<2^N){ for (i in 1:ncol(V)){ W<-cbind(W,f(U[,floor((i+1)/2)],V[,i])) } U<-V V<-W m<-cbind(m,W) W<-c() } plot(t(m))
for (j in 1:(ncol(m)/2)){ segments(m[1,j],m[2,j],m[1,2*j],m[2,2*j]) segments(m[1,j],m[2,j],m[1,2*j-1],m[2,2*j-1]) }
- 分岐ごとに枝の色をかえるときは
for (j in 1:(ncol(m)/2)){ segments(m[1,j],m[2,j],m[1,2*j],m[2,2*j],log(j-0.1,2)+2) segments(m[1,j],m[2,j],m[1,2*j-1],m[2,2*j-1],log(j-0.1,2)+2) }