-
Nicolas Cattaneo authoredNicolas Cattaneo authored
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)}