Articles of vector

需要从Sensor.TYPE_ORIENTATION数据计算旋转vector

我需要从Sensor.TYPE_ORIENTATION获得的数据中计算一个旋转向量。 传感器数据定义如下: 值必须重新计算以成为正确的3d位置:值[0]:方位angular,磁北方向与Y轴之间的angular度,围绕Z轴(0至359)。 0 =北,90 =东,180 =南,270 =西 值1 :绕X轴旋转(-180至180),z轴向y轴移动时为正值。 值[2]:滚动,围绕Y轴旋转(-90到90),当x轴离开z轴时具有正值 我需要像Z轴值(从0到360度)的所有三个值。 我试了很多,但不知道如何做到这一点:/ (编辑:在工作代码中查看背后的想法看看DroidAR框架的ActionWithSensorProcessing类,在那里你可以看到不同的事件types是如何处理的。) 我也尝试使用Sensor.TYPE_ACCELEROMETER和Sensor.TYPE_MAGNETIC_FIELD来自己计算这个3dvector。 这里是代码: final float[] inR = new float[16]; // load inR matrix from current sensor data: SensorManager.getRotationMatrix(inR, null, gravityValues, geomagneticValues); float[] orientation = new float[3]; SensorManager.getOrientation(inR, orientation); mapMagAndAcclDataToVector(orientation); //here i do some *360 stuff orientetionChanged(orientation); //then the correct values are passed […]

线性加速度方向跟踪手机的上下移动

我试图跟踪设备的运动只在垂直方向上,即向上和向下移动。 这应该与设备的方向无关。 事情,我已经知道或尝试过这些 线性加速度由传感器TYPE_LINEAR_ACCELERATION给出,轴是电话轴,因此跟踪任何特定的轴没有什么区别。 我尝试应用旋转vector的转置或反转(对于旋转vector的反转或转置相同),然后尝试跟踪线性加速度vector的z方向。 似乎没有帮助。 我正在尝试使用重力值(TYPE_GRAVITY)来获得点积,以获得加速的方向,但似乎很容易出错。 即使当我快速移动我的设备,它说下降。 我将在这里概述这个方法 dotProduct = vectorA[0]*vectorB[0]+vectorA[1]*vectorB[1] + vectorA[2]*vectorB[2]; cosineVal = dotProduct/(|vectorA|*|vectorB|) if(cosineVal > 0 ) down else Up. 这个方法有什么缺点? 请帮忙,我一直在这一段时间卡住了。

离线vectorTileProvider,在Android中扩展谷歌地图api v2

我知道有一些Android地图库可以从OSM(* .map等)渲染基于vector的图块。 但是我没有find任何只有引擎的库来以graphics方式呈现vector图块,并将其作为TileProvider返回给Google Maps api v2 for Android。 对于离线光栅图块:我知道如何处理光栅图块(osmdroid jpg文件)。 良好的工作示例: TileProvider使用本地磁贴 。 有人知道在哪里可以find这个vector瓷砖? 亲切的问候,托尼

使用OpenCV4Android(java API)保存ORB特征向量

我有一组训练图像,我已经检测并计算了它们的每一个特征向量(使用ORB特征描述符和提取器)。 问题是 :因为我需要保存这些特征以重新使用它们来匹配testing图像(使用SVM分类器); 在Android设备上本地存储特征向量的最佳方式是什么? 要保存的特征向量是每个图像可变的大小,并且因此具有非最大大小的特征向量被填充为零以统一所有向量的大小。 目前的最大尺寸是500行×32列; 从而16kfunction。 以下是我可以达到的选项; 我听说过OpenCV的FileStorage ,但是在阅读java文档时,我注意到了HOG特性 (不是ORB)的save方法。 此外,我不确定使用OpenCV的文件存储选项保存function是否是Android手机的最佳记忆方式,因为xml文件太大而无法加载。 我目前的select是select一个sqlLite数据库,有一个两列的表; id和function(经常在网上build议); 将sqlLite中的所有16kfunction列表。 这似乎相当电话存储密集型,但这是我能find的最合理的解决scheme。 有没有一种常见的方法来处理Android手机上的特征向量? 它是否包含上述任何一种方法? 如果不能,请提供一些关于如何实施这样的存储解决scheme的指导方针? 谢谢。

九个补丁与vectorgraphics

我正在学习Android UI,并且不清楚为什么人们在使用vectorgraphics的时候使用九个补丁,因为这些补丁可以在不降低像素的情况下进行缩放。 我是Android的初学者,所以我希望我不会在这里丢失任何东西,但是看起来像构buildvectorgraphics并使用它们更容易。 你不需要特殊的编辑器来构build它们。 任何人都可以解释使用九矢补的优点吗? (不要只说明九块补丁的优点,因为这已经在StackO上完成了,而是vector没有的优点)。 因为它似乎像Androidbuild议九补丁。 谢谢。

我怎样才能在android中添加填充vector文件

