Apache Axis

几何图形伸缩

蓝咒 提交于 2020-12-18 07:41:28
几何图形伸缩 X = [ -6 -6 -7 0 7 6 6 -3 -3 0 0 -7 2 1 8 1 2 -7 -7 -2 -2 -7 ]; x_avg = mean(X,2); [~,n] = size(X); X_p = X - repmat(x_avg, 1, n); % 平移到原点 k_x = 0.8; k_y = 0.8; k = [k_x 0 0 k_y]; % 设置变换矩阵 Y = k * X_p; Y = Y + repmat(x_avg, 1, n); % 平移回去 X(:,end+1) = X(:,1); plot(X(1,:),X(2,:),'.-','markersize',18,'linewidth',2) hold on Y(:,end+1) = Y(:,1); plot(Y(1,:),Y(2,:),'.-','markersize',18,'linewidth',2) axis square 觉得文章不错,可以点击右上角的三个小点分享到朋友圈,让更多的人知道。 长按二维码即可关注这个微信号。 本文分享自微信公众号 - 帮你学MatLab(MatLab_helper)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my

[AR/VR教程] SteamVR Unity工具包(一):概览和控制器事件

烂漫一生 提交于 2020-12-17 14:15:36
Quick Start 快速上手 · Clone this repository git clone https://github.com/thestonefox/SteamVR_Unity_Toolkit.git · Open the SteamVR_Unity_Toolkit within · Import the SteamVR Plugin from the Unity Asset Store · Browse the Examples scenes for example usage of the scripts · 克隆仓库 git clone https://github.com/thestonefox/SteamVR_Unity_Toolkit.git · 用 Unity3d 打开 SteamVR_Unity_Toolkit · 从 Unity 资源商店导入 SteamVR Plugin · 浏览 Examples 场景作为例子来看脚本的用法 Summary 概要 This toolkit provides many common VR functionality within Unity3d such as (but not limited to): 这个工具包提供了很多Unity3d里的常用VR功能,如下(但并不局限于此): · Controller

Unity新版本VR以及SteamVR基础

纵然是瞬间 提交于 2020-12-17 14:15:00
一、Unity2018新版本VR Unity 简单VRDemo搭建 Unity环境搭建: PlayerSetting设置如下: 启动虚拟现实驱动,sdk选择OpenVR。HTC Vive只支持OpenVR。 Unity Input设置: 官方手册设置说明: https://docs.unity3d.com/Manual/OpenVRControllers.html 按照手册进行配置,左手菜单按钮设置为: 左手触摸板触摸位置获取设置为: X轴设置: Y轴设置: 其余按钮以例根据官方手册在Input中进行配置即可。 基础运行场景搭建 基础环境配置配置完成,VR硬件连接正确时只要场景中存在相机便能实现头部的定位跟踪,先基础角色配置如图: 手部定位追踪依赖于组件: Device: 制定要追踪的设备类型,XRDevice:XR设备(包括头部,眼睛位置的追踪)用于HMD和AR移动设备的位置追踪。 XRController:控制器设备的(左手和右手控制器) XR Remote:XR遥控器,用于移动遥控器(此值暂未用到) PoseSource 要追踪设备位置来源。 UseRelativeTransform:是否使用对象的原始转换作为基础(暂未明白其含义) 基础控制器事件 以左手控制器为例: //点击左手菜单按钮 if ( Input . GetButtonDown ("LTMenu")) {

Numpy&Pandas

风流意气都作罢 提交于 2020-12-17 01:15:03
Numpy & Pandas 简介 此篇笔记参考来源为《 莫烦Python 》 运算速度快:numpy 和 pandas 都是采用 C 语言编写, pandas 又是基于 numpy, 是 numpy 的升级版本。 消耗资源少:采用的是矩阵运算,会比 python 自带的字典或者列表快好多 Numpy 学习 2.1 numpy属性 ndim :维度 shape :行数和列数 size :元素个数 举例说明: import numpy as np array = np.array([[1,2,3],[2,3,4]]) # 列表转化为矩阵 print (array) print ( ' number of dim: ' ,array.ndim) # 维度 # number of dim: 2 print ( ' shape : ' ,array.shape) # 行数和列数 # shape : (2, 3) print ( ' size: ' ,array.size) # 元素个数 # size: 6 2.2 Numpy 的创建 array array :创建数组 dtype :指定数据类型 zeros :创建数据全为0 ones :创建数据全为1 empty :创建数据接近0 arrange :按指定范围创建数据 linspace :创建线段 import numpy as np #

