;+ ; NAME: ; JBCROSSP ; ; PURPOSE: ; Calculate the cross products between two arrays of 3-vectors. ; ; CATEGORY: ; Math ; ; CALLING SEQUENCE: ; Result = JBCROSSP(V1, V2) ; ; INPUTS: ; V1: First 3xN array. ; ; V2: Second 3xN array. ; ; OUTPUTS: ; A 3xN array, where each Result[*,i] 3-vector is equal to ; CROSSP(V1[*,i], V2[*,i]). ; ; EXAMPLE: ; IDL> a = [ [0.1, -1.0, 3.5], [-1.0, -1.0, 4.0] ] ; IDL> b = [ [0.2, -2.0, 7.0], [2.5, -2.5, 1.0] ] ; IDL> PRINT, JBCROSSP(a,b) ; 0.00000 0.00000 0.00000 ; 9.00000 11.0000 5.00000 ; ; MODIFICATION HISTORY: ; Written by: Jeremy Bailin ; 12 June 2008 Public release in JBIU ;- function jbcrossp, v1, v2 x = v1[1,*]*v2[2,*] - v1[2,*]*v2[1,*] y = v1[2,*]*v2[0,*] - v1[0,*]*v2[2,*] z = v1[0,*]*v2[1,*] - v1[1,*]*v2[0,*] return, [x,y,z] end ; Q. What do you get when you cross an elephant with a farmer? ; A. Element farmer sin theta. ; Q. What do you get when you cross an elephant with a fisherman? ; A. Element fisherman sin theta. ; Q. What do you get when you cross an elephant with a mountain climber? ; A. You can't cross a vector with a scaler.