我怎样才能添加paddingleft,右,顶部和底部在我的vector文件veriable。 我变了 机器人:viewportWidth 和 机器人:viewportHeight 但没有什么改变 我的vector <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="31.416dp" android:height="31.416dp" android:viewportWidth="31.416" android:viewportHeight="31.416"> <path android:fillColor="#fff" android:pathData="M28.755,6.968l-0.47,0.149L25.782,7.34l-0.707,1.129l-0.513-0.163L22.57,6.51l-0.289-0.934L21.894,4.58l-1.252-1.123 l-1.477-0.289l-0.034,0.676l1.447,1.412l0.708,0.834L20.49,6.506l-0.648-0.191L18.871,5.91l0.033-0.783l-1.274-0.524l-0.423,1.841 l-1.284,0.291l0.127,1.027l1.673,0.322l0.289-1.641l1.381,0.204l0.642,0.376h1.03l0.705,1.412l1.869,1.896l-0.137,0.737 l-1.507-0.192l-2.604,1.315l-1.875,2.249l-0.244,0.996h-0.673l-1.254-0.578l-1.218,0.578l0.303,1.285l0.53-0.611l0.932-0.029 l-0.065,1.154l0.772,0.226l0.771,0.866l1.259-0.354l1.438,0.227l1.67,0.449l0.834,0.098l1.414,1.605l2.729,1.605l-1.765,3.372 l-1.863,0.866l-0.707,1.927l-2.696,1.8l-0.287,1.038c6.892-1.66,12.019-7.851,12.019-15.253 C31.413,12.474,30.433,9.465,28.755,6.968z" /> <path android:fillColor="#fff" android:pathData="M17.515,23.917l-1.144-2.121l1.05-2.188l-1.05-0.314l-1.179-1.184l-2.612-0.586l-0.867-1.814v1.077h-0.382l-2.251-3.052 v-2.507L7.43,8.545L4.81,9.012H3.045L2.157,8.43L3.29,7.532L2.16,7.793c-1.362,2.326-2.156,5.025-2.156,7.916 c0,8.673,7.031,15.707,15.705,15.707c0.668,0,1.323-0.059,1.971-0.137l-0.164-1.903c0,0,0.721-2.826,0.721-2.922 C18.236,26.357,17.515,23.917,17.515,23.917z" /> <path android:fillColor="#fff" android:pathData="M5.84,5.065l2.79-0.389l1.286-0.705l1.447,0.417l2.312-0.128l0.792-1.245l1.155,0.19l2.805-0.263L19.2,2.09l1.09-0.728 l1.542,0.232l0.562-0.085C20.363,0.553,18.103,0,15.708,0C10.833,0,6.474,2.222,3.596,5.711h0.008L5.84,5.065z M16.372,1.562 l1.604-0.883l1.03,0.595l-1.491,1.135l-1.424,0.143l-0.641-0.416L16.372,1.562z M11.621,1.691l0.708,0.295l0.927-0.295 l0.505,0.875l-2.14,0.562l-1.029-0.602C10.591,2.526,11.598,1.878,11.621,1.691z" /> </vector> 像那样 可能吗?

如何创buildandroid的vector绘图?

我是VectorDrawables 。 我可以看到,与像ic_menu_gallery , ic_menu_camera等Android工作室提供的默认vector drawables工作很好。 所以我试图通过将我的png images转换为svg并使用path和填充值来制作vectordrawables来创buildvectordrawables,即replaceandroid:pathData for d和android:fillColor for svg文件中的填充标记。 它以某种方式给vectordrawables但扭曲或currputed看。 如果我没有采取正确的做法,请build议我。

在android中以编程方式更改fillColor

我不想以编程方式从Android中的vector文件编辑fillColor。 在xml文件中,我可以使用attribut android:fillColor编写我的颜色,但是我不想在运行时改变颜色。 任何这样的例子? 谢谢。

使用androidvector在前棒棒糖崩溃的Drawables

我在android 之前使用vectordrawables在棒棒糖和这些是我的图书馆和工具版本: Android Studio:2.0 Android的Gradle插件:2.0.0 构build工具:23.0.2 Android支持库:23.3.0 我在我的应用程序级别Build.Gradle添加了此属性 android { defaultConfig { vectorDrawables.useSupportLibrary = true } } 另外值得一提的是,我在Android官方博客( 链接这里 )中使用了一个额外的drawable,比如LayerDrawable(layer_list),用于在app:srcCompat之外设置向量drawable的drawables app:srcCompat <level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/search"/> </level-list> 你会发现在应用程序之外直接引用vector绘图:srcCompat在Lollipop之前将会失败。 但是,AppCompat支持在另一个可绘制容器(如StateListDrawable,InsetDrawable,LayerDrawable,LevelListDrawable和RotateDrawable)中引用它们时加载vector绘图。 通过使用这种间接方式 ,可以在TextView的android:drawableLeft属性(如通常不能支持vector绘图)的情况下使用vector绘图。 当我使用的app:srcCompat一切工作正常,但是当我使用: android:background android:drawableLeft android:drawableRight android:drawableTop android:drawableBottom 在ImageView , ImageButton , TextView或EditText之前的棒棒糖,它抛出一个期待 Caused by: android.content.res.Resources$NotFoundException: File res/drawable/search_toggle.xml from drawable resource ID #0x7f0200a9

从设备坐标系加速到绝对坐标系

从我的Android设备中,我可以读取一系列线性加速度值(在设备的坐标系中)和绝对方向值(在地球坐标系中)。 我需要的是获得后一个坐标系中的线性加速度值。 系统。 我如何转换它们? 在阿里回复评论之后编辑 : 好,如果我理解正确,当我测量线性加速度时,手机的位置完全没有关系,因为读数是在地球坐标系中给出的。 对? 但是我只是做了一个testing,把手机放在不同的位置,在不同的轴上加速。 有3对图片 – 第一个显示我如何把设备(抱歉我的油漆“主技能”),第二个显示线性acc提供的数据读数。 传感器: 装置放在左侧 躺在后面的设备 设备站立 而现在 – 为什么在第三种情况下,加速度是沿Z轴(而不是Y)发生的,因为设备位置并不重要?