KNN手写实践:Python基于数据集整体计算以及排序

余生长醉 提交于 2020-12-16 10:30:48
1. 距离计算,不要通过遍历每个样本来计算和指定样本距离,而是通过对于指定样本进行广播(复制)成为一个shape和全局一致后,再进行整体计算,这里的广播 / 复制采用的是tile函数来实现的: 2. numpy的排序函数argsort,这个函数可以默认按照冒泡排序进行排序;对于一维数组,正序排列正常传入数组即可返回np.argsort(x);如果是逆序则是np.argsort(-x);类似的对于二维数组,需要指定一下axis,如果0代表按照列进行排序,axis=1代表按照行进行排序; 3. 对于字典的排序,可以使用sorted函数,来进行排序;这里牵涉到python常见的排序函数: 1)python内置的sort函数,这个函数特点就是没有返回值,原始数组将会被改变; a = [2,5,1,3,0,1,8] a.sort() a 2)sorted函数,也是python内置函数,他不会改变原始数组内容;而是返回一个新的对象;其中有一个key参数,这个参数代表的是一个处理函数,一种是lamba,通过lamba匿名函数的模式来指定排序列: s = [('a', 'zhangsan', 17), ('b', 'lisi', 23), ('c', 'lisi', 10)] sorted(s, key=lambda x: x[2]) sorted(s, key=lambda x: x[0])

滤波器简介:FIR与IIR

孤者浪人 提交于 2020-12-16 09:18:19
滤波器简介:FIR与IIR 转载于: 滤波器简介:FIR与IIR 关于本博文的说明: 本博文为翻译文章,主要分享数字滤波器相关知识,包括有限脉冲响应数字滤波器(finite impulse response, FIR)和无限脉冲响应数字滤波器(infinite impulse response, IIR). 原文为‘Introduction to Filters: FIR versus IIR’,由Siemens Phenom发布,原文链接为 https://community.plm.automation.siemens.com/t5/Testing-Knowledge-Base/Introduction-to-Filters-FIR-versus-IIR/ta-p/520959 1. 引言 滤波器在数据采集和分析中具有很多应用. 它们通过减小或放大某些频率来改变时间信号的频率成分. 例如,如图1所示,低通滤 波器以三种不同的方式影响信号中的频率成分:一些频率成分保持不变,而其它频率成分的幅度变小或从信号中完全移除. Figure 1: A low pass filter passes low frequencies unaltered (left) and removes high frequencies (right).. 滤波器还可以放大特定的频带

拿去,8个Python高效数据分析的技巧!

强颜欢笑 提交于 2020-12-13 10:26:32
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 文章来源于网络 来源|CSDN 这篇文章介绍了8个使用Python进行数据分析的方法,不仅能够 提升运行效率,还能够使代码更加“优美”。 1 一行代码定义List 定义某种列表时,写For 循环过于麻烦,幸运的是,Python有一种内置的方法可以在一行代码中解决这个问题。下面是使用For循环创建列表和用一行代码创建列表的对比。 x = [1,2,3,4] out = [] for item in x: out.append(item**2) print(out) [1, 4, 9, 16] # vs. x = [1,2,3,4] out = [item**2 for item in x] print(out) [1, 4, 9, 16] 2 Lambda表达式 厌倦了定义用不了几次的函数?Lambda表达式是你的救星!Lambda表达式用于在Python中创建小型,一次性和匿名函数对象, 它能替你创建一个函数。 lambda表达式的基本语法是: lambda arguments: expression 注意! 只要有一个lambda表达式,就可以完成常规函数可以执行的任何操作。 你可以从下面的例子中,感受lambda表达式的强大功能

OPENNI 打开3D深度 摄像头

