Problem Statement
int[] tree contains exactly 6 elements, namely the x,y,z coordinates of one corner of the rectangular solid followed by the coordinates of the diagonally opposite corner. int[] light contains exactly 3 elements, the x,y,z coordinates of the streetlight. Given tree and light, return the area of the shadow, or return -1 to indicate that the shadow has an infinite area. If the shadow is an infinitely long line, return 0 as its area.
Definition
- Class:
- Shadow
- Method:
- area
- Parameters:
- int[], int[]
- Returns:
- double
- Method signature:
- double area(int[] tree, int[] light)
- (be sure your method is public)
Notes
- A return value with either an absolute or relative error of less than 1.0E-9 is considered correct.
Constraints
- tree will contain exactly 6 elements.
- light will contain exactly 3 elements.
- Each element of tree and of light will be between 1 and 10, inclusive.
- The coordinates of the light will not lie on the boundary of the tree.
Examples
{1,1,1, 10,1,1}{5,5,5}Returns: 0.0
This tree is just a line so its shadow has no area.{1,3,1, 10,1,1}{2,2,2}Returns: -1.0
This tree is just a rectangle. Its shadow covers an infinite rectangular area on the ground.{1,1,1, 2,2,2}{3,3,3}Returns: 15.75
This is a unit cube one unit above the ground. The shadowed area is a six-sided polygon.{1,1,1, 3,3,3}{2,2,2}Returns: -1.0
When the light is inside the tree the shadow extends everywhere.