2012-06-13 3 views
3

У меня есть значение оси Android акселерометр х, и на каждом 0,18 изменения этого значения, значение аз также должны быть пошагово/убывающей измененJava/Android: Приращение Алгоритм

например:

на x=0, az=0

на x=0.18, az=5

на x=0.36, az=10

, если значение х обратно до 0,18, поэтому значение аг должно быть также обратно 5 (это означает, что х и азимут синхронизированы)

Как следует реализовать эту логику в коды?

PS: Я ожидаю, что «за», «если», или, может быть «а» заявления здесь

Извините за мой плохой английский. Заранее благодарю вас

ответ

3

Я полагаю, у вас есть какой-то способ постоянного мониторинга значения x. В этом случае псевдокод:

private static final double xToAz = 5.0/0.18;  

onChange(x) 
{   
    az = xToAz * x; 
    az -= az%5; 
} 
+0

Это не зернистое. Он просто выполняет математику вслепую, не выполняя требуемые прорези. – Polynomial

+0

Ах, я не думал, что он хочет дискретных изменений. Ред. – Ina

+0

Гораздо лучше. Хороший и короткий! :) – Polynomial

0

Девида x с 0,18 и умножьте результат на 5, чтобы получить значение az.

az = (x/0.18) * 5; 
+0

Это не будет обеспечивать детализацию, о которой просит ОП. Это приведет к 8,3333, а не к 5 для ввода 0,3, например. – Polynomial

Смежные вопросы