3 extern "C" double llgramarea(
double* p0,
double* p1,
double* p2) {
5 double a[] = {p0[0] - p1[0], p0[1] - p1[1], p0[2] - p1[2]};
6 double b[] = {p0[0] - p2[0], p0[1] - p2[1], p0[2] - p2[2]};
9 double cpx = a[1] * b[2] - a[2] * b[1];
10 double cpy = a[2] * b[0] - a[0] * b[2];
11 double cpz = a[0] * b[1] - a[1] * b[0];
12 return sqrt(cpx * cpx + cpy * cpy + cpz * cpz);
18 double cpx = p1[1] * p2[2] - p1[2] * p2[1];
19 double cpy = p1[2] * p2[0] - p1[0] * p2[2];
20 double cpz = p1[0] * p2[1] - p1[1] * p2[0];
23 return p0[0] * cpx + p0[1] * cpy + p0[2] * cpz;
double llgramarea(double *p0, double *p1, double *p2)
double llpipedfromoriginvolume(double *p0, double *p1, double *p2)