source("http://macosa.dima.unige.it/r.R") # If I have not already loaded the library ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- S 03 Vector Calculus [prodv (or crossp) prods (or dotp) modulus (or magnitude) versor; see also J-2, #J] # dot product or scalar product, and (only in three-dimensional space) cross product or # vector product v1 <- c(1,-2,2); v2 <- c(-4,0,2); prods(v1,v2); prodv(v1,v2) # 0 -4 -10 -8 v1 <- c(1,-2,2); v2 <- c(-4,1,2); prods(v1,v2); prodv(v1,v2) # -2 -6 -10 -7 v1 <- c(0,0,1); v2 <- c(1,0,0); prods(v1,v2); prodv(v1,v2) # 0 0 1 0 # The sum of vectors is done with "+" (If I represent them with arrow, not with Arrow, # where - as we have seen - I put the vectors as "direction" and "modulus" instead of # as "x" and "y": v1 <- c(2,3); v2 <- c(-4,1) PLANE(-4,2, -1,5) arrow(0,0,v1[1],v1[2], "red") arrow(0,0,v2[1],v2[2], "blue") arrow(0,0,(v1+v2)[1],(v1+v2)[2], "violet") dart(v1[1],v1[2], (v1+v2)[1],(v1+v2)[2], 1) dart(v2[1],v2[2], (v1+v2)[1],(v1+v2)[2], 1) # I remember putting 1 as a color is equivalent to putting "black" # The direction and the length of the red arrow: dirArrow(0,0, v1[1],v1[2]) # direz. = 56.30993 ° lungh. = 3.605551 # Its versor and, with another command, its length: versor(v1); modulus(v1) # 0.5547002 0.8320503 3.605551 Other examples of use