精华内容
下载资源
问答
  • 在numpy array s中,维度是指索引它所需axes数量,而不是任何几何空间维数。 例如,您可以使用维数组描述三维空间中点位置:array([[0, 0, 0], [1, 2, 3], [2, 2, 2], [9, 9, 9]])其shape为(4, 3) ,维数...

    在numpy array s中,维度是指索引它所需的axes的数量,而不是任何几何空间的维数。 例如,您可以使用二维数组描述三维空间中点的位置:

    array([[0, 0, 0], [1, 2, 3], [2, 2, 2], [9, 9, 9]])

    其shape为(4, 3) ,维数为2 。 但它可以描述三维空间,因为每行( axis 1)的长度是三个,所以每行可以是一个点的位置的x,y和z分量。 axis 0的长度表示点的数量(这里是4)。 但是,这更像是代码描述的math应用,而不是数组本身的属性。 在math中,vector的维数将是其长度(例如,3dvector的x,y和z分量),但是在math上,任何“vector”实际上都被认为是长度不等的一维数组。 该数组并不在乎所描述的空间的维度(如果有的话)。

    你可以玩这个,并看到像这样的数组的尺寸和形状的数量:

    In [262]: a = np.arange(9) In [263]: a Out[263]: array([0, 1, 2, 3, 4, 5, 6, 7, 8]) In [264]: a.ndim # number of dimensions Out[264]: 1 In [265]: a.shape Out[265]: (9,) In [266]: b = np.array([[0,0,0],[1,2,3],[2,2,2],[9,9,9]]) In [267]: b Out[267]: array([[0, 0, 0], [1, 2, 3], [2, 2, 2], [9, 9, 9]]) In [268]: b.ndim Out[268]: 2 In [269]: b.shape Out[269]: (4, 3)

    数组可以有很多维度,但是它们很难在两三个之上形象化:

    In [276]: c = np.random.rand(2,2,3,4) In [277]: c Out[277]: array([[[[ 0.33018579, 0.98074944, 0.25744133, 0.62154557], [ 0.70959511, 0.01784769, 0.01955593, 0.30062579], [ 0.83634557, 0.94636324, 0.88823617, 0.8997527 ]], [[ 0.4020885 , 0.94229555, 0.309992 , 0.7237458 ], [ 0.45036185, 0.51943908, 0.23432001, 0.05226692], [ 0.03170345, 0.91317231, 0.11720796, 0.31895275]]], [[[ 0.47801989, 0.02922993, 0.12118226, 0.94488471], [ 0.65439109, 0.77199972, 0.67024853, 0.27761443], [ 0.31602327, 0.42678546, 0.98878701, 0.46164756]], [[ 0.31585844, 0.80167337, 0.17401188, 0.61161196], [ 0.74908902, 0.45300247, 0.68023488, 0.79672751], [ 0.23597218, 0.78416727, 0.56036792, 0.55973686]]]]) In [278]: c.ndim Out[278]: 4 In [279]: c.shape Out[279]: (2, 2, 3, 4)

    展开全文
  • 在numpyarrays中,维数是指索引它所需axes个数,而不是任何几何空间维数。例如,可以使用维阵列描述三维空间中点位置:array([[0, 0, 0],[1, 2, 3],[2, 2, 2],[9, 9, 9]])它有shape(4, 3)和维数2。但它...

    在numpyarrays中,维数是指索引它所需的axes个数,而不是任何几何空间的维数。例如,可以使用二维阵列描述三维空间中点的位置:array([[0, 0, 0],

    [1, 2, 3],

    [2, 2, 2],

    [9, 9, 9]])

    它有shape的(4, 3)和维数2。但它可以描述三维空间,因为每行的长度(axis1)是三,所以每行可以是点位置的x、y和z分量。长度axis0表示点数(这里是4)。但是,这更多的是代码描述的数学应用程序,而不是数组本身的属性。在数学中,向量的维数是它的长度(例如,三维向量的x、y和z分量),但在numpy中,任何“向量”实际上都被认为是长度可变的一维数组。数组不关心所描述的空间(如果有的话)的维数是多少。

    你可以玩这个,看看数组的维数和形状,如下所示:In [262]: a = np.arange(9)

    In [263]: a

    Out[263]: array([0, 1, 2, 3, 4, 5, 6, 7, 8])

    In [264]: a.ndim # number of dimensions

    Out[264]: 1

    In [265]: a.shape

    Out[265]: (9,)

    In [266]: b = np.array([[0,0,0],[1,2,3],[2,2,2],[9,9,9]])

    In [267]: b

    Out[267]:

    array([[0, 0, 0],

    [1, 2, 3],

    [2, 2, 2],

    [9, 9, 9]])

    In [268]: b.ndim

    Out[268]: 2

    In [269]: b.shape

    Out[269]: (4, 3)

    数组可以有许多维度,但在两个或三个以上的维度上很难可视化:In [276]: c = np.random.rand(2,2,3,4)

    In [277]: c

    Out[277]:

    array([[[[ 0.33018579, 0.98074944, 0.25744133, 0.62154557],

    [ 0.70959511, 0.01784769, 0.01955593, 0.30062579],

    [ 0.83634557, 0.94636324, 0.88823617, 0.8997527 ]],

    [[ 0.4020885 , 0.94229555, 0.309992 , 0.7237458 ],

    [ 0.45036185, 0.51943908, 0.23432001, 0.05226692],

    [ 0.03170345, 0.91317231, 0.11720796, 0.31895275]]],

    [[[ 0.47801989, 0.02922993, 0.12118226, 0.94488471],

    [ 0.65439109, 0.77199972, 0.67024853, 0.27761443],

    [ 0.31602327, 0.42678546, 0.98878701, 0.46164756]],

    [[ 0.31585844, 0.80167337, 0.17401188, 0.61161196],

    [ 0.74908902, 0.45300247, 0.68023488, 0.79672751],

    [ 0.23597218, 0.78416727, 0.56036792, 0.55973686]]]])

    In [278]: c.ndim

    Out[278]: 4

    In [279]: c.shape

    Out[279]: (2, 2, 3, 4)

    展开全文
  • 左侧sidebar的二级菜单在sidebar右侧显示 严格要求级菜单距离一次菜单距离 左侧sidebar可收起展开 sidebar收起展开时候有0.3秒动漫效果 级菜单箭头始终着一级菜单 我们看到这个需求脑子里面就会...

    今天给大家带来react+antd项目实战:

    项目需求:

    1. 左侧sidebar与整体分开滚动
    2. 左侧sidebar的二级菜单是在sidebar的右侧显示
    3. 严格要求二级菜单距离一次菜单的距离
    4. 左侧sidebar可收起展开
    5. sidebar收起展开的时候有0.3秒的动漫效果
    6. 二级菜单的箭头始终指着一级菜单

    在这里插入图片描述

    我们看到这个需求脑子里面就会去想用什么技术去解决它:

    1. 左侧sidebar与主体分别有各自的滚动条的话就要给左侧的sidebar加overflow-x: hidden;

    如果不想看到丑陋的滚动条的话就在加上&::-webkit-scrollbar { display: none;}
    less语法如下:

    .nav-content {
        width: 280px;
        background: #151524;
        height: 100vh;
        overflow-x: hidden;
        padding-bottom: 100px;
        &::-webkit-scrollbar {
          display: none;
        }
    }
    

    这样sidebar与主体就有各自的滚动效果了,我们再来看下一个需求

    2. 左侧sidebar的二级菜单是在sidebar的右侧显示

    这个其实是很难为情的,因为我们使用了overflow-x:hidden;才使得sidebar与主体有了不同的滚动条,这时候我们想让元素在sidebar的外面显示就有些困难了,在笔者的尝试下发现了,给二级菜单加position: absolute是肯定显示不出来的,只有给二级菜单加position: fixed;才会显示出来,可是这样的话我们就要去给一级菜单加入移入事件,然后去查看一级菜单在文档中的上边距和左边距,然后再根据取得到的值去设置二级菜单的位置。这样做不是不可以,可是这样性能会很差。
    于是我们就要换个方法来实现,这时我们又发现了antd的Tooltip组件的内容可以是文字也可以是一个ReactNode。那么我们来尝试一下Tooltip会不会被隐藏掉:结果显示的是不会被隐藏掉,而且可以使用它的arrowPointAtCenter这个API去让Tooltip始终指向目标元素的中心。
    第七个需求在这里一起解决了

    //用Tooltip把你的一级菜单包上
    <Tooltip
      placement="rightTop"
      title={tooltipContent}  //这个tooltipConent是你的二级菜单
      arrowPointAtCenter   //让二级菜单的箭头始终指向你的一级菜单中心
    >
      <li key={item.path}>
      //这个li就是你的一次菜单
      </li>
    </Tooltip>
    

    3.严格要求二级菜单距离一次菜单的距离

    我们现在使用的是Tooltip来包装的二级菜单,所以我们现在就要改变Tooltip距离一级菜单的距离
    可是当我们使用TooltipoverlayStyle 这个API的时候发现改变left和top值无效,这时候为了检测究竟是什么问题我们就去控制台看了一下,发现我们更改的样式并没有应用上,这时候为了完成需求的我们并没有气馁,我们又尝试了给他加类名,然后用那个类名去控制Tooltip的left边距。结果发现left还是改不了,我们又加了一个!important才成功,这个大家要注意哈。距离一级菜单的距离就是看你的UI图,比如UI图上二级菜单距离一级菜单10px,那么你就设置Tooltip的左边距为一级菜单的宽度加上10px。
    PS:注意这里要使用类名的方式控制Tooltip的样式,不要给Tooltip本身覆盖样式,否者会覆盖掉全局的其他的Tooltip样式。

    4.一级菜单可伸缩
    这个功能的话其实还是比较好实现的,就是记住你一级菜单收起和展开时候的宽度,然后写俩个样式,一个样式是设置为展开时候的左边距,一个样式是设置为收起时候的左边距。
    然后在在你的react项目里面设置一个state状态,默认是展开的状态,然后当点击sidebar缩起的时候改变state的状态,然后根据state动态设置Tooltip的类名。这样就实现了一级菜单可伸缩,二级菜单始终距离一级菜单的距离都是指定距离了。
    CSS代码如下:

    body .expandTooltip {
      left: 178px!important;
    }
    body .packUpTooltip {
      left: 58px!important;
    }
    

    JS关键代码如下:

    constructor() {
    	super()
    	this.state = {
    		expand: true,
    	}
    }
    
    onExpand = () => {
      //控制你sidebar伸缩展开的代码
      /。。。/
      // 这里的这个标记是用来改变你的收起展开状态的
      this.setState({
        expand: !this.state.expand,
      }
    }
    
    render() {
    	return (
    	/**其他内容代码*/
    	<Tooltip
          placement="rightTop"
          title={tooltipContent}		//你的二级菜单
          overlayClassName={this.state.expand ? 'expandTooltip' : 'packUpTooltip'}	//你展开收起设置不同的类名
          arrowPointAtCenter   //让二级菜单的箭头始终指向你的一级菜单中心
        >
    	//你的二级菜单
    	</Tooltip>
    	/**其他内容代码*/
    	)
    }
    

    5.最后一个需求,收起展开的时候有0.3s的过渡效果
    这就是控制你的sidebar的样式了,
    在你sidebar的样式中添加如下代码:

    transition: all ease 0.3s;		//所有的样式改变的时候都会有0.3s的过渡效果,如果只需要控制width就把all改成width即可
    
    展开全文
  • MPU6050模块一个常用的六传感器模块,主要目的获取以传感器为基点的欧拉角(偏航角、俯仰角、滚转角),可以理解为以传感器为中点,初始X正半轴与当前传感器前方所指的一个向量在XY平面的夹角,初始X正半轴与...
  • PProportional的简称,IIntegral的简称,DDerivative的简称,合并起来,PID控制器指的就是比例,积分和微分控制器,用公式表示如下(e指设定值和当前值的误差,t指当前的时间)。 公式一: 以离散的...

    在开始本文的描述前,我们先来看看什么叫PID控制器。P是Proportional的简称,I是Integral的简称,D是Derivative的简称,合并起来,PID控制器指的就是是比例,积分和微分控制器,用公式表示如下(e是指设定值和当前值的误差,t是指当前的时间)。
    公式一:pid

    以离散的数字方式表示如下(其中,k表示某个时刻,e(k)就表示某个时刻的误差值)。

    公式二:pid2

    以四轴飞行器为例,假定我们每1ms读取一次陀螺仪和加速度的数值,并计算到姿态pitch和roll,再假定我们的目前姿态是水平状态,即pitch=0,roll=0,那么我们就可以得到某个时刻的PID计算公式如下图(其中A代表的是姿态角)。

    公式三:pid3

    上述公式就是我们在四轴飞行器源代码里面经常看到的编程方法,通常,我们把微分控制的姿态差直接用陀螺仪的数据来表示,因为从陀螺仪读取出来的数据代表的就是现在和上一次的角速度差,乘以1ms的时间差,即为角度差,因而公式变为。

    公式四:pid4

    对于简单的四轴飞行,积分不是必要的条件,而且积分使用不好的情况下,会对四轴飞行器的稳定性产生很大影响,所以对于四轴飞行器初学者来说,我们可以先去除积分项,把公式简化成下面的样子。

    公式五:pid6

    就这样,一个简单的四轴飞行器的PID控制公式就出现在我们面前了。把该公式变换成代码,即可以实现四轴飞行器的PID控制。

    从上面的描述,我们可知,这是一个位置式的PID控制器,即我们是把当前位置和水平位置作为误差来进行PID控制,从而实现四轴飞行器的水平飞行的。增量式PID和位置式PID的不同就在于增量PID控制是把位置的变化量作为控制量。这样一来,我们可以得到下述的计算公式。

    公式六:pid7

    从上面公式,我们可以看出,积分项累加的结果就是当前姿态减去初始姿态,假定初始姿态为水平状态,那么姿态增量的积分就是当前的姿态。比例控制的是当前姿态相对于上一姿态的增量,根据我们之前的描述,可以用陀螺仪数据来表示。假定我们忽略微风项的控制,那么公式可以简化为:

    公式七:pid8

    把公式七和公式五做对比,我们可以知道,在四轴飞行器中,位置式的PD控制相当于增量式PID的PI控制。把位置式PID控制和增量式PID控制组合在一起,就可以组成串级PID控制。

    上文详细描述了位置式和增量式PID控制,并引出了串级PID控制的概念,如需转载,请勿用于商业目的,并注明:该文章出自圆点博士无人机www.bspilot.com


    展开全文
  • 广告位API接口通信错误,查看德得广告获取帮助matlab中plot(x)的是什么意思?matlab中plot(x(1,:))表示将维矩阵x的第一行元素画成散点图。其中:x(1,:)x矩阵的第一行所有列,:表示所有的。plot()是matlab中的描...
  • 机械设计师要设计一种齿轮组合机械,要看到多个面效果电影大片场景渲染要想知道如何画出三维图像,首先要了解几个知识点三维[1]通常我们说三维是指在平面维系中又加入了一个方向向量构成空间系。三维既是...
  • 机械设计师要设计一种齿轮组合机械,要看到多个面效果电影大片场景渲染要想知道如何画出三维图像,首先要了解几个知识点三维[1]通常我们说三维是指在平面维系中又加入了一个方向向量构成空间系。三维既是...
  • 在很多情况下,伺服系统专被控制量(系统输出量)机械位移或位移速度、加速度反馈控制系统,其作用使输出机械 位移(或转角)准确地跟踪输入位移(或转角)。伺服系统结构组成和其他形式反馈控制...
  • 方法一,站在很远处。通过自己的想像,让你从现在所处的地方来到20年或50年后,然后再从那个时点回看20年前或50年前的这个时刻,它能让你...而退到时间线外则很不同,它说的是退出整个时间线,彻底离开正在进行着...
  • 2018-12-30什么是空间直角... 各之间的顺序要求符合右手法则,即以右手握住Z,让右手的四指从X的正向以90度的直角转向Y的正向,这时大拇指所指的方向就是Z的正向。 这样的三个坐标构成的坐标系称为右手空...
  • SVG,可缩放矢量图形(Scalable Vector Graphics),用于描述维矢量图形一种图形格式,由万维网联盟制定开放标准。 SVG 使用 XML 格式来定义图形,除了 IE8 之前版本外,绝大部分浏览器都支持 SVG,可...
  • 铝型材挤压是指将铝合金高温铸坯通入专用挤压模具内,在挤压机提供强大压力作用下,按给定速度,将铝合金从模腔中挤出,从而获得所需形状、尺寸以及具有一定力学性能铝合金挤压型材。铝型材挤压成型过程非常...
  • 44 Three.js拉伸几何体THREE.ExtrudeGeometry

    千次阅读 2017-12-19 00:21:05
    拉伸是指我们有一个维图形,通过针对这个维图形进行z拉伸,将它转换成三维图形。例如,如果我们拉伸THREE.CircleGeometry,就会得到一个类似圆柱体图形;如果我们拉伸THREE.PlaneGeometry,就会得到一个立方...
  • 给定N一个正整数,求比N大最小“不重复数”,这里不重复是指没有两个相等相邻位,如1102中11相等两个相邻位故不是不重复数,而12301不重复数。 设N一个大整数,求长度为N字符串最长回文子串。...
  • x和y轴的标签自动生成。 但是您可以设置自己标签,可以使用字符串。 处理不完整数据。 可以以不同频率提供数据。 视口。 您可以限制视口,以便仅显示部分数据。 手动Y限制 还有更多...查看项目页面...
  • 真实纹理

    千次阅读 2012-12-27 23:22:45
    "UV"这里是指u,v纹理贴图坐标简称(它和空间模型X, Y, Z轴是类似). 它定义了图片上每个点位置信息. 这些点与3D模型相互联系, 以决定表面纹理贴图位置. 就好像虚拟"创可贴", UV就是将图像上每一个...
  • 课:机器学习和深度学习的...其次,深度则指的是神经网络的深度。 深度学习为什么会兴起 横轴代表完成任务的数据数量,纵轴代表机器学习算法的性能,比如垃圾邮件过滤的准确率,广告点击预测的准确率,用于无人
  • 一、pandas是什么、使用步骤 1.引入库 2.读入数据 总结 前言 通过Winhex工具进行磁盘查看和管理,然后手动恢复数据文件 一、硬盘存储原理 1. 硬盘存储是以硬盘为存储介质存储方式,是一种...
  • 一、“窗口在子窗口链中的先后顺序....”中,这个所谓先后顺序指的是什么呢?是不是说从子窗口链表头开始,根据子窗口创建的先后顺序,先创建的子窗口放在靠近子窗口链表头的位置,后创建的窗口放在子窗口链表尾? ...
  • 2、用叠加法作弯矩图时,为什么要强调弯矩图叠加是指两个弯矩图纵坐标叠加,而不是两杆图形简单拼合?第节 曲杆受力分析1、根据曲杆荷载与内力之间微分关系说明内力图特点。在无荷载区间,弯矩,剪力...
  • 机械键盘科普知识

    2016-02-10 22:14:57
    市面上所谓的机械键盘,一般指的都是CHERRY MX机械。而市面上的绝大多数机械键盘,均采用的是CHERRY MX机械,CHERRY也成为了机械键盘的代名词。什么是CHERRY MX机械? CHERRY MX机械是广泛应用于机械...
  • 1.什么是贝叶斯定理? 条件概率公式: 2.朴素贝叶斯分类法数学原理是什么?其中朴素字意味着什么? 数学原理: ...朴素意味着:条件独立...5.高斯分布概率密度函数在维坐标形状是什么? 钟行 ...
  • 游戏以维视图在矢量显示上呈现,该维视图在两个屏幕上环绕。 什么是小行星? 小行星较小行星,尤其内部太阳系行星。 较大也被称为小行星。 这些术语在历史上一直适用于绕太阳公转任何天文物体,...
  • 一、在matlab中如何表示频率为f1,以采样率f抽样后所得到的数字信号?如此表示的依据是什么? 、使用matlab画出的频谱(一般是幅度谱或称振幅谱)...四、频率分辨率指的是什么?高分辨谱和高密度谱有何区别?有何作用?

空空如也

空空如也

1 2 3 4
收藏数 74
精华内容 29
关键字:

二轴指的是什么