>> then you have to talk about determinants instead of angles
I certainly never heard this before. (I know how to calculate determinants, but never quite developed intuition around them.) Can you please say some more on this? :-)
Ah, what the heck. Here's how I think about this, which is heavily influenced by working on some problems related to lattices (from the geometry of numbers).
How could you generalize the cross product to higher dimension? What the cross product does is that it takes two linearly independent 3-dim vectors and gives you some kind of canonical vector orthogonal to both of them.
Can you find a reasonably canonical operation that, given two linearly independent d-dim vectors gives you some kind of canonical vector orthogonal to both of them? The answer is basically no.
However, you can find a reasonable operation that, given d-1 linearly independent d-dim vectors a(1) ... a(d-1), gives you a canonical vector v orthogonal to all of them. This vector should be the unique solution of a system of linear equations aj * v = 0, z * v = 1.
One way to resolve such a system is using Cramer's rule: each coordinate of v is a determinant of the matrix A of the system with one column replaced by the right-hand side, divided by the determinant of A.
There are a number of reasons for not liking this division: (1) it is impractical if you prefer to work with coefficient in a ring (such as the integers) instead of a field; (2) the cross product is defined without any divisions; (3) the determinant of A depends on your choice of z, but the determinants in the numerators do not depend on the choice of z. So we just forget about the division, which is the same as choosing z such that det(A) = 1.
That gives you a higher-dimensional generalization of the cross product. Okay, so now how long is v going to be?
Well, for that you have to understand that the volume of the parallelepiped (skewed box) spanned by linearly independent vectors is equal to the determinant of the matrix that contains those vectors as rows or columns (or the square-root of the matrix multiplied with its transpose if you don't have a full-dimensional set). There are a number of ways to see this; one of them is that the parallelepiped is obtained via a linear transformation of the unit cube by that matrix, and linear transformations scale volume by the (absolute value of) the determinant.
So the determinant of A is the height of z over the hyperplane spanned by a(1) ... a(d-1) times the (d-1)-dimensional volume of the parallelepiped spanned by them. This means that the height of z is the inverse of that volume (becaues we chose z so that det(A) = 1). But then since z * v = 1, the length of v must be equal to that volume, so that the volume and its inverse cancel.
Now go back to the case d=3 and compute the size of the parallelepiped (aka parallelogram) spanned by your two starting vectors. Voila, you get exactly the formula for the length of the cross product. Compute the square-root of the determinant that you get when you multiple the matrix containing the two vectors as rows with its transpose. Voila, you get exactly the same formula again :)
(In fact, if you look at how the components of the cross product in d=3 are computed, you'll find the 2x2 subdeterminants of that 2x3 matrix - and that fits perfectly with what I wrote above about using Cramer's rule.)
>> then you have to talk about determinants instead of angles
I certainly never heard this before. (I know how to calculate determinants, but never quite developed intuition around them.) Can you please say some more on this? :-)