## Rotations in 3 Dimensions

View as PDFYour task is simple: given some points in 3D, rotate them around an axis of rotation.

#### Input Specification

The first line of input will contain , the number of test cases .

The next lines will each contain 7 real numbers to 6 decimal places, . You are to rotate the point around the axis of rotation such that if you look at the origin from the axis of rotation, it will be rotated radians counterclockwise. All coordinates will have absolute value of at most and will be such that . It is guaranteed at least one of is nonzero.

#### Output Specification

Output lines, each line should have the , the result of rotation as three space-separated real numbers. Your answer will be judged as correct if it is within an absolute or relative error of .

#### Sample Input

```
2
0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 3.141593
1.000000 0.000000 0.000000 1.000000 1.000000 1.000000 1.570796
```

#### Sample Output

```
0.000000 0.000000 0.000000
0.333334 0.910683 -0.244017
```

## Comments

Sample input and output work perfectly. I tried printf("%f %f %f\n", x, y, z), printf("%.6f %.6f %.6f\n", x, y, z), %e, and many other combinations and all of them return WA... Im using g++ as well. What did I do wrong?

Your code suffers from floating point precision issues: if you change your variables to doubles, your solution passes.

Thanks mate, some of math was already in doubles but after changing data to doubles from float, everything worked.

First of all, I'm wondering what's the order of rotation?

Secondly, say if I want to rotate pie/4 (45 degree) by the z-axis, and then for the next rotation, let say by the x-axis, is it rotating along the old x-axis or the new x-axis, which is the axis produced after the previous rotation with a 45 degree offset?

Can someone explain this program to me?

Thank you

Now that you've solved it, can you explain it to us?

^ serious question. Thanks!

Hi, I notice that you convert the angle to radian value in your code.

But the input specification has said that the angle is

already radian