### Question:
Triangle3dUtil { public static double area(Point3d a, Point3d b, Point3d c) { double abx = b.x - a.x; double aby = b.y - a.y; double abz = b.z - a.z; double acx = c.x - a.x; double acy = c.y - a.y; double acz = c.z - a.z; double x1 = abx; double x2 = aby; double x3 = abz; double y1 = acx; double y2 = acy; double y3 = acz; return 0.5 * Math.sqrt( pow(x2 * y3 - x3 * y2) + pow(x3 * y1 - x1 * y3) + pow(x1 * y2 - x2 * y1)); }  static double area(Point3d a, Point3d b, Point3d c);  }### Answer:
@Test public void area1() { Point3d a = new Point3d(0, 0, 0); Point3d b = new Point3d(1, 0, 0); Point3d c = new Point3d(0, 1, 0); double area = Triangle3dUtil.area(a, b, c); assertEquals(0.5, area, EPSILON); }
@Test public void area2() { Point3d a = new Point3d(0, 0, 0); Point3d b = new Point3d(1, 0, 0); Point3d c = new Point3d(0, 0, 1); double area = Triangle3dUtil.area(a, b, c); assertEquals(0.5, area, EPSILON); }