- norm.x = side1.y*side2.z-side1.z*side2.y;
- norm.y = side1.z*side2.x-side1.x*side2.z;
- norm.z = side1.x*side2.y-side1.y*side2.x;
- float l = sqrt(norm.x*norm.x+norm.y*norm.y+norm.z*norm.z);
- norm.x /= l;
- norm.y /= l;
- norm.z /= l;
-
- binorm.x = norm.y*side1.z-norm.z*side1.y;
- binorm.y = norm.z*side1.x-norm.x*side1.z;
- binorm.z = norm.x*side1.y-norm.y*side1.x;
- l = sqrt(binorm.x*binorm.x+binorm.y*binorm.y+binorm.z*binorm.z);
- binorm.x /= l;
- binorm.y /= l;
- binorm.z /= l;
+ norm = normalize(cross(side1, side2));
+ binorm = normalize(cross(norm, side1));