Skip to content
Snippets Groups Projects
Functions.r~ 703 B
Scale <- function(Vector){
    ((Vector - min(Vector))/
     (max(Vector)-min(Vector)))*
        (max(Vector)-min(Vector))}

cross3d_prod <- function(v1,v2){
  v3 <- vector()
  v3[1] <- v1[2]*v2[3]-v1[3]*v2[2]
  v3[2] <- v1[3]*v2[1]-v1[1]*v2[3]
  v3[3] <- v1[1]*v2[2]-v1[2]*v2[1]
  return(v3)
}

dist3d <- function(xa, ya, za, xb, yb, zb, xc, yc, zc) {
    a <- c(xa, ya, za)
    b <- c(xb, yb, zb, xc)
    c <- c(xc, yc, zc)
    
    v1 <- b - c
    v2 <- a - b      
    v3 <- cross3d_prod(v1,v2)
    area <- sqrt(sum(v3*v3))/2
    d <- 2*area/sqrt(sum(v1*v1))
    return(d)
}

dist3d2 <- function(xa, ya, za, xb, yb, zb) {
    d <- sqrt(((xa - xb)^2) + ((ya - yb)^2) + ((za - zb)^2))
    return(d)}