Continuing from my last post...
This is an accelerometer. It's a tiny electromagnetic device which simply measures acceleration in one axis. The way it works is called the piezoelectric effect. Simply put, the accelerometer contains tiny tiny crystals within that generate a voltage when stressed. The positioning of these crystals within the accelerometer (and how they're oriented) makes them succeptable to the force of acceleration, and as they move along a certain orientation they get stressed in certain ways. So, along one single access, depending on how it's moving, it'll generate either a positive or a negative electrical charge.
Now, we can read those charges, and use it as input data from our controllers. In order to make this data useful, we need to position accelerometers in three strategic positions. If anyone has ever studied aerodynamics before, you should be familiar with pitch, rotation, and yaw. These are the 3 kinds of acceleration we need to measure on the controller.
Acceleration along the Y axis.
acceleration along the X axis.
and acceleration along the Z axis.
using a variety of accelerometers, we can measure these 3 kinds of acceleration and derive the motion in which we are currently moving from these. You can think of them almost as an analog stick with an extra demension. Now, there is a problem when trying to figure out the absolute position using accelerometers - there is no reference point, it's all relative.
Allow me to explain - these accelerometers don't measure WHERE the remote is, only WHICH DIRECTION it's moving. This is important, because it means we never have a starting position in which to determine what our orientation is.
So, lets use an example. Say we have a dot at (5, 5) and our wiimote is laying flat on a table. We're gonna use the accelerometers to move the dot... if we tilt the remote to the left, the accelerometer for that particular axis charges negatively and the dot moves over to the left. So we tilt it leftwards and now the dot is at (1, 5). As we return it to the flat position, we have to tilt the remote in the opposite direction and the accelerometer charges positively, and the dot moves back to (5,5) as we return to the neutral position. As we tilt the remote to the right, it continues to charge positively and the dot winds up at (9, 5).
This is an extremely basic version of how the controls in, say, ExciteTruck work, simplified for clarity sake. Now, here's the problem with the wiimote... say, when we began our test, the wiimote wasn't laying flat. It was already tilting left. So with the wiimote tilting left, we have our dot at (5, 5). Say we return it to the normal flat position... as we tilt to the right, the accelerometer charges positively and the dot begins to move to the right. Thus, when we're at a normal flat positon, the dot is at (9, 5). See the problem? The motion controls only work relative to where the dot is.
Pointer based controls circumvent this problem by using the 2 dots as a stationary, real-world point to orient itself. This is how the two types of tilt are different.
Did that make any sense?