≯℡__Kan透↙ 提交于 2020-12-12 10:00:13
转自: https://blog.csdn.net/a573233077/article/details/85681781 转自: https://www.cnblogs.com/21207-iHome/p/6322280.html 使用RGBD摄像头时,由于需要传输的影像和深度信息资料的量很大,所以要注意所使用的USB的频宽。当USB频宽不够的时候会出现卡顿或其他情况,尽量不要和其它大量数据传输的USB装置同时使用。 深度感应器原理   对于光学设备来说,不可避免的要涉及精度和使用范围问题。作为开发者,要熟悉这款设备的这些功能,对于基于这些设备所进行的开发有着决定性的作用。Xtion设备采用的是基于散斑的光源标定技术,所以散斑的形成与否对深度图像有着决定性的作用。下图是获取的深度图像,图中黑色的部分表示无法精确获得深度信息。首先在靠近镜头的地方会无法获取深度,这是因为在这么近的距离无法形成有效的散斑。其次图片中天花板上的照明灯管部分也无法获取深度,因为Xtion使用的是主动光学式探测,所以直接光照会对传感器的接收产生较强的干扰,最后一部分黑色是在图片中最远的地方,这是因为距离过远,当距离过远时也不能形成有效的散斑。   由于深度信息是通过红外激光发射器发射激光,激光在物体表面通过漫反射形成散斑,再由CMOS传感器接收返回的红外激光来获取,因此物体的材质会影响探测效果

R语言入门系列之二

◇◆丶佛笑我妖孽 提交于 2020-12-04 20:40:48
2 数据管理与可视化 2.1数据预处理 在进行正式的数据分析之前,通常要对数据进行处理。而读取数据仅仅是最简单的,之后还要进行数据的筛选、排序、转换等。数据框是最方便的数据存储、管理对象。 R 有很多内置的示例数据集包括向量、矩阵数据框等,可以使用 data() 进行查看,接下来我们以 R 内置数据 mtcars ( 32 辆汽车在 11 个指标上的数据)为例进行分析,如下所示: ⑴ 内容添加与修改 ① 添加修改新变量 函数 transform() 可以在数据框中创建新变量,并使用其他变量进行赋值,如下所示: mydata=transform(mtcars, sums=gear+carb, means=(disp+hp)/2) 运行结果如下: within() 函数可以在数据框内部进行操作,下面我们添加一新的类别变量: mydata=within(mydata, { size=NA # 创建变量 size[sums<6]="low" size[sums>=6 & sums<=8]="mid" size[sums>8]="high" size[sums==13]=NA }) 结果如下所示: 如果要修改数据框中已有的数据和变量名,可以使用 fix() 函数,该函数可以调用文本编辑器然后使用键盘来对数据框进行修改,如下所示: 使用 names() 函数可以调用或重新赋值变量名,如下所示:

matlab的三维绘图和四维绘图

给你一囗甜甜゛ 提交于 2020-12-04 18:33:37
一、三维绘图 1.曲线图 plot3(X1,Y1,Z1,...):以默认线性属性绘制三维点集(X1,Y1,Z1)确定的曲线 plot3(X1,Y1,Z1,LineSpec):以参数LineSpec确定的线性属性绘制三维点集 plot3(X1,Y1,Z1,'PropertyName',PropertyValue,...):根据指定的属性绘制三维曲线 theta = 0:0.01*pi:2*pi; x = sin(theta); y = cos(theta); z = cos(4*theta); plot3(x,y,z,'LineWidth',2); hold on; theta = 0:0.02*pi:2*pi; x = sin(theta); y = cos(theta); z = cos(4*theta); plot3(x,y,z,'rd','MarkerSize',10,'LineWidth',2); 2.网格图 绘制函数z=f(x,y)的三维网格图的过程: 确定自变量x和y的取值范围和取值间隔 利用meshgrid函数生成“格点”矩阵 计算自变量采样“格点”上的函数值:Z = f(x,y) matlab中提供了mesh函数用于实现绘制网格图: mesh(X,Y,Z):绘制三维网格图,颜色与曲面的高度相匹配 mesh(Z):系统默认颜色与网格区域的情况下绘制数据Z的网格图