标签: acceleration

Android加速度计精度(惯性导航)

我正在考虑为Android手机实施一个惯性导航系统,我意识到加速度计的准确性和读数的不断波动很难实现.

首先,我将手机放在一个平面上,并在X和Y方向上取样1000个加速度计读数(平行于工作台,因此没有重力作用于这些方向).然后我平均这些读数并使用该值来校准手机(从每个后续读数中减去该值).

然后我再次将它放在桌面上并在X和Y方向上采样5000个加速度计读数来测试系统.考虑到校准,我预计这些加速度应该在每个方向上加起来为0(大致).然而,情况并非如此,并且超过5000次迭代的总加速度远不及0(每个轴上平均大约10).

我意识到没有看到我的代码,这可能很难回答,但在更一般的意义上......

这只是移动电话(HTC Desire S)上加速度计读数不准确的一个例子,还是我在编码中出错的可能性更大?

android physics calibration accelerometer acceleration

108
推荐指数
5
解决办法
9万
查看次数

停止UIScrollView的减速

在iPhone 3.0中立即停止减速UIScrollView的最佳方法是什么?

我想保持UIScrollView的减速直到它自然停止或用户执行某个动作,无论先发生什么.

谢谢!

iphone acceleration uiscrollview iphone-sdk-3.0

18
推荐指数
1
解决办法
7258
查看次数

iFrame/Javascript鼠标加速中的Javascript iPhone滚动效果

我正在尝试使用JavaScript在窗口中重新创建iPhone轻弹/滚动事件.

从JQuery开始,我在使用计时器点击 - 拖动 - 释放事件期间测量鼠标的加速度和偏移量:

var MouseY = {

    init: function(context) {
        var self = this;
        self._context = context || window
        self._down = false;
        self._now = 0;
        self._last = 0;
        self._offset = 0;
        self._timer = 0;
        self._acceleration = 0;

        $(self._context).mousedown(function() {self._down = true;});
        $(self._context).mouseup(function() {self._down = false;});
        $(self._context).mousemove(function(e) {self.move(e);});

    },

    move: function(e) {
        var self = this;
        self._timer++;
        self._last = self._now;
        self._now = e.clientY + window.document.body.scrollTop;
        self._offset = self._now - self._last;
        self._acceleration = self._offset / self._timer;
    },

    reset: function() …
Run Code Online (Sandbox Code Playgroud)

javascript iphone iframe jquery acceleration

12
推荐指数
2
解决办法
2万
查看次数

如何根据手机加速度计算距离

我想建立这样的东西,但使用Android手机:http://www.youtube.com/watch?v = Awt9mb5QqRs

我已经构建了一个通过套接字发送传感器信息的应用程序(仍在为android寻找一个好的websocket实现).我打算使用该信息与Web应用程序进行交互,例如,我可以根据手机的移动来移动图像.问题是我试图根据加速度计数据计算距离,但结果非常糟糕.我想知道是否有人可以帮助我找到正确的方程式,但首先,是否有可能做到这一点?

直到现在我使用以下等式:

velocity = acceleration * time;

distance = velocity * time + (acceleration * time^2) / 2;

然后我根据显示器屏幕分辨率将距离从米/秒转换为像素.

每次我收到传感器数据时都会在浏览器中用javascript计算,每隔约80ms.

android distance formula acceleration

11
推荐指数
1
解决办法
2万
查看次数

如何计算在一定距离内达到一定速度所需的减速度?

我已经为此尝试了典型的物理方程,但它们都没有真正起作用,因为方程式处理的是恒定加速度,我的需要改变才能正常工作.基本上我有一辆可以在很大的速度范围内行驶的汽车,当它到达路径的末端时需要减速并停留给定的距离和时间.

所以,我有:
V0,或当前速度
Vf,或我想要达到的速度(通常为0)
t,或者我想要达到路径末端的时间量
d,或者我想改变的距离从V0到Vf

我想计算
a,或从V0到Vf所需的加速度

这成为一个特定于编程的问题的原因是因为a需要在汽车停止时每一个时间步重新计算.因此,V0不断地改变为V0从最后的时间步长plusa是计算最后的时间步长.所以基本上它会开始缓慢停止然后最终会突然停止,有点像现实生活中的汽车.

编辑:
好的,谢谢你们的好评.我需要的很多东西只是帮助思考这个问题.现在让我更具体一点,我从你们所有人那里得到了更多的想法:

我有一辆车c64 pixels从它的目的地,所以d=64.它正在开车2 pixels per timestep,在哪里timestep is 1/60 of a second.我想找到加速度a,使其达到0.2 pixels per timestep行进时的速度d.
d = 64 //distance
V0 = 2 //initial velocity (in ppt)
Vf = 0.2 //final velocity (in ppt)

此外,因为这发生在游戏循环中,变量delta将传递给每个动作,即multiple of 1/60s that …

physics acceleration

9
推荐指数
3
解决办法
2万
查看次数

具有移动球体的射线球测试的良好加速结构

我正在寻找适当的加速结构来进行射线球交叉测试(在游戏中).以下条件适用:

- 每帧有100个球体和100个射线相互测试

- 球体在每一帧中移动,射线也是如此

- 可以在每个帧中添加/删除光线/球体(但是它们中的大部分在两个帧之间是相同的,只是略微移动)

- 全是3D的东西

一个KD-Tree非常适合Ray交叉测试,但是由于球体移动,我必须在每个帧中重建KD树,这是昂贵的

Oct-tree更易于维护,但对于光线交叉测试非常无效.

对100个球体的100条射线似乎并不多,但我在非常低的资源上编码,所以我正在寻找一些加速度

有人可以给我一些提示吗?

intersection acceleration

7
推荐指数
1
解决办法
455
查看次数

在Linux中创建虚拟网络接口?

我正在构建一个执行网络加速的程序,我需要知道如何在Linux上创建一个网络接口,而不是将数据导向实际接口,将信息定向到我的程序,以便加速.我们的想法是使它成为一个透明的系统,因此程序只需像普通的那样使用界面,但流量运行得更快.

linux networking acceleration

6
推荐指数
1
解决办法
7009
查看次数

鼠标移动时滚动窗口

大家好

我的意思是当鼠标移向窗口边缘(x或y或两者)时,我希望页面滚动,当鼠标停止移动时,我希望页面停止滚动.

有很多关于如何基于在窗口边缘使用onClick事件或滚动区域进行滚动的示例,但基于鼠标光标的移动并不多.

任何帮助将非常感激.

javascript mouse scroll acceleration

6
推荐指数
1
解决办法
8509
查看次数

禁用mapView的硬件加速会导致不断重绘

简短版本: 使用android禁用硬件加速:xml中的hardwareAccelerated ="false"会将Theme.Sherlock.Light.DarkActionBar主题的背景颜色更改为更白的"白色". 编辑:这曾经是主要问题.我更改了标题以强调第二个问题.

仅为mapView禁用硬件加速会导致不断重绘.

长版:

API级别14及更高版本默认启用AFAIK硬件加速.(参考)

由于我正在构建和测试API级别16,因此我的硬件加速通常是开启的,这就是我以前所看到的.主题是浅色但不是很纯白色,它是浅灰色(默认).

我在地图上绘制了一些圆形叠加,当我放大时,mapview变得非常迟钝,我在logcat中得到一个"太大而无法渲染到纹理中"的形状.我发现关闭硬件加速可以解决问题.

当我为Android清单中的应用程序(或单个活动)关闭硬件加速时,布局的背景颜色会发生变化.它从浅灰色到非常浅灰色,几乎是纯白色.这是正常的行为吗?

我试着为mapview关闭硬件加速:

if(android.os.Build.VERSION.SDK_INT>=11) {
mapView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); }
Run Code Online (Sandbox Code Playgroud)

