John:
You're wrong.
I just explained how it detects rotation. It detects rotation by interpreting an acceleration as a rotation.
|.|
|A|
|.|
|.|
|.|
If you imagine the above is the Wiimote, A is roughly in the location of the accelerometer within it. Because it is where it is, if you turn the remote as if you are steering a car, the accelerometer will register a small upwards acceleration on the Y axis due to centrifugal force, and an acceleration on the X axis due to the rotation.
This is how Mario Kart's steering works.
But it is important to note that the only reason this works is because we are able in this instance, to assume the player is using the remote like a steering wheel. Without that assumption, we have nothing. All we know for sure is that the remote experienced an acceleration on the X and Y axis, which could just as easily have been caused by moving the remote diagonally, without rotating it.
That means that even for detectiong movement in space, the WiiMote fails, because once again, you can assume the player is moving the remote and that is what is causing the accelerations, but they could just as easily be rotating it to cause those accelerations.
In order to truly track the remote's movements through space, you need to detect not only acceleration on 3 axes, but rotation as well. And that's where the gyroscope comes in.
Once you have the gyroscope, you not only know exactly how the wiimote is rotated at any point in time, but you can also subtract the accelerations caused by the changes in rotation from the accelerations being measured, and voila, rotation no longer messes up your ability to roughly measure the remote's changes in position in space.
If you still don't believe me, check out this wiki page on the data you can pull from the remote:
http://www.wiili.org/Wiimote
The only stuff available is what you get from the accelerometer and the infrared camera. There is no tilt detection, unless you count that which you can do with the camera when pointing it at the sensor bar.
You're wrong.
I just explained how it detects rotation. It detects rotation by interpreting an acceleration as a rotation.
|.|
|A|
|.|
|.|
|.|
If you imagine the above is the Wiimote, A is roughly in the location of the accelerometer within it. Because it is where it is, if you turn the remote as if you are steering a car, the accelerometer will register a small upwards acceleration on the Y axis due to centrifugal force, and an acceleration on the X axis due to the rotation.
This is how Mario Kart's steering works.
But it is important to note that the only reason this works is because we are able in this instance, to assume the player is using the remote like a steering wheel. Without that assumption, we have nothing. All we know for sure is that the remote experienced an acceleration on the X and Y axis, which could just as easily have been caused by moving the remote diagonally, without rotating it.
That means that even for detectiong movement in space, the WiiMote fails, because once again, you can assume the player is moving the remote and that is what is causing the accelerations, but they could just as easily be rotating it to cause those accelerations.
In order to truly track the remote's movements through space, you need to detect not only acceleration on 3 axes, but rotation as well. And that's where the gyroscope comes in.
Once you have the gyroscope, you not only know exactly how the wiimote is rotated at any point in time, but you can also subtract the accelerations caused by the changes in rotation from the accelerations being measured, and voila, rotation no longer messes up your ability to roughly measure the remote's changes in position in space.
If you still don't believe me, check out this wiki page on the data you can pull from the remote:
http://www.wiili.org/Wiimote
The only stuff available is what you get from the accelerometer and the infrared camera. There is no tilt detection, unless you count that which you can do with the camera when pointing it at the sensor bar.