Android documentation says here (just read top 4-5 lines) that Rotation Vector Sensor is software based. But most of Android devices actually have 3 sensor, viz. accelerometer, gyroscope, and magnetometer. So there must be a conversion algorithm which converts data from these actual sensors to the virtual rotation vector sensor. But I was unable to find any article or source code where I can see the algorithm that was used to calculate the rotation vector. If someone had any experience in this area, may be he can point me to the right direction.
I need it to know if it is at all necessary to get the rotation data from rotation vector sensor, or I can compute it myself using the hardware-based sensors.