+/* given three points defining a triangle, calculate the normal */
+void calc_normal(float p1[3], float p2[3], float p3[3], double normal[3])
+{
+ double v1[3], v2[3];
+ float temp;
+
+ v1[0] = p2[0] - p1[0]; v1[1] = p2[1] - p1[1]; v1[2] = p2[2] - p1[2];
+ v2[0] = p3[0] - p1[0]; v2[1] = p3[1] - p1[1]; v2[2] = p3[2] - p1[2];
+
+ MAT3cross_product(normal, v1, v2);
+ MAT3_NORMALIZE_VEC(normal,temp);
+
+ printf(" Normal = %.2f %.2f %.2f\n", normal[0], normal[1], normal[2]);
+}
+
+