Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #########################################################################################
- library("plot3D");
- #########################################################################################
- grid_size = 60;
- eps = 0.01;
- theta = seq(0+eps,pi-eps,l=grid_size);
- phi = seq(0,2*pi-eps,l=grid_size);
- coord = expand.grid(phi,theta);
- x = sin(coord[,2])*cos(coord[,1]);
- y = sin(coord[,2])*sin(coord[,1]);
- z = cos(coord[,2]);
- nsites = length(x);
- cova <- function(escala,geod){
- res = exp(-3*geod/escala);
- return(res)
- }
- val = 0.99999999999;
- escala = 1;
- mat = array(dim=c(nsites,nsites));
- for(i in 1:nsites){
- for(j in 1:nsites){
- prod = x[i]*x[j]+y[i]*y[j]+z[i]*z[j];
- if(prod > val){dij = 0;}
- if(prod < -val){dij = pi;}
- if(prod <= val & prod >= -val){dij = acos(prod);}
- mat[i,j] = cova(escala,dij);
- }
- }
- set.seed(8756)
- datos = t(chol(mat))%*%rnorm(nsites);
- scatter3D(x,y,z,colvar=datos)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement