jjzjj

acceleration

全部标签

ios - 如何在 swift 中使用加速度计和重力检测苹果 watch 的位置?

我已经为AppleWatch创建了一个应用程序。逻辑是,当用户举起手并点击应用程序中的按钮时。那时我将获取加速度计值。每当用户举手并遇到捕获的位置时,我都必须向iPhone发送消息。对我来说,我得到的值是正确的但是,它总是会根据加速度计给出值。这意味着用户不会举手但加速度计值匹配。因此值将发送到移动设备。funcstartUpadateAccelerometer(){self.motionManager.accelerometerUpdateInterval=1.0/10.0self.motionManager.startAccelerometerUpdates(to:Operatio

objective-c - 使用 Accelerate Framework 的 iOS 的 FFT 音调检测?

我已经研究了FFT和PitchDetection有一段时间了,但我无法将它们拼凑在一起。我发现Accelerate框架可能是处理此问题的最佳方式,并且我已阅读apple的示例代码以了解如何将其用于FFT。如果我想实时运行音调检测,FFT的输入数据是什么?我只是从麦克风传入音频流吗?我该怎么做?此外,在获得FFT输出后,如何从中获得频率?我一直在到处阅读,找不到任何例子或解释?感谢您的帮助。 最佳答案 频率和音高不是一回事-频率是一个物理量,音高是一种心理感知-它们很相似,但有重要的区别,这对你来说可能重要也可能不重要,具体取决于乐器

ios - 有没有办法获得震动的强度?

我正在做一个POC,看看我是否能找到震动的强度。classViewController:UIViewController{overridefuncmotionBegan(motion:UIEventSubtype,withEventevent:UIEvent){println("startedshaking!")}overridefuncmotionEnded(motion:UIEventSubtype,withEventevent:UIEvent){println("endedshaking!")}}我没有看到任何可以告诉我震动有多强烈的东西。就我而言,这种摇晃可能会持续几秒钟。

ios - Swift 使用 CMMotionManager 配置加速度计跟踪

我一直在寻找一种方法来为加速度计在我的游戏中跟踪玩家移动的方式添加偏移量。在我的游戏中,您通过前后倾斜手机来控制玩家角色。这由加速度计转换为屏幕上的x和y坐标。不幸的是,这意味着为了阻止角色一直位于屏幕底部,您必须将手机放平。这对玩家来说不是很舒服。所以我正在尝试实现一种方法,无论手机在开始游戏时的角度如何,这都是默认角度,然后倾斜由该角度的增量而不是原始数据决定我猜这将反对0,0...这是我试图弄清楚的:funcinstantiateAcceleration(){ifmotionManager.accelerometerAvailable{letqueue=NSOperationQu

arrays - 将 ArraySlice 与 Accelerate 函数一起使用的更好方法?

我有一些非常大的数组,我必须对其执行数百万次计算。在Objective-C中,数组将存储为NSData,我将它们抽象为C数组以在(求和、加等)上使用Accelerate函数。然而,(考虑到到处使用指针的明显问题)我喜欢更多地使用Swift数组内置的边界检查。因此,我可以使用嵌套的withUnsafeBufferPointer来处理两个数组。funcmult(_x:ArraySlice,_y:ArraySlice)->[Double]{assert(x.count==y.count)varresults=[Double](repeating:0,count:x.count)x.withU

ios - UILabel 不会更新核心运动闭包内调用的文本

每次摇动设备时,我都试图更改UILabel的文本。我需要一些解决方法来捕捉比UIEventSubtype抖动更频繁的抖动。motionMethod被调用,尽管我的UILabel的文本在它最终更新之前保持不变几秒钟。这是我的代码:letdelegate=(UIApplication.sharedApplication().delegateasAppDelegate)varplayer:Player!varmotionManager:CMMotionManager?letaccThreshold=1.0varreferenceTime=NSDate()lettimeThreshold=0.

ios - 使用 Accelerate 框架 32 位与 64 位在 swift 中进行矩阵乘法

我正在尝试使用Accelerate框架在Swift中进行矩阵乘法。使用了vDSP_mmulD。这在iPhone6、6plus、iPadAir模拟器(所有64位架构)中完美运行,但不适用于任何32位架构设备。它看起来像vDSP_mmulD不被32位架构识别并且程序不构建。显示的错误消息是“使用未解析的标识符‘vDSP_mmulD’”还有其他人看到过这个错误吗?请让我知道你的想法。我正在使用Xcode6.1。谢谢。 最佳答案 简单的解决方案:使用cblas_dgemm相反(也是Accelerate的一部分)。它至少和vDSP_mmulD

arrays - Swift Accelerate 计算均值和标准差

我正在查看Accelerate以计算Swift中数组的均值和标准差。我能做到。我如何计算标准偏差?letrr:[Double]=[18.0,21.0,41.0,42.0,48.0,50.0,55.0,90.0]varmn:Double=0.0vDSP_meanvD(rr,1,&mn,vDSP_Length(rr.count))print(mn)//printscorrectmeanas45.6250//StandardDeviationshouldbe22.3155 最佳答案 您可以计算平均值的标准偏差和均方值(比较https://

ios - 在 Swift 中使用 Accelerate 框架

来自苹果文档根据文档funcvvlog10f(__:UnsafeMutablePointer,__:UnsafePointer,__:UnsafePointer)/*y*//*x*//*n*/那我做错了什么?这是我的代码importAcceleratevarinput:[Float]=[0.124,0.5,0.0056]varoutput:[Float]=[]vari:Int32=Int32(input.count)vvlog10f(&output,&input,&i)println("outputis\(output)")输出为[] 最佳答案

swift - 为什么有时 Apple Accelerate 框架很慢?

我正在使用vecLib和Accelerateframework来处理C和Swift3.0代码来自Apple作为动态库+我在基于Clang的项目和Swiftplayground中的代码。并且在从SIMD指令的框架调用Apple包装器的情况下,具有1或框架的vvcospif()例如,当函数从循环调用接近1.000次时,比简单的标准cos(x*PI)慢。我知道vvcospif()和cos()之间的区别,我应该对x使用完全相同的vvcospif()*PI.Playground上的例子,你可以复制代码并运行它:importCocoaimportAcceleratefunccosine_inter