Eclipse

Problem Description
As you know, when the moon goes between you and the sun, it may block your sight, and thus you can only see part of the sun, or even cannot see it at all. This is called eclipse.
Now the news says that an eclipse will take place in several days. Being interested in astronomy, YY is curious whether he can observe the eclipse in the city he lives in, or he has to go somewhere else. Without loss of generality, YY models the problem as follows:
1.There is one and only one light source, called ‘the sun’, in a 3-dimensional space. It is sphere shaped, centered at the origin (0, 0, 0), with radius R.
2.There is one and only one obstacle, called ‘the moon’, in the same 3D space. It is also sphere shaped, center at the point (x0, y0, z0), with radius r. Besides, it is completely opaque.
3.There is one and only one observer, called ‘YY’, in the same 3D space, too. He is not sphere shaped. Comparing to the moon and the sun, his volume is so small that he can be regarded as a point located at (x1, y1, z1).
4.There is nothing and nobody else in the space.
5.There is no assumption which of the two spheres is bigger.
6.The sun and the moon neither intersect with each other, nor even touch. And for his safety and comfort, YY will not be inside or on the surface of any of the spheres.
Four situations may occur:
1.Total eclipse: the sun is totally blocked by the moon, so no part of the sun can be seen by YY.
2.Partial eclipse: part of the sun is blocked, and part can be seen. To be distinguished from annular eclipse, part of the border of the sun must be blocked in a partial eclipse.
3.Annular eclipse: some central part of the sun is blocked and cannot be seen by YY, but the whole border of the sun must be visible.
4.No eclipse at all: The whole sun is observable, so YY cannot observe any eclipse at all.

Input
Input contains multiple test cases.

For each test case, there is only one single line consisting of 8 integers with absolute value no larger than 1000: R, r, x0, y0, z0, x1, y1, z1, indicating the radii of the sun and the moon, the location of the moon, and the location of YY. R and r are always positive.

A line with 8 space-separated 0s indicates the end of input.

Output
For each test case, output one single line, containing one of the four strings “total eclipse”, “partial eclipse”, “annular eclipse” or “no eclipse at all” (Quotes exclusive) , according to which of the four situations occurs in the test case. It is guaranteed that, when the coordinates of the observer change slightly (for example, 10-4), the answer will not change.

Sample Input
3 1 5 0 0 10 0 0
0 0 0 0 0 0 0 0

Sample Output
annular eclipse

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!