Мне нужно измерить изменение акселерометра, а не его фактическое положение. Мне нужно переместить спрайт с ним, и он работает только тогда, когда «по умолчанию» устройства, если хотите, будет плоским на столе. Мне нужно уметь измерять его изменения. Я слышал, что матричное умножение и вещи необходимы, но есть ли более простые способы сделать это?Измерение изменения акселерометра. не позиция
0
A
ответ
1
Когда вы регистрируете SensorEventListener, вы должны переопределить onSensorChanged(). Это возвращает изменение на оси X, Y, & Z. Если вы хотите вычислить матрицу вращения из этих данных, вам также необходимо использовать датчик магнитного поля. Как правильно? Это должно вас заинтересовать:
// Deduced from Accelerometer data
private float[] gravityMatrix = new float[3];
// Magnetic field
private float[] geomagneticMatrix = new float[3];
private boolean sensorReady = false;
private int counter = 0;
public void onSensorChanged(SensorEvent event) {
float[] mIdentityMatrix = new float[16];
mIdentityMatrix[0] = 1;
mIdentityMatrix[4] = 1;
mIdentityMatrix[8] = 1;
mIdentityMatrix[12] = 1;
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
if (counter++ % 10 == 0) {
gravityMatrix = event.values.clone();
sensorReady = true;
}
}
if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD)
geomagneticMatrix = event.values.clone();
if (sensorReady)
SensorManager.getRotationMatrix(mRotationMatrix,
mIdentityMatrix, gravityMatrix, geomagneticMatrix);
}
Смежные вопросы
- 1. Измерение изменения/времени изменения экрана?
- 2. Позиция изменения дерева GWT
- 3. Позиция изменения SKNode
- 4. Изменения столбца ORDINAL_POSITION Позиция
- 5. Измерение расстояния 2 дюйма с помощью GPS или акселерометра
- 6. как обнаружить изменения акселерометра с помощью python
- 7. Позиция изменения изменения в перетаскивающем списке
- 8. Позиция QGraphicsItem после изменения boundingRect
- 9. изменения позиция uinavigation бар элемент
- 10. меню изменения Android ActionBar позиция
- 11. Угловая 2 позиция изменения элемента
- 12. Позиция UIScrollView после изменения ContentOffset
- 13. Измерение изменения Qlik Sense, используемое на графике
- 14. Измерение рендеринга Время изменения, инициированное Javascript
- 15. Обнаружение ручных жестов с использованием акселерометра
- 16. Получить поток Размер без изменения потока Позиция
- 17. JQuery UI Позиция: Когда окно изменения размера
- 18. Утерянная позиция после добавления изменения css (jQuery)
- 19. Позиция изменения javascript в зависимости от номера
- 20. бутстрап 3 позиция для изменения карусели-индикаторы
- 21. позиция CALayer после изменения границ размеров
- 22. Позиция изображения на фоне (изменения размера фона)
- 23. Частота изменения частоты прослушивателя датчика акселерометра Android неожиданно
- 24. Изменение частоты вибрации на основе изменения акселерометра - Android
- 25. Вид акселерометра/гироскопа не отображается
- 26. значение акселерометра iPhone не соответствует
- 27. Расчет акселерометра
- 28. Приложение акселерометра
- 29. измерение времени не работает
- 30. Код акселерометра
Это действительно не так сложно. Вы также можете использовать датчик вращения, но не все устройства имеют это. –
Что мне следует использовать для mRotationMatrix и где я могу получить рассчитанные значения x, y и z? Благодарю. – user2005938
Они объясняют это в определении метода: http://goo.gl/A6kk0w –