示例#1
0
        /**
         * Gets the face area
         *
         * @return face area
         */
        public double getArea()
        {
            //area = (a * c * sen(B))/2
            Point3d  p1 = v1.getPosition();
            Point3d  p2 = v2.getPosition();
            Point3d  p3 = v3.getPosition();
            Vector3d xy = new Vector3d(p2.X - p1.X, p2.Y - p1.Y, p2.Z - p1.Z);
            Vector3d xz = new Vector3d(p3.X - p1.X, p3.Y - p1.Y, p3.Z - p1.Z);

            double a = Vector3d.Distance(p1, p2);
            double c = Vector3d.Distance(p1, p3);
            double B = xy.Angle(xz);

            return((a * c * Math.Sin(B)) / 2d);
        }