Измерение силы удара на iphone - PullRequest
1 голос
/ 02 января 2012

Я создаю простое приложение, которое измеряет силу, оказываемую пользователем от удара кулаком по воздуху, удерживая устройство.Единственный способ, которым я знаю, - это использовать встроенный акселерометр.Теперь я смог получить значения ускорения с помощью протокола UIAccelerometerDelegate

 - (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration. 

Проблема в том, что я не знаю, что делать с этими значениями, сейчас я получаю сумму x, y и z.Можно ли использовать какую-либо формулу или что-то еще, чтобы я мог предоставить пользователям более точный результат?

1 Ответ

2 голосов
/ 02 января 2012

Это больше похоже на вопрос физики, чем на вопрос программирования.Во-первых, вам нужно получить величину ускорения от вектора, который возвращает API:

a = квадратный корень (x ^ 2 + y ^ 2 + z ^ 2)

Затем вы можете использовать формулу Ньютона, чтобы получить силу.

F = ma

Поскольку у вас есть ускорение, все, что вам нужно сделать, это умножить намасса телефона и все готово.(Хотя вы можете захотеть преобразовать результат в определенную единицу измерения.)

Помните, что давление, вероятно, будет более значимым значением, чем сила.Например, я бы хотел, чтобы телефон описывал силу моего удара в фунтах на квадратный дюйм.Но вы не можете получить это, не зная площадь поверхности кулака пользователя.

...