typX <- function() { M <- matrix(rep(0,100),10) M[1:2,1:2] <- 1 M[1:2,8:9] <- 1 M[3:6,4:6] <- 1 M[6,1] M[6,9] M[7,1:2] <- 1 M[7,8:9] <- 1 M[8,2:4] <- 1 M[8,6:8] <- 1 M[9,3:7] <- 1 A <- matrix(c((runif(1)+3)/6,0,0,(runif(1)+1)/3),2) winkel <- runif(1)*2*pi B <- matrix(c(cos(winkel),sin(winkel),-sin(winkel),cos(winkel)),2)%*%A U <- matrix(rep(0,100),10) for(i in 1:10) for(j in 1:10) { x <- round(c(5.5,5.5) + B%*%(c(i,j)-5.5)) U[x[1],x[2]] <- M[i,j] } U[2:9,2:9] } typY <- function() { M <- matrix(rep(0,100),10) x <- sample(1:9,1) y <- sample(1:9,1) M[x:(x+1),y:(y+1)] <- 1 x <- sample(1:9,1) y <- sample(1:9,1) M[x:(x+1),y:(y+1)] <- 1 x <- sample(1:7,1) y <- sample(1:8,1) M[x:(x+3),y:(y+2)] <- 1 x <- sample(1:10,1) y <- sample(1:10,1) M[x,y] <- 1 x <- sample(1:10,1) y <- sample(1:10,1) M[x,y] <- 1 x <- sample(1:10,1) y <- sample(1:9,1) M[x,y:(y+1)] <- 1 x <- sample(1:10,1) y <- sample(1:9,1) M[x,y:(y+1)] <- 1 x <- sample(1:10,1) y <- sample(1:8,1) M[x,y:(y+2)] <- 1 x <- sample(1:10,1) y <- sample(1:8,1) M[x,y:(y+2)] <- 1 M[9,3:7] <- 1 A <- matrix(c((runif(1)+3)/6,0,0,(runif(1)+1)/3),2) winkel <- runif(1)*2*pi B <- matrix(c(cos(winkel),sin(winkel),-sin(winkel),cos(winkel)),2)%*%A U <- matrix(rep(0,100),10) for(i in 1:10) for(j in 1:10) { x <- round(c(5.5,5.5) + B%*%(c(i,j)-5.5)) U[x[1],x[2]] <- M[i,j] } U[2:9,2:9] } image(typX()) image(typY())