source("colours.R") source("labels.R") source("atomic.R") source("container.R") source("build.R") source("operate.R") source("timing.R") source("plot.R") atomic() labelZero() a <- atomic(0, 1) b <- atomic(0, 2) c <- atomic(0, 3) d <- atomic(0, 1) container(anims=list(a, b)) container(anims=list(a, b, c)) vec(a, b, c) trac(a, b, c) vec(a, trac(vec(b, d), c)) vec(a, trac(b, c), d) s <- vec(a, b, c) t <- trac(a, b, c) vec(s, t) trac(vec(s, t, a), vec(t, a, b)) s[2] s[2:3] s[c(3, 2, 2, 1)] t[2] t[2:3] t[c(3, 2, 2, 1)] s[[2]] s[2] <- vec(d) s[2:3] <- vec(c, d) s[[2]] <- b s[[2]] <- vec(d, c) rep(a, 3) rep(a, 3, vec=FALSE) s <- vec(a, b, c) t <- trac(a, b, c) rep(s, 2) rep(s, 1:3) rep(s, each=2) rep(s, length=4) rep(t, 2) rep(t, each=2) rep(t, length=4) rep(vec(s), 2) s <- vec(a, b, c) t <- trac(a, b, c) # Spliceing atomicAnim to containerAnim is allowed splice(s, d) # Longer way of doing the same thing splice(s, vec(d)) # More useful use of vec() splice(s, vec(d, b)) # More complex splices splice(s, d, 2) splice(s, d, 0) # Repeat for tracs splice(t, d) splice(t, trac(d)) splice(t, trac(d, b)) splice(t, d, 2) splice(t, d, 0) # Inserting d "alongside" b in vec(a, b, c) # One possible result vec(a, trac(b, d), c) # Second possible result vec(a, trac(vec(b, c), d)) # Build from existing anim temp <- s temp[[2]] <- trac(b, d) # Another way temp[[2]] <- trac(s[[2]], d) # Another way temp <- s vec(s[[1]], trac(s[2:3], d)) # Build large set of anims vec(trac(a, b), trac(b, c), trac(c, d), trac(d, a))