这很好地摆脱了纹理太大的错误,因为mapview不是硬件加速的,它还可以加速我的应用硬件的其余部分.这将是理想的解决方案.但是,这会导致另一个问题.它使我使用此代码的覆盖的onDraw方法不断被调用.也就是说,onDraw本身被一遍又一遍地调用,而不需要在mapview上调用invalidate().知道为什么会这样吗?

更新:

下面是一些简单的代码,当仅为mapView(我想要的)禁用硬件加速时,将使用常量重绘重新创建问题:

MapActivity:

public class SettingsActivity extends MapActivity {

private MapView mapView;
private static List<Overlay> overlayList;
private static AccuracyCircleOverlay accuracyCircleOverlay;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_manage_maps);

    mapView = (MapView) findViewById(R.id.map);

    overlayList = mapView.getOverlays();
    accuracyCircleOverlay = new AccuracyCircleOverlay(this);
    overlayList.add(accuracyCircleOverlay);
}

@Override
protected boolean isRouteDisplayed() {
    return false;
}
}
Run Code Online (Sandbox Code Playgroud)

覆盖:

public class AccuracyCircleOverlay extends Overlay {

private Context context; …
Run Code Online (Sandbox Code Playgroud)

hardware android background colors acceleration

6
推荐指数
1
解决办法
3660
查看次数

Numba 代码比 cython 替代品快得多

我必须在 cython 中编写一个小型模拟,通常使用 numba 加速。但我必须进行这种转换,因为 numba 不支持我想用来修改函数的 scipy 函数。

所以本质上我已经将我的模拟程序翻译成 cython,这使得一切都比 numba 慢。所以也许我的 cython 代码中存在我没有看到的瓶颈。

我的 cython 代码:

import numpy as np
cimport numpy as cnp
cimport cython

cnp.import_array()

@cython.boundscheck(False)
@cython.wraparound(False)
def simulation(int N=10000, int N_save=10000):

    cdef cnp.ndarray[double] x = np.empty(N_save, dtype=np.double)
    cdef cnp.ndarray[double] r = np.random.standard_normal(size=N_save)
    
    cdef fs = int(N / N_save)
    cdef xold = 0
    x[0] = 0

    for i in range(1, N):

        if i%N_save == 0:
            r = np.random.standard_normal(size=N_save)

        xnew = xold + r[i%N_save]

        if (i % …
Run Code Online (Sandbox Code Playgroud)

python cython acceleration numba

5
推荐指数
1
解决办法
1781
查看次数