/** * Returns [n,0,0] vector. * * @param n Size of vector in specified direction */ function x(n)=[n,0,0]; function y(n)=[0,n,0]; function z(n)=[0,0,n]; /** * Checks if vector (list) contains specified value. * * @param vec Vector to be checked * @param vec Value to be checked */ function contains(vec, val)=len([for (i = list) if (i==val) i]) > 0; /** * Reverses supplied vector */ function reverse_vector(vec) = let(n=len(vec)) [for (i= [1:1:n]) vec[n-i]]; function scale_vec(sv,vec2)= let(l=len(sv)) [ for(v = vec2) [for(i = [0:1:l-1]) v[i]*sv[i] ]]; /** * Moves each vector by given offset * * @param vec2 set of vectors * @param mov Movement vector * */ function move_vectors(vec2,mov)=[ for(v = vec2) v+mov]; function flatten_vec(list) = [ for (i = list, v = i) v ];