精华内容
下载资源
问答
  • 维数学基础1:坐标系、矢量
    2021-05-14 10:41:25

    3D游戏世界是由三维物体组成的,通过记录这些物体的位置(position)、定向(orientation)、比例(scale)等信息,把这些属性变换至屏幕空间,使得物体能够被渲染在屏幕上;通过不断改变物体的这些属性来产生动画效果。

    笛卡尔坐标系
    左手:x向左,y向上,z向里
    右手:x向左,y向上,z向外

    矢量(vector)指n维空间中包含模(magnitude)和方向的量。
    (point)是绝对的,矢量是相对的。
    (magnitude)是一个标量,代表矢量的长度。

    矢量和标量的乘法:其效果为保留矢量的方向,同时缩放矢量的模。乘以-1则是把矢量的方向反转,也就是头尾互换。

    矢量和矢量的加减:会得到一个新矢量,新矢量的每个分量为原先矢量个分量的和/差。

    单位矢量和归一化
    单位矢量是模(长度)为1的矢量。
    归一化是将任意矢量的模变为1的过程,保留矢量的方向。

    法矢量,某平面的法矢量(normal vector)是指某矢量垂直于该平面。一个平面可以用一个点和一个法矢量来定义。在三维图形中,经常使用法矢量计算光线和材质表面之间的夹角。

    矢量和矢量的乘法:有多种乘法,游戏编程最常用的有点积和叉积。

    点积(dot product),又称为标量积(scalar product)或内积(inner product)
    点积的结果是一个标量,每对分量的乘机之和。点积也等于两个矢量的模相乘后,再乘以两个矢量夹角的余弦值。
    矢量的投影(projection):若u为单位矢量,那么矢量a与u的点积(a*u)表示a在u方向线段上的投影长度。
    点积计算模:矢量a与自身进行点积,将结果进行开方即可得到向量的模。0度角的余弦值是1。
    点积判断方向性:点积的结果可以用来判断两个矢量的方向关系
    (1)平行:点积结果等于模的乘积
    (2)垂直:点积结果等于0
    (3)大致相同方向(<90):点击结果>0
    (4)大致相反方向(>90):点积结果<0
    点积的运用:
    (1)敌人在玩家前面还是后面:玩家朝向矢量a 和 玩家位置指向敌人的矢量b(敌人位置-玩家位置) 的点积,如果值>0则在前面,<0在后面
    (2)计算任意点到平面的距离:从平面上任意取一点与改点生成一个矢量,计算该矢量与平面法矢量的点积(投影,即距离)

    叉积(cross product),有称为矢量积(vector product)或外积(outer product)
    叉积会产生另外一个矢量,该矢量垂直于相乘矢量所构成的平面。
    叉积的模:叉积的模等于两个矢量模乘积再乘以矢量夹角的正弦值。如果两矢量为平行四边形的两条相邻的边,那么平行四边形的面积就是叉积的模。
    叉积的方向:
    (1)右手坐标系:使用右手法则,a和b的叉积方向,打开手掌使除拇指外其他4个手指指向a矢量,再通过弯曲能够指向b矢量,此时大拇指方向就是叉积的方向。
    (2)左手坐标系:使用左手法则,a和b的叉积方向,打开手掌使除拇指外其他4个手指指向a矢量,再通过弯曲能够指向b矢量,此时大拇指方向就是叉积的方向。
    叉积的特性:不符合交换律;符合加法分配率。
    叉积的运用:
    (1)可以得到与两个矢量都垂直的矢量
    (2)可以求平面的法向量

    赝矢量和外代数:叉积实际上不产生矢量,产生的是一个称为赝矢量的数学对象。
    赝矢量:矢量经过反射变换后,矢量变成其镜像;当赝矢量被反射后,除了变成其镜像,还会被改变方向。

    更多相关内容
  • 使用C++开发的一个三维空间向量的实现,支持基础的加、减、叉乘、点乘运算可以计算模长、向量夹角等,已经满足笔者的需求。 理论基础:https://go.lucoder.com/fwlink/?linkid=8
  • 有限位移不是矢量

    千次阅读 2015-03-11 23:41:24
     ①一个直观的诠释是,有限大位移不满足加法的交换律(也就是改变旋转操作的次序,最后的结果就会有所变化),肯定不是矢量。但是无限小位移就很难从直观去想象了。实际上,旋转可以用矩阵来表示,通常来说矩阵...

            课本上对这句话如此轻描淡写,“可以证明:有限大角位移δθ不是矢量,因为δθ的合成不满足适量运算法则;而无限小角位移是矢量。用dθ表示” 可以证明,但是到底怎么证明?想了一段时间,完全无法理解,后来上网查资料,发现要解释的话需要用到还没学过的东西,就把解释先摘抄下来,以后慢慢参悟。在知乎上也提问了,可到现在还没人回答.......

     ①一个直观的诠释是,有限大角位移不满足加法的交换律(也就是改变旋转操作的次序,最后的结果就会有所变化),肯定不是矢量。但是无限小角位移就很难从直观去想象了。实际上,旋转可以用矩阵来表示,通常来说矩阵的乘法(体现为角位移的加法)是不满足交换律的,但无限小角位移的情况下一些交叉项是高阶小量可以被略去,使得其满足乘法的交换律。
    并非一切具有大小和方向的量都可以称为矢量。除了大小和方向,最重要的还是满足矢量合成的平行四边形法则。这法则是服从交换律的,即a+b=b+a。

    ②有限大的角位移不是矢量,证否可以用举例法。 最简单的一个例子是翻转一本书,连续翻转两次,记下翻转的步骤,然后将步骤颠倒,再重复一次实验。这两次实验的最终结果是不一样的。可见,不满足交换律。(这个例子也很费解啊,脑力有限,理解不了) 这就说明它不满足平行四边形法则,即不是矢量。
    可以证明,无限小的角位移满足矢量合成的平行四边形法则,具体证明过程我就不写了,在大学的力学中角动量部分一般可以找到这个证明的。

    ③变化量的方向由右手定则来判断。这个变化量就是无限小的角位移,所以变化量的方向即无限小的角位移的方向,无限小角位移的方向由右手定则定义。
    角位移描述物体转动时位置变化的物理量。它本来就不是矢量,它是一个关于转动的量。角位置是相对于某一转轴而言的,角位移当然也是这样。直观上就可以看出角位移并不同于一般常见的矢量,它甚至没有定向。 即使对角位移约定方向(如用右螺旋法则确定方向),它还是与转轴的位置有关,这与矢量是全然不同的,它也不满足交换律。 相反,对于无穷小角位移是矢量的问题,才真正值得思考。

    ④把旋转写成矩阵形式,有限大角位移不满足交换律,而无穷小角位移由于可以略去高阶小量满足交换律,然后可以用levicivita张量将其收缩成矢量形式,发现其满足相关运算。 

           上面几点都说到了有限大角位移不满足向量加法的交换律,具体怎么不满足的,需要后面学到的知识,就先不纠结了。

          “设定与运动方向成右手螺旋的转轴方向为坐标轴正向,则当角速度和角加速度方向与坐标轴正向相同时,ω和β取正值,反之取负值”

           这句话让我疑惑的是,坐标轴的正向既然是运动方向决定的,那么角速度的方向怎么会与坐标轴的正向相反呢?不懂不懂不懂>.<网上也没有搜到

           感觉大学物理与高中物理脱节有些严重啊。


            今天接受了一项任务,帮《传媒》杂志门户网站搜集资料,其实也很清楚就是从记者团里拉人做苦力,估计下段时间会有些辛苦。杂志社的王叔叔和我们聊了聊天,解释了一下任务,还对我们做了一些承诺,说的会让我们优先的那些机会听起来很诱人,不过我觉得就像开空头支票一样,并不靠谱,哈哈,没事,帮帮忙也好,多一个大朋友也无妨。

             

             坚持跑步第三天,C语言数组学了一半。望保持



    展开全文
  • 第一种:两个矢量的点积是把两个矢量对应分量相乘然后再取和,最后的结果是一个标量, 公式为:a•b = (ax, ay, az)•(bx, by, bz) = axbx + ayby + azbz 矢量的点积满足交换律,即a•b = b•a 点积的几何意义...

    矢量的点积

    点积(也叫内积)的名称来源于这个运算的符号:a•b。中间这个圆点符号是不可省略的,在Unity Shader中,可以直接使用形如dot(a,b)的代码来对两个矢量进行点积 的运算。

    点积的公式由两种形式

    第一种:两个三维矢量的点积是把两个矢量对应分量相乘然后再取和,最后的结果是一个标量, 公式为:a•b = (ax, ay, az)•(bx, by, bz) = axbx + ayby + azbz

    矢量的点积满足交换律,即a•b = b•a

    点积的几何意义很重要,因为点积几乎应用到了图形学的各个方面,其中一个几何意义就是投影    

    需要注意的是,投影的值可能是负值,投影结果的正负号与a和b的方向有关:当他们的方向相反(夹角大于90)时,结果小于0;当他们的方向互相垂直(夹角为90)时,结果等于0;当他们的方向相同(夹角小于90)时,结果大于0。也就是说,点积的符号可以让我们知道两个矢量的方向关系。

    任何两个矢量的点积a•b等同于a在b方向上的投影值再乘以b的长度,也等同于b再a的方向上的投影值再乘以a的长度。

    点积具有一些重要的性质,再Shader的计算中,我们经常会利用这些性质来帮助计算。

    性质一:点积可结合标量乘法,公式为:(ka)•b = a•(kb) = k(a•b),也就是说对点积中一个矢量进行缩放,相当于对最后的点积结果进行缩放。

    性质二:点积可结合矢量加法和减法,公式为:a•(b + c) = a•b + a•c

    性质三:一个矢量和本身进行点积的结果,是该矢量的模的平方,公式为:

    v•v = vxvx + vyvy + vzvz = |v|²

    第二种:从三角代数的角度出发,可以明确地强调出两个矢量之间的角度

    公式为:a•b = |a||b|cosθ

    以两个单位向量来看^a•^b = 三角形临边 / 三角形斜边 = cosθ,其中三角形临边为^a•^b,斜边为|b|=1

    然后由性质一可得:a•b = (|a|^a)•(|b|^b) = |a||b|(^a•^b) = |a||b|cosθ

    利用这个公式,可以求得两个矢量的夹角(再0~180之间) θ = arcos(^a•^b),arcos为反余弦操作。

    矢量的叉积

    矢量的叉积也叫外积,矢量的叉积仍是一个矢量,与点积类似,叉积的名称来源于它的符号:axb

    叉号不可省略,两个矢量的叉积计算公式为:

    a x b = (ax, ay, az) x (bx, by, bz) = (aybz - azby, azbx - axbz, axby - aybx)

    需要注意的是叉积不满足交换律,即a x b ≠ b x a,但是它满足反交换律,即a x b = -(b x a),而且叉积也不满足结合律,即(a x b) x c ≠ a x (b x c)

    对两个矢量进行叉积的结果会得到一个同时垂直与这两个矢量的新矢量,新矢量的模(即a x b 的模)等于a的模乘以b的模再乘以他们夹角的正弦值,公式为|a x b| = |a||b|sinθ 该公式与平行四边形的面积公式相同。

    推导过程:以a和b为平行四边形的两条边,所以平行四边形的面积=|b|h (h为b边上的高),而h等于|a|乘以sinθ,所以面积 = |b|h = |b||a|sinθ = |a x b|,

    若a与b平行(同向或反向),则a x b = 0,(此处的0为零向量,不是标量0)

    接下来来看新矢量的方向,这里需要结合左手坐标系和右手坐标系,在右手坐标系中,a x b 的方向使用右手法则来判断,首先将右手的掌心朝向矢量a的方向,然后弯曲四指让其向b矢量的方向靠拢,此时伸直大拇指,大拇指的方向就是新矢量的方向,在左手坐标系中的判断方法同理。

    需要注意的是,在左手/右手坐标系中看似a x b的结果不同,但实际上从公式方面来看,结果是一致的,左手/右手坐标系的选择影响的是在三维空间中的视觉效果,如在unity中将左手坐标系换为右手坐标系会发现图像反了。

    叉积常用于计算垂直于一个平面、三角形的矢量,还能用于判断三角面片的朝向

    展开全文
  • 数字栅格地图矢量化及维显示教程

    万次阅读 多人点赞 2018-04-22 14:31:19
    对等高线地形图扫描件在ArcMap中依次进行地理配准、地理要素矢量化、拓扑检查、等高线平滑、附高程值、生成TIN、在TIN间拉伸操作,在ArcScene中进行叠加遥感影像、浮动于自定义表面操作,最终得到维地形图。...

    · 简介

     

    一、概述

    1. 要求:

    对等高线地形图扫描件在ArcMap中依次进行地理配准、地理要素矢量化、拓扑检查、等高线平滑、附高程值、生成TIN、在TIN间拉伸操作,在ArcScene中进行叠加遥感影像、浮动于自定义表面操作,最终得到一幅三维地形图。

    2. 最终效果:

    图1 矢量化结果
    图2 三维显示结果

    3. 阅读本教程注意事项

    请务必阅读此部分内容,谢谢!

    ArcGIS是一款非常优秀的软件,它包含了十分丰富的GIS理论知识,每项操作背后都有着完整的知识体系支撑,是GIS应用于研究、工程的成熟平台。与这样优秀的软件打交道,对学习巩固GIS知识,是大有裨益的。

    所谓“授人以鱼不如授人以渔”,博主查阅了数本地图学教材和十余篇博客文章,在各个操作步骤中添加了相关的补充知识,软件操作技巧,以及个人对于此项工作的一些理解和体会,希望读者阅读后不仅知道怎么操作,还要懂得为什么这么操作,以及这么操作背后蕴含的地图学知识

    博主写这篇教程的目的,不是单纯地让读者依葫芦画瓢,而是希望不同水平的读者(尤其是刚接触GIS & ArcGIS的小鲜肉们)能带着目的性去进行每一步操作,从而完成“是什么→为什么→怎么做”的思考流程。各位读者切勿比着教程,看一步做一步,只求结果,而放弃思考的能力。

     

    · 操作步骤

     

    二、新建数据

    1. 新建.mxd和GDB

    打开ArcMap,新建空白地图文档和文件地理数据库。

    图3 新建空白地图文档

    注:地图文档建议使用相对路径储存模式,便于多人分工合作。

    单击菜单栏,【文件】→【地图文档属性】,勾选【存储数据源的相对路径名】。

     图4-1 地图文档属性
     图4-2 存储数据源的相对路径名
    图5 新建文件地理数据库

    注:不要新建个人地理数据库,因个人地理数据库最大容量为2GB,后面进行空间分析操作时缓存或结果文件的大小可能会超出个人地理数据库的容量,导致空间分析操作失败。

    2. 设置数据框坐标系

    单击工具栏中【视图】→【数据框属性】→【坐标系】,根据地形图的投影方式、比例尺大小和经纬度选择对应的坐标系。

    图6 数据框属性

    如何获知地图文档(mxd)数据框应采用哪种坐标系?

    (1)坐标系、比例尺、经度范围、纬度范围

    查看地图图面可知。

    (2)投影方式

    国家基本比例尺地图1:100万比例尺采用兰勃特(Lambert)投影方式,

    1:50万~1:2.5万比例尺采用高斯-克吕格(Gauss Kruger)6度分带投影方式,

    1:1万~1:500采用高斯-克吕格3度分带投影方式。

    (3)带号

    根据经度计算带号方法:

    6度分带带号 = [ ( 经度 + 6 ) / 6 ]

    3度分带带号 = [ ( 经度 + 1.5 ) / 3 ]

    注:[ x ] 代表取数x的整数部分。

    博主使用的地形图是1954年北京坐标系,1:5万比例尺,经度跨度109°00′E~109°15′E,纬度跨度36°00′N~36°15′N。由这些图面信息可知,该地形图采用的是高斯-克吕格6度分带投影方式,位于北半球第19带,故数据框坐标系选择“投影坐标系→Gauss Kruger→Beijing 1954→Beijing_1954_GK_Zone_19N”,如图所示。

    图7 选择数据框坐标系

    注:

    ① 查看带号的方法详见 三、地理配准 5.读图获取方里网或经纬网交点坐标 部分。

    ② GK_CM代表3度分带,GK_ZONE代表6度分带;19N代表北半球第19带,19代表南半球第19带。

    3. 创建要素类

    由地形图中的地物可知,至少要创建如下要素类:

        点要素:山顶点(字段名:高程[浮点型])

        线要素:等高线(字段名:高程[浮点型])

        面要素:水系

                      居民地

                      底图(字段名:高程[浮点型]),即大地水准面,海拔高程系统的起算面,高程设置为0。

    步骤:

    (1)右单击要创建新要素类的地理数据库,选择【新建】→【要素类】。

    图8 新建要素类
    图8 新建要素类

    (2)设置名称、别名、要素类型(很重要)

    图9 设置要素类参数

    (3)设置要素类坐标系。

    图10 设置要素类坐标系

    (4)添加高程字段(此前几步操作保持默认设置即可),类型为浮点型。点击【完成】。

    图11 添加高程字段

    (5)按上述操作创建山顶点、底图要素类。

    注:① 要素类的坐标系需和数据框坐标系一致。如不一致将会弹出地理坐标系警告。

    图12 地理坐标系警告

    ② 水系、居民地要素类不需要设置属性字段。

     

    三、地理配准

    1.导入地形图

    左键长按目录窗格中的待配准的地形图,拖拽至数据框中;或点击工具条中的【添加数据】按钮 ,选择待配准地图,添加到数据框中。

    图13 导入地形图

    如提示创建金字塔,点【确定】。

    图14 创建金字塔

    2. 打开地理配准工具条

    右单击工具栏空白处,勾选【地理配准】。

     

    图15-1 工具栏空白处
    图15-2 勾选地理配准

    3. 选择需要配准的地形图

    图16 选择地形图

    4. 取消勾选【自动校正】

    图17 取消勾选自动校正

    注:

    ① 【自动校正】默认处于启用状态,这时每输入一个控制点的坐标或经纬度后,系统会自动计算匹配结果,图像会自动移动至该控制点的位置,有时会超出显示范围,需要多次寻找图像,较为繁琐。不勾选【自动校正】,图像在输入控制点时不会发生位移,待所有控制点输入完成后,再单击【更新地理配准】统一进行更新。

    ② 如图像超出显示范围,可通过以下两种方式找到图像所在位置:

    a. 右单击某图层,选择【缩放至图层】;

    图18 缩放至图层

    b. 点击【地理配准】→【适应显示范围】。

    图19 适应显示范围

    5. 读图获取方里网或经纬网交点坐标

    放大图像,查看外图廓和内图廓,查看方里网和经纬网。

    图20 方里网和经纬网交点

    读图可知,红色框内为方里网交点,其通用坐标(单位为m)为X=4005000,Y=19 321000。

    其中Y坐标前两位数——19,表示该地形图位于6度分带的第19带;

    321表示该点横坐标,即距纵坐标轴(分带的中央经线向西位移500Km所得)321Km;

    4005表示该点纵坐标,即距横坐标轴(赤道)4005Km。

    蓝色框内为经纬网交点,经度为109°00′E,纬度为36°10′N。

    注:

    ① 在1:1万~1:20万比例尺的地形图上,经纬线只以图廓线的形式直接表示出来,并在图角处注出相应度数,图面上没有经纬网,故无法在图面上精确选取控制点,不宜采取“输入经纬度DMS”的配准方式,宜采取“输入XY坐标”的配准方式。

    我国的1:50万~1:100万地形图,在图面上直接绘出经纬线网,内图廓上也有供加密经纬线网的加密分划短线,两种配准方式均可采用。

    ② 某个分带的方里网坐标系仅限于该分带范围内使用(如确定某点的坐标、计算点间距离),不同分带的坐标进行比较和计算毫无意义(如不能说第20分带Y坐标为20xxxxxx的点,比第19分带Y坐标为19xxxxxx的点,在水平距离上差100万m),因为Y坐标前两位为带号,且Y轴为中央经线向西偏移500Km所得。即使多个分带均为同一个投影坐标系,但是各个分带使用的是各自互相独立的“小坐标系”,故不同分带的坐标之间毫无关系。博主当时做这项工作时在这儿纠结了许久,现将自己的一点心得记录下来,望能对各位读者有所帮助。

    6. 选取控制点并输入坐标

    在地理配准工具条上,点击【添加控制点】按钮。

    图13 添加控制点按钮

    精确找到一个方里网交点,点击【左键】添加控制点,点击【右键】,选择【输入X和Y】,输入对应的坐标。

    注:高斯投影平面直角坐标系的横轴为Y轴,纵轴为X轴;ArcGIS中为便于应用计算机算法,采用的是和算法中相同的数学平面直角坐标系,即笛卡尔坐标系,横轴为X轴,纵轴为Y轴

    所以在ArcGIS中输入坐标时需要将高斯坐标系的X/Y坐标互换。

    图22 添加控制点并输入坐标

    同理,在图面其他位置添加控制点,个数不少于4个,满幅均匀选取

    7. 查看残差及修正

    控制点添加完成后,点击地理配准工具条的【查看链接表】 按钮。

    图23 查看链接表

    变换方式选择【一阶多项式】。

    图24 再选择一次一阶多项式

    注:

    ① 虽然链接表刚打开变换方式默认显示为一阶多项式,但只是显示,实际并没有进行任何变换,所以残差一开始均为n/a,需要选择一遍一阶多项式,才会执行变换。

    ② 残差标准:一般的,残差大于1的控制点应删除。考虑到纸质地形图扫描后的变形问题,对于该幅地图各控制点残差和RMS总误差控制在5以内,且越小越好。

    ③ 点击链接表左上角的【保存】按钮 ,可将当前的控制点保存为文件,以后再配准该图时可直接打开链接表,点击【加载】按钮 即可加载保存的控制点。

    时间有限,博主并没有精确选取控制点,导致残差过大,结果仅供参考。

    8. 校正及另存为

    点击【地理配准】→【更新显示】,相当于“预览”配准后的结果。

    图25 更新显示

    如更新显示后效果正常,点击【校正】保存地理配准结果。

    需注意的是,配准结果默认保存到地理数据库中,但地理数据库不能储存TIFF格式文件,会提示“保存栅格数据集失败”。

    图26 配准结果默认保存到地理数据库
    图27 保存栅格数据集失败

    解决方法:

    ① 点击【浏览】图标

    图28 点击浏览图标

    ② 点击【向上一级】图标

    图19 点击向上一级图标

    ③ 选择一个文件夹,点击【添加】,建议选择地理数据库所在的文件夹,方便查找。

    图30 选择一个文件夹

    此时即可保存为TIFF格式,重采样类型建议选择【双三次卷积】,采样效果最好,点击【保存】,将配准好的图保存为TIFF格式。

    图31 保存为TIFF格式

     

    四、创建地理要素

    注:

    ① 如需多人分工,以上步骤由一人完成,再将配准后的地形图和地理数据库交与其他人即可,保证配准结果的一致性,避免合图时出现偏差。

    ② 分工技巧写在 五、矢量化结果处理 1. 分工及合图 部分,请跳转查看。

    1. 线要素:等高线

    方法一:ArcScan矢量化追踪

    ArcScan可对二值化的栅格图像进行追踪,实现交互式(半自动)矢量化或全自动矢量化,实际上是对编辑器→创建要素功能的增强。由于博主使用的地形图要素密集、种类繁多、图面复杂,全自动矢量化效果很差,故使用半自动矢量化。

    1)图像二值化

    图像的二值化,就是选择一个灰度阈值,灰度值高于该阈值的像素点,一律将灰度值设置为255(白);灰度值低于该阈值的像素点,一律将灰度值设置为0(黑)的操作。每个像素非黑既白,整幅图像只有两种颜色两种灰度值,故称作二值化。

    (1)单波段数字栅格图像:使用重分类工具

    注:博主使用的是多波段数字栅格图像,不使用该方法,但希望读者能不跳过这部分。

    单波段数字栅格图像指在某一波段范围内工作的传感器获取的数字栅格图像。单波段数字栅格图像均为灰度图像。

    举个形象的例子,早期的黑白电视只有一支电子枪,每个像素点只能显示一个波段,所以显示出的画面是灰度图像(虽然它叫黑白电视,但是主要显示的是灰色);后来的彩色电视有三支电子枪,每个像素点能显示三个波段(红绿蓝三原色),将这三个波段组合在一起,就形成了彩色图像。

    ① 打开ArcToolbox工具箱,选择【Spatial Analyst工具】→【重分类】→【重分类】。

    图32 选择重分类工具

    ② 输入栅格选择配准后输出的.tif文件,重分类字段保持默认,设置输出栅格名称及储存位置,点击【分类】。

    图33 设置重分类参数

    类别设置为【2】,点击【确定】。

    图34 设置重分类类别

    新值设置为【0】和【1】。

    图35 设置新值

    ③ 右单击重分类生成的图层→属性→符号系统→已分类→色带,更改为图中样式。

    图36 更改色带

    ④ 对于多波段数字栅格图像,ArcGIS中的重分类工具会默认对第一个波段执行操作。下图是对该图像执行重分类后的结果,放大可见只显示了原图上黑色的内容,土黄色的等高线没有显示出,效果较差,故不采用这种方法。

    图37 重分类效果

     

    (2)多波段栅格图像:使用某一波段直接二值化

    ① 分别加载各个波段的图像,选择最与原图接近最为清晰的一幅。

    点击配准后导出的tif图像名前的【+】,展开波段列表,Band1、2、3分别代表R、G、B波段。

    鼠标左键按住波段,将其拖放至地图框中即可加载。

    图38 加载单波段图像

    读图可知,Band3(蓝色波段)最与原图接近,等高线最为清晰,故对于该幅数字栅格图像,选用蓝色波段进行二值化。

    图39 各波段单独显示效果

    ② 在内容列表中右单击蓝色波段,选择【属性】→【符号系统】→【已分类】,会提示下图错误。

    图40 提示无直方图

    打开ArcToolbox工具箱,双击打开【数据管理工具】→【栅格】→【栅格属性】→【计算统计数据】,输入栅格数据集选择配准后图层(TIFF格式),点击确定。

    图41 计算统计数据

    ③ 继续执行第②步操作,类别设置为2,色带如图设置,点击确定。

    图42 蓝色波段二值化

    ④ 观察二值化效果,发现50m等高距的粗线效果较好,但10m等高距的细线断断续续,说明默认阈值(177)不合适,需要微调。

    图43 蓝色波段二值化效果

    ⑤ 按照步骤②打开符号系统,点击分类。

    图44 点击分类

    手动修改第一个中断值的数值(第二个保持默认最大值即可),逐步找到一个效果最好的值,对于该幅图像的蓝色波段,博主认为190效果最好。

    图45 手动修改中断值
    图46 修改中断值后二值化效果

    2)ArcScan配置(准备工作)

    注:本文所有操作均是按照该工作所有真实步骤整理编写,确保能按照本教程顺利完成该工作。如在该步骤发现自己的软件界面与本文中不符(ArcScan不能使用、不显示捕捉窗口、捕捉环境中没有栅格……),请自行检查是否完全依照本文内容进行操作以及软件是否安装正确,授权是否完整。

    (1)激活ArcScan模块:单击菜单栏【自定义】→【扩展模块】→勾选ArcScan。

    注:建议所有扩展模块都勾选。

    图47-1 激活ArcScan模块_1
    图47-2 激活ArcScan模块_2

    (2)加载【编辑器】和【ArcScan】工具条:右单击【工具栏】空白处→勾选【ArcScan】和【编辑器】。

    图48 加载编辑器和ArcScan工具条

    (3)捕捉设置

    ① 单击编辑器工具栏中【编辑器】→【选项】,在【常规】选项卡中勾选【使用经典捕捉】。

    图49-1 编辑器选项
    图49-2 使用经典捕捉

    如不使用经典捕捉,编辑器→捕捉里第一个选项为捕捉工具条;使用经典捕捉为捕捉窗口。

    图50-1 不使用经典捕捉
    图50-2 使用经典捕捉

    ② 单击编辑器工具栏中【编辑器】→【开始编辑】,单击【捕捉】→【捕捉窗口】。

    ③ 如图所示勾选。

    图51 捕捉设置

    捕捉等高线端点,方便万一矢量化过程中断,继续矢量化同一根,避免出现伪结点错误。

    捕捉栅格中心线和交点,利于保证半自动矢量化的精度

    3)开始编辑

    ① 单击编辑器工具栏【创建要素】图标。

    图52 创建要素

    ② 选择【等高线】图层,构造工具选择【线】。

    图52 选择构造工具

    ③ 点击ArcScan工具条的【矢量化追踪】图标,开始追踪。

    注:如ArcScan工具条是灰色,请逐条检查是否满足ArcScan使用前提:

    ① ArcScan扩展模块必须激活

    ② ArcMap中添加了至少一个栅格数据层和至少一个对应的矢量数据层

    ③ 栅格数据要进行二值化处理

    ④ 编辑器必须启动

    图54 矢量化追踪

    4)一些小技巧

    ① 定期按【F2】保存编辑内容,退出软件时记得保存mxd。

    ② 矢量化追踪时按【C】键(英文输入法下)或按下(非滚动)【鼠标滚轮】,可以将【十字丝】切换成【平移】工具,方便移动图层。

    ③ 矢量化追踪时按住【S】键可以更改为【手动追踪】,适合等高线复杂和等高线与方里网或文字注记重叠处。

    ④ 矢量化时按【F8】键可打开【流编辑模式】,适合等高线曲率较大处。

    ⑤ 矢量化时可不显示二值化图层,只显示彩色图层,更清晰直观。

    图55 只显示彩色图层

    ⑥ 矢量化追踪遇到等高值注记或其他等高线断开处,按住【S】键切换到手动追踪进行连接后继续矢量化。

    图56-1 等高线在注记处断开
    图56-2 手动追踪连接

     ⑦ 尽量让矢量化追踪指示箭头沿等高线走向,出错较少。

    图57 箭头沿等高线走向

    ⑧ 在等高线曲率大的部分小幅度前进,曲率小的部分可大幅度前进。

     

    方法二:使用R2V半自动矢量化

    1)在内容列表中右单击二值化图层,选择【缩放至图层】。因导出的地图即是地图框中所见的内容,所以要让整幅图像地图框中。

    2)在ArcMap中图层管理器只勾选二值化图层,选择菜单栏,【文件】→【导出地图】,保存类型设置为TIFF,分辨率设置大于等于【1000dpi】(保证图像精细度),格式选择为【8位灰度】,点击【确定】导出图像。

    图58-1 分辨率≥1000dpi
    图58-2 导出为8位灰度图像

    注:R2V只能加载1,4,8位的图像,默认颜色模式为24位真彩色,不能加载,会提示下图错误,并且不能设置图像阈值。

    图59 R2V报错

    3)打开R2V,选择菜单栏,【打开】→【打开图像或方案】,加载TIFF格式的8位灰度地形图。

    图60 R2V加载图像

    4)选择菜单栏,【图像】→【设置图像阈值】,低阈值保持默认0即可,高阈值需设置大于0的任意值(如果高阈值也是0,则该阈值确定的像素集合为空集,没有任何像素被选中)。

    图61 设置阈值

    5)使用线段编辑工具矢量化,操作类似于ArcScan追踪矢量化。

    注:按F2/F3可以鼠标光标为中心,放大/缩小图像。

    图62-1 线段编辑工具
    图62-2 线段矢量化

    6)导出矢量文件

    当全部等高线矢量化完成后,点击菜单栏【文件】→【输出矢量】,保存类型选择【ArcView(*.shp)】,点击保存,导出等高线矢量文件。

    图63 导出矢量文件

     

    方法三:使用SuperMap矢量化

    http://blog.sina.com.cn/s/blog_80a9926b0101gghm.html

    此篇博客叙述得很详细,在此不再赘述。

     

    2. 点要素

    单击编辑器工具栏中【编辑器】→【开始编辑】,单击【创建要素图标】,选择【山顶点】要素类,构造工具选择【点】,在地形图上对应的山顶点上点击即可创建。

    图64 创建点要素标题

     

    3. 面要素

    1)水系、居民地

    单击编辑器工具栏中【编辑器】→【开始编辑】,单击【创建要素图标】,选择对应的要素类,构造工具选择【面】,在地形图上沿对应地物的【边缘】勾勒出轮廓即可。

    图65 创建水系、居民地

    注:河流在现实中有宽度,且博主使用的地形图不属于小比例尺,故该地形图上的河流不能归于线要素。

    2)底图

    等高线、山顶点、水系、居民地均位于地表,但一副完整的三维地形图不应只有地表,还应有“地底”。这里的“地底”实际上是平均海平面,对于该图来说即1956年黄海高程坐标系基准面。

    单击编辑器工具栏中【编辑器】→【开始编辑】,单击【创建要素图标】,选择【底图】要素类,构造工具选择【面】,在地形图内图廓4个角点(即经纬网角点)上依次点击,勾勒出底图面。

    图66 创建底图

    至此,创建地理要素完成。

     

    五、矢量化结果处理

    1. 分工及合图

    1)分工

    如需多人合作,需在创建地理要素之前分工,建议在配准后的地形图上创建【分工线】线要素,设置醒目颜色,线宽适当调大,捕捉窗口中设置捕捉【分工线-边】。可避免等高线绘制区域重叠,减少不必要的劳动,便于合图。

    图67 创建分工线

    2)合图

    (1)在目录窗口中,右单击一个要素类,选择【加载】→【加载数据】。

    图68-1 加载数据

    (2)点击【浏览】图标依次选择待加载要素类,点击【添加】按钮将要素类添加至加载框中,所有参数保持默认,连点【下一步】按钮,最后点击【完成】按钮,将所有的等高线数据加载到一个要素类中。

    图51-2 选择待加载数据

    (3)观察分工线两侧等高线,如有重叠部分,使用编辑器工具条中的【分割工具】分割,选中多余部分右单击选择【删除】或按【Delete键】删除。

    图69-1 分割工具
    图69-2 删除多余部分

    (4)使用【编辑折点】工具,将所有接茬处分离的等高线拼接。

    图70 编辑折点工具

    (5)把属于同一等高线的线段,合并成一根线要素,做到图面中间不要有线段端点。即每一条等高线,是一个完整的、中间没有断点的线要素

    图71 合并工具

    2. 创建拓扑并修改错误

    1)新建要素数据集:右单击地理数据库,选择【新建】→【要素数据集】,空间坐标系与要素类坐标系一致。

    图72 新建要素数据集

    2)导入等高线要素类:右单击要素数据集,选择【导入】→【要素类(单个)】。

    图73-1 导入要素类

    设置输入输出要素类,点击【确定】导入。

    图73-2 设置输入输出要素类

    3)创建拓扑

    (1)右单击要素数据集,选择【新建】→【拓扑】。

    图74 新建拓扑

    (2)拓扑规则设置为【不能相交】和【不能有伪结点】。

    图75 拓扑规则

    (3)新建拓扑并验证,红色处为拓扑错误,需改正。

    图76 验证拓扑

    (4)修复拓扑错误并验证

    (1)右单击菜单栏空白处,加载【编辑器】和【拓扑】工具条。

    (2)点击【编辑器】→【开始编辑】,选择等高线_Topology要素类(即导入拓扑要素数据集中的要素类)。

    (3)缩放至某几个拓扑错误粗,点击拓扑工具条中的【错误检查器】按钮,选择【显示所有规则中的错误】,点击【立即搜索】,查看可见范围内的拓扑错误。

    图77 拓扑错误检查器

    (4)根据拓扑错误类型选择相应的工具,常用工具为拓扑工具条中的【拓扑编辑工具】、【修复拓扑错误工具】和编辑器工具条中的【编辑折点】、【整型要素工具】、【分割工具】。

    下面列出几种常见错误的处理方法:

    ① 等高线自身相交。可用修复拓扑错误工具在错误节点上右单击,选择分割,然后使用编辑器选中分割出的多余部分,删除。

    ② 两条或多条等高线互相相交。可用编辑折点工具将相交处折点拖动并分离开,也可用整形要素工具绕过相交处重新绘制该处等高线。

    ③ 等高线有伪结点。说明一条等高线中间有断裂,可用编辑折点工具将断裂处两端折点拖动合并,也可用整形要素工具重新绘制断裂处等高线。内图框一周的等高线端点也会提示该错误,可不予修复。

    (5)重新验证拓扑。

    每修复一次可见范围内的拓扑错误,点击拓扑工具条【验证当前范围中的拓扑】按钮,如错误消失,说明修复完成,可进行下一处的修复;如仍有错误,说明修复不正确,仍需修复。

    5)导出修复后的等高线要素类

    右单击地理数据库,选择【导入】→【要素类(单个)】,设置输入输出要素类,点击【确定】导入。

    图78 导出修复后的等高线要素类

    3.等高线平滑

    半自动和手动矢量化出的等高线是折线,而现实中地物边缘不像折线那样尖锐,拐点尖锐的等高线生成的三维地形图观感欠佳,所以需要进行平滑处理。

    (1)打开ArcToolbox工具箱,选择【制图工具】→【制图综合】→【平滑线】。

    图79 平滑线工具

    (2)设置输入要素和输出要素类,平滑容差需要根据矢量化的精细程度和等高线的等高距反复调试,点击【确定】进行平滑操作。

    图80 平滑线参数设置

    (3)平滑后效果

    平滑容差博主设置的是50m,效果较好,图中黑线是平滑前,红线是平滑后。

    图81 平滑操作结果

     

    六、赋属性值

    1. 线要素

    方法一:通过属性表手动赋值

    打开编辑器工具栏中的【编辑器】→【开始编辑】,右单击目录窗口中的等高线要素类,选择【打开属性表】,右单击每一条字段,选择【缩放至】,查看高程值,然后手动录入至【高程】字段。

    方法二:通过R2V等高线标注工具标注

    1)在ArcMap中将等高线要素类导出成 .shp文件:

    在目录窗口中右单击等高线要素类,选择【数据】→【导出数据】。

    图82-1 导出要素类

    点击【浏览】图标,选择输出路径。

    注:导出shp文件时输出路径不可选择GDB,应选择文件夹。

    图82-2 选择输出路径

    选择保存类型,点击【确定】保存。

    图60-3 选择保存类型

    2)将 .shp导入R2V:

    打开R2V,加载在四 1. 方法二中生成的8位灰度图,点击菜单栏【文件】→【输入矢量】,选择 shp文件,点击【打开】加载。

    图83 R2V导入shp

    3)使用【等高线标注】工具为等高线批量附属性值:

    先点击工具栏【线段编辑】按钮(蓝色框内),再点击【等高线标注】按钮(红色框内)。

    图84-1 选择等高线标注工具

    按住【鼠标左键】用光标横穿多条等高线以选中等高线。

    图84-2 选择多条等高线

    设置高程初始值和增加值,注意上一步横穿等高线的方向,如从高处向低处横穿,增加值为负。

    图84-3 设置高程初始值和增加值

    2. 点要素

    山顶点赋高程值使用手动录入属性表方法即可,不再赘述。

    3. 面要素

    底图的高程值在属性表中手动录入为0

     

    七、生成TIN

    TIN(Triangulated Irregular Network)即不规则三角网,当仅已知空间中几个点的坐标,试图求算其他点的坐标时,可采用生成TIN的方式进行插值,将已知坐标的点设为三角形的顶点,通过插值函数,可由已知的顶点坐标推算出三角形区域内任一点的坐标。

    我们矢量化等高线山顶点并赋以高程值,但是只有线上的点和山顶点的高程是准确已知的,等高线间大片区域的高程值只是介于两条等高线之间,但不能被准确获知。此时我们需要以已知准确高程的等高线和山顶点为基础,生成TIN,用空间插值的方法,解算出等高线间区域内点的近似高程值。换句话来说,就是用TIN来近似模拟出地表结构,TIN的精度越高,就越逼近真实地表。

    1. 等高线和山顶点生成地表TIN

    (1)打开ArcToolbox,选择【3D Analyst工具】→【数据管理】→【TIN】→【创建TIN】。

    图85 选择创建TIN工具

    (2)输入要素类选择【等高线_平滑】和【山顶点】,再选择输出TIN的名称及位置,坐标系保持默认,点击【确定】生成地表TIN。

    图86-1 创建地表TIN

    2. 底图生成地底TIN

    输入要素类选择【底图】,创建方法同上,不再赘述。

    图86-2 创建地底TIN

     

    八、在两个TIN间拉伸

    “地表”和“地底”已经得到了,中间夹的“地壳”如何表示呢?

    使用TIN拉伸工具,可在两个TIN之间拉伸得到多面体,模拟出“地壳”。

    1. 选择在两个TIN间拉伸工具

    打开ArcToolbox,选择【3D Analyst工具】→【表面三角化】→【在两个TIN间拉伸】。

    图87 选择在两个TIN间拉伸工具

     

    2. 设置拉伸参数

    选择输入TIN和输入要素类,设置输出要素类的名称及位置,点击【确定】。

    注:输入要素类尽量选择面要素,拉伸出的结果更美观。

    因等高线和山顶点分别是线要素和点要素,故选择底图作为输入要素类。

    图88 设置TIN拉伸参数
    图89 官方帮助文档

     

    九、地表TIN转DEM

    TIN属于矢量数据,虽然质量好、精度高,但数据结构较复杂,对设备的负载较大,进行三维展示时不流畅;而DEM属于栅格数据,结构简单,对设备负载小,进行三维展示时效率很高。仅用于展示的三维地形图并不需要太高的精度,故采用DEM储存高程数据比TIN更合适。

    1. 选择TIN转栅格工具

    打开ArcToolbox,选择【3D Analyst工具】→【转换】→【由TIN转出】→【TIN转栅格】。

    图90 选择TIN转栅格工具

    2. 设置转换参数

    设置输入TIN和输出栅格的名称及位置,点击【确定】。

    图91 设置TIN转栅格参数

     

    十、三维显示

    1. 获取遥感影像

    下载遥感影像的方法有很多种,博主使用的是“91卫图助手”这款软件。

    (1)先将旧图幅号换算至新图幅号,在软件中搜索图幅号对应的遥感影像,双击蓝色区域下载,选择[影像级别]和[存储目录];

    (2)点击【导出设置】,选择坐标投影为[北京54坐标系高斯投影],勾选[背景透明];

    (3)点击【参数设置】,分带方式选择[6度分带],勾选[横坐标加投影带号19];

    (4)点击【确定】,下载。

    图92 91卫图助手设置参数

    2. 配准遥感影像

    由于存在配准误差,下载的遥感影像一般不能和地形图正好吻合,或多或少会出现一些偏差,需要通过地理配准来与地形图吻合。

    图93 遥感影像和地形图不能完全吻合

    注:91卫图助手如未获取授权,不能将数据导出为北京54坐标系,会导致遥感影像与地形图有很大的偏差。可先将遥感影像的坐标系转换成北京54坐标系,在第(2)步创建控制点时分别将遥感影像和地形图缩放至图层,以添加控制点。最后校正所得结果一致。

    (1)打开地理配准工具条,在下拉菜单中遥感影像为待配准图像。

    图94 选择遥感影像为待配准图像

    (2)选择【添加控制点】工具,先在待配准的【遥感影像】的角点上点击第一次,此时十字丝为绿色;然后在已配准的【地形图】对应内图廓角点上点击第二次,此时十字丝为红色,一对控制点创建完成。

    图95 创建一对控制点

    (3)以上述方法,分别在遥感影像和地形图的4个角点上分别创建4对控制点,点击【编辑器】→【更新显示】,此时遥感影像应基本与地形图内图廓完全吻合。

    图96 遥感图像与地形图完全吻合

    (4)点击【编辑器】→【校正】,重采样类型选择【双三次卷积】,选择输出位置,点击【保存】另存校正后的遥感影像。

    图97 另存校正后遥感图像

    3. ArcScene三维显示

    (1)打开ArcScene,新建空白Scene,默认地理数据库选择新建地图文档时创建的地理数据库。

    图98 新建空白Scene

    (2)选择菜单栏,【视图】→【场景属性】→【坐标系】,选择与之前ArcMap相同的坐标系。

    图99 设置场景坐标系

    (3)将【遥感影像】、【水系】、【居民地】、【拉伸】、【等高线_DEM】加载进ArcScene窗口。

    图100 ArcScene加载要素

    (4)设置在自定义表面浮动和垂直夸大系数。

    右单击【遥感影像】,选择【属性】→【基本高度】,选择在【自定义表面浮动】,参数设置为【等高线_DEM】;垂直夸大系数根据实际情况调整。

    标题

    (5)同理,设置【水系】、【居民地】、【拉伸】要素类在等高线_DEM表面浮动,分别设置垂直夸大系数。

    注:建议垂直夸大系数 拉伸<遥感影像<水系=居民地,博主分别设置的为5.05、5.30、5.35、5.35。

    如都设置相同,拉伸要素会有部分穿透遥感影像,水系的居民地会有部分陷入遥感影像,显示效果较差,如下图所示。

    图102 垂直夸大系数设置为相等

    合理设置拉伸系数后显示效果较好。

    图103 三维显示最终效果

    至此,数字栅格地图矢量化及三维显示全部完成。

     

    · 卖点情怀

     

    十一、写在最后

    全文共11263字,123张配图,感谢各位读者的认真阅读。

    博主在做这项工作时苦于网络上没有一套系统的教程,只能各处查阅零零散散的资料、教程,走了不少弯路。于2018年4月整理书写此教程,不仅步骤完整详实,还加入了相关的地图学知识,软件操作技巧,以及个人对于此项工作的一些理解和体会,望能对广大GISer在矢量化及三维展示栅格地形图时能有所帮助。

    后根据多位读者的建议,修正了一些错误,修改了概念模糊以及语句不通之处,增加了更多的操作细节以及配图,于2019年5月发布第二版。

    然则博主只是一位普通本科高校GIS专业的普通学生,水平着实有限,错误与不妥之处肯定在所难免,万望各位GIS前辈、高人不吝斧正,学生不胜感激!

     

    主要参考书籍:

    牟乃夏,刘文宝,王海银,等.2012.ArcGIS 10地理信息系统教程——从初学到精通.北京:测绘出版社

    袁勘省.2014.现代地图学教程(第二版).北京:科学出版社

    展开全文
  • 坐标(CMM)测量的矢量方向(i,j,k)什么是矢量方向矢量方向(以下简称矢量)是垂直于零件表面的路径方向。任何特征都需要有矢量,它指导测量探针垂直于测量表面操作。这复杂的计算工作通常交给测量软件由CAD数模...
  • 任何复杂的维模型都可以视作空间三角面片的集合,很容易碰到的一个问题就是空间射线与三角形相交的问题,例如拾取、遮蔽检测等。这里就总结下该问题的两种算法实现。 2. 常规算法 一种很常规的思路就是先计算...
  • 注: 1:此为永磁同步控制系列文章之一,应大家的要求,关于永磁同步矢量控制的系列文章...在双闭环(速度环和电流环)控制的基础上,在转速外环外再加一个位置外环,这个位置外环的主要作用是使得电机准确的跟随位...
  • 空间中矢量(Vectors in 3D space)

    万次阅读 多人点赞 2016-04-29 10:26:26
    本文回顾维空间中矢量的一些基本概念,虽然这些知识在高中数学中就已学到,但真的是会经常忘记1.坐标系相关内容1.1 单位矢量(Unit vector)如下图所示,矢量i−\underline{i}、j−\underline{j}、k−\underline{k...
  • 1, x轴、y轴和z轴分别代表的是什么?空间任意选定一点O,过点O作三条互相垂直的数轴Ox,Oy,Oz,它们都以O为原点且具有相同的长度单位。...这样就构成了一个空间直角坐标系,称为空间直角坐标系O-xy...
  • 矢量导数——角速度与矢量的叉乘

    千次阅读 多人点赞 2021-09-10 14:39:55
    角速度在一般意义上是一个二阶张量,不过由于这个张量满足某些约束条件,自由的分量个数恰好变成了3个,所以正好可以拼凑成一个分量矢量。 刚体绕定轴旋转时,角速度矢量方向垂直于旋转平面,且按右手螺旋法则...
  • x3,y3 三个坐标构成一个三角形,随机输入一个坐标判断是否再三角形范围内。” 拿到这个题目,  首先想到的要如何从键盘输入三个参数,目前为止我对pyton键盘输入函数的了解仅限于raw_input() 函数,但是
  • 【Modern OpenGL】第一个三角形

    千次阅读 2015-12-18 21:06:28
    你已经挺过了学习现代OpenGL几乎是最艰难的一段:绘制一个简单的三角形。万事开头难嘛。实际上,这其中包含了很多相关的知识,如果没有学过图形学相关的内容,看起来还是比较吃力的。如果有相关的图形学基础,可以...
  • numpy矢量化运算

    2021-02-15 18:08:40
    序 本文继续numpy学习。 二 矢量化运算 numpy的数组通常在不用编写循环的情况下进行批量运算。...如果两数组 a 和 b 形状相同,即满足a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应...
  • 文章目录构造矢量场的 x 方向的分量构造矢量场的 y 分量矢量场中的向量相减任选图中两点组成一个矢量可视化矢量图和被减的矢量矢量图的每个点减去矢量 VVV对最终的矢量图的每个像素点值将每个像素位置的值进行可视...
  • 矢量控制

    千次阅读 2020-03-24 09:47:36
    如上图当两头的线圈通上电流时,根据右手螺旋定则,会产生方向指向右的外加磁感应强度B(如粗箭头方向所示),而中间的转子会尽量使自己内部的磁感线方向与外磁感线方向保持一致,以形成一个最短闭合磁力线回路,...
  • 矢量分解定理的证明

    2019-05-13 19:06:00
    先抄一下书描述一下这个定理:如果空间上的三个矢量不共面,那么对于任意矢量p,一定存在一个且仅一个有序实数组x、y、z,使得p= xa+ yb+ zc。 太难了。不会啊。不行了。tql。awsl。 于是先来看更一般的情况...
  • 电磁场与电磁波第矢量分析

    千次阅读 多人点赞 2019-05-08 17:54:30
    文章目录第矢量分析矢量公式坐标系标量场的梯度、标量场与矢量场二、等值面方向导数四、梯度矢量场的通量和散度矢量线二、矢量场的通量矢量场的散度 第矢量分析 矢量公式 直角坐标 A⃗=Axe...
  • 矢量(向量)

    千次阅读 2019-07-30 11:37:21
    计算几何初步、计算几何的恶心之处1、有精度误差2、要讨论各种边界情况3、代码长二、矢量1、矢量的定义2、矢量的表示及其相关量的表示(1)矢量的表示(2)矢量夹角的表示3、矢量的运算(1)向量的模(2)矢量的加法(3)...
  • 我们可以用六维向量pluker坐标来表示一个对偶矢量(dual vector),这个六维的向量可以分成两个部分:原部(real unit)和偶部(dual unit),他们也被称为是原级矢量和次级矢量。原部和偶部每个都包含三个维度,和...
  • 空间旋转矢量的求法(理解)

    千次阅读 2020-05-16 17:24:42
    1 声明: 以下内容只是作者的观点,没有经过严格的逻辑证明,欢迎大家批评指正 2 空间旋转过程的理解 ...我们先来看一下平面内的...一般情况下,旋转矢量可以根据两个面的交线求得,但有一个特殊的情况,这两个垂直平.
  • 传感器采集方案(2)地图构建SLAM模块(3)地图服务server模块【地图矢量化】(1)矢量地图图例(2)矢量地图的定义(3)矢量地图的业务场景(4)地图矢量化过程(基于人工绘制矢量地图)(5)Autoware ADAS Map矢量...
  • 笛卡尔坐标系 在游戏制作中我们使用数学绝大部分都是为了计算位置,距离和角度等变量。这些计算大部分都是在笛卡尔坐标系下进行的。...通常情况下,这三个坐标轴之间是相互垂直的而且长度为1,这样的矢量也被称.
  • 判断点是否在三角形内

    千次阅读 2017-08-08 10:11:23
    最近在公司写一个把N多边形分割成N-2个三角形的算法,其中里面涉及到一个算法是判断点是否在三角形中的算法,个人也有想到几种方法,网上也有各种算法,现在就把根据网上以及个人的算法进行一个总结记录给有需要的小...
  • 球坐标系中的矢量算符

    千次阅读 2021-01-30 07:50:50
    nbsp预备知识 旋度球坐标系中标量函数 $u(r, \theta, \phi)$ 和矢量函数 $ \boldsymbol{\mathbf{v}} (r, \theta, \phi)$ 的梯度,散度,旋度和拉普拉斯算符的公式如下.其中 $r$ 是极径,$\theta $ 是极,$...
  • 11.永磁同步电机的矢量控制策略(十一) 永磁同步电机弱磁控制的思想来源于他励直流电动机的调磁控制。当他励直流电动机的端电压达到最大值之后,无法再用调压调速来提高转速,只有通过降低电动机的励磁电流,从而...
  • 当三芯光子晶体光纤中三个超模式的模式折射率满足一定条件时,将产生谐振现象。通过选择合适的光纤结构参数,可使某偏振方向的光接近谐振条件,而另偏振方向的光远离谐振条件。在光纤的输出端,由于耦合的程度不同,...
  • SVG 矢量图和矢量动画介绍

    千次阅读 2017-06-03 20:22:04
    Android应用的不断发展带来了安装包过大的尴尬,而Android之前一直都不支持矢量图形,是引起尴尬的一个重要原因。其实Android绘制界面时也是通过各种类似矢量图形命令操作完成的,所以Android最终在Lolliop
  • “地图是人类文化的杰作,它融科学、艺术于一体,作为描述、研究人类生存环境的种信息载体是人类生产与生活中不可缺少的种工具。”这是陈述彭院士为《中国地图学年鉴》作序的开场语。Taylor也曾指出“当涉及应用...
  • 因四元数的虚部单位矢量满足叉乘运算特点,例如 i∘j=k(\bm{i} \circ \bm{j}=\bm{k}(i∘j=k(其中 ∘\circ∘表示四元数乘法),故可将四元数的叙述部分看成在维空间的映像,反之,一个三矢量可以看作是零标量...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,262
精华内容 6,104
关键字:

一个矢量的三个方向角必定满足