精华内容
下载资源
问答
  • 柱面及其方程学习李建平教授空间解析几何柱面的定义柱面方程及其特点准线位于坐标面母线平行于坐标轴的柱面方程及特点常见柱面一般柱面方程柱面的参数方程例1例2参考资料回顾:圆柱面圆柱面可以视为到一定直线的距离...

    柱面及其方程

    学习李建平教授空间解析几何

    • 柱面的定义

    • 柱面方程及其特点

      • 准线位于坐标面母线平行于坐标轴的柱面方程及特点

      • 常见柱面

      • 一般柱面方程

    • 柱面的参数方程

    • 例1

    • 例2

    • 参考资料

    回顾:圆柱面

    圆柱面可以视为到一定直线的距离等于常数的动点的轨迹.

    定直线取为轴

    圆柱面也可以视为动直线绕一条平行的定直线旋转所得的旋转曲面.

    圆柱面也可以视为动直线在圆周C上平行移动得到的曲面.

    0536ab388d3f4873f867803916dd8112.png
    图一

    柱面的定义

    在空间中,由平行于定方向且与一条定曲线相交的一族平行直线所构成的曲面叫做柱面.

    直观地,柱面就是由一条平行于直线  的直线沿曲线  连续平移而形成的平行直线族.

    • 动直线  叫做柱面的直母线,
    • 定曲线  叫做柱面的准线.

    平行于动直线的方向  叫做直母线方向

    38d284bd1e86f137408483f64947eb20.png
    图二

    【注1】柱面的准线是不唯一的.

    与每一条母线都相交的曲线都可以作为柱面的准线.

    【注2】柱面也可看成是由准线沿着平行于母线的直线平移而形成的曲面.

    【注3】平面也是柱面.

    可以看成是一条直线沿着另一条与之相交的共面直线移动而成.

    柱面方程及其特点

    引例   方程  在  空间表示圆柱面   ,但在  平面表示圆周  .

    方程特点:方程中不含变量  .

    几何特点(图一):

    • 柱面S上点  在  平面上的投影点  在曲线  上.
    • 柱面的母线平行于z轴,准线为   平面上的曲线  .

    一般地,方程   在  空间表示柱面   ,但在  平面表示曲线  .

    方程特点:方程中不含变量  .

    几何特点(图三):

    • 柱面S上点  在  平面上的投影点  在曲线  上.
    • 柱面的母线平行于z轴,准线为   平面上的曲线  .
    0a48ceb3412886330e170a704738c4aa.png
    图三

    准线位于坐标面母线平行于坐标轴的柱面方程及特点

    (1)方程表示柱面.母线平行于轴,准线为  平面上的曲线

    (2)方程  表示柱面.母线平行于x轴,准线为  平面上的曲线

    (3)方程表示柱面.母线平行于轴,准线为 平面上的曲线(图4)

    4851426ab77b57c9d4c24f03e5fdbac0.png
    图4

    常见柱面

    a006ba61a58f3cd76d500def9f262c5f.png
    图5

    一般柱面方程

    已知准线和母线方向  ,求柱面  的方程.

    911d93f4a1adac457f36b246ddc9deda.png
    图6

    在柱面S上取动点  ,作平行于母线方向v的直线交准线C于点 。则

    消去参数 ? 得柱面的一般方程

    柱面的参数方程

    已知准线  ,和母线方向  的柱面S的方程.(图6)

    在柱面S上取动点  ,作平行于母线方向v的直线交准线C于点  .

    柱面的参数方程

    例1

    求准线为  平面上的椭圆  .母线平行于 直线的柱面方程﹒

    **【解法1】**准线的参数方程为  .

    在柱面S上取动点   ,作平行于母线方向  的直线交准线C于点  .

    柱面的参数方程为 

    消去参数  得柱面的一般方程 

    【解法2】 准线的一般方程为 

    在柱面S上取动点  ,作平行于母线的直线  交准线于点  ﹒则

    整理得柱面的一般方程

    例2

    方程  表示柱面?

    【解】要说明曲面为柱面,只要说明它是由一族平行直线产生的.

    作直线族  ,即  .

    它们的方向向量均为  ,故它们是位于上的平行直线族.所以,曲面是柱面.

    因母线交  平面于点  ,这些点形成的轨迹为柱面的准线  .柱面的母线方向为 .

    :柱面  的图形 ,它是一个双曲柱面 .

    :曲线 也可以作为柱面S的准线 .

    参考资料

    [1] 宋卫东 . 《解析几何》,高等教育出版社.

    [2] 丘维声编. 《解析几何》. 北京大学出版社.

    [2] 吕林根,许子道等编. 《解析几何》. 高等教育出版社.

    [3] 吕林根. 《解析几何学习辅导书》. 高等教育出版社.

    [4] 谢敬然,柯媛元. 空间解析几何,高等教育出版社

    [5] 周建伟 解析几何,高等教育出版社

    展开全文
  • SDN软件定义网络 学习笔记(5)--控制平面1. 简介2. SDN 控制器体系架构3. 开源控制器和商用控制器3.1 SDN开源控制器3.2 SDN商用控制器4. SDN 控制器评估要素参考资料 1. 简介       ...

    1. 简介

           SDN 控制平面主要由一个或者多个控制器组成,是连接底层交换设备与上层应用的桥梁。

           一方面,控制器通过南向接口协议对底层网络交换设备进行集中管理、状态监测、转发决策以处理和调度数据平面的流量;

           另一方面,控制器通过北向接口向上层应用开放多个层次的可编程能力,允许网络用户根据特定的应用场景灵活地制定各种网络策略。
     

    2. SDN 控制器体系架构

           市面上大多数开源控制器的设计采用了类似于计算机操作系统的层次化体系架构,如下图所示:

           在这种层次化的体系结构下,控制器功能被分为基本功能层与网络基础服务层两个层面。
     

    (1)基本功能层
           这一层主要提供控制器所需要的最基本功能。

           首先是协议适配功能,需要适配的协议主要包含两类:一类是用来跟底层交换设备进行信息交互的南向接口协议,另一类是用于控制平面分布式部署的东西向接口协议。

           协议适配工作完成后,控制器需要提供用于支撑上层应用开发的功能主要包括四个方面:模块管理、事件机制、任务日志、资源数据库。
     

    (2)网络基础服务层
           网络基础服务层中的模块作为控制器实现的一部分,可以通过调用基本功能层的接口来实现设备管理、状态监测等一系列基本功能。
           几个主要的功能模块:交换机管理、主机管理、拓扑管理、路由、转发策略、虚拟网划分
     

    (3)总结
           这种层次化的架构设计中,基础功能层提供了SDN 控制器作为整个控制平面最为基本的功能,包括对底层硬件的抽象和对上层网络功能模块的管理,所有的网络应用都基于这一层提供的接口进行开发,网络基础服务层的可扩展性得以显著地增强,可为上层网络应用的开发、运行提供一个强大的通用的平台。
     
     
     

    3. 开源控制器和商用控制器

    3.1 开源控制器

    (1)NOX/POX
           NOX 的核心组件提供了用于与 OpenFlow 交换机进行交互的 API 和辅助方法,包括连接处理器和事件引擎,同时还提供了如主机跟踪、路由计算、拓扑发现以及 Python 接口等在内可选择的附加组件。

           由于 NOX 代码量和复杂度较高,推出了 NOX 的兄弟版控制器 POX,POX 控制器主要包含如下技术特征:一
    是基于 Python 编程语言实现了 OpenFlow 接口;二是可以与 PyPy进行捆绑运行,易于部署;三是支持 Linux、Mac OS、Windows等多种计算机操作系统,灵活易操作。

           其基本框架如下图所示:

    (2)Ryu
           Ryu 使用 Python 语言开发,提供了完备、友好的 API。Ryu 是基于组件的框架进行设计,这些组件都以 Python 模块的形式存在。组件是以一个或者多个线程形式存在的,这样可以便于提供一些接口用于控制组件状态和产生事件,事件中封装了具体的消息数据,由于事件会在多个组件中使用,因此事件对象是只读的。

           其整体架构如下图所示:

    (3)Floodlight
           Floodlight是一款基于Java 语言的开源SDN 控制器,也使用了层次化架构来实现控制器的功能,同时提供了非常丰富的应用,可以直接在网络中部署数据转发、拓扑发现等基本功能。此外 Floodlight 还提供了友好的前端 Web 管理界面,用户可以通过管理界面查看连接的交换机信息、主机信息以及实时网络拓扑信息。

           Floodlight 通过向 OpenFlow 交换机下发流表等方式来实现数据分组转发决策,以达到对交换设备集中控制的目的。

           Floodlight 使用模块框架实现控制器特性和应用,在功能上 Floodlight 可看作由控制器核心服务模块、普通应用模块和 REST 应用模块 3 个部分构成。

           其基本框架如下图所示:

    (4)OpenDaylight
           OpenDaylight 使用模块化方式来实现控制器的功能和应用。其系统架构如下图所示:

           在 OpenDaylight 总体架构中,南向接口通过插件的方式来支持多种协议。

           服务抽象层(SAL)一方面可以为模块和应用提供一致性的服务;另一方面支持多种南向协议,可以将来自上层的调用转换为适合底层网络设备的协议格式。

           在 SAL 之上,OpenDaylight 提供了网络服务的基本功能和拓展功能,基本网络服务功能主要包括拓扑管理、交换机管理、主机监测以及最短路径转发等;拓展网络服务功能主要包括 DOVE管理、流量重定向等服务。

    (5)ONOS
           ONOS 目前支持包括 OpenFlow 在内的多种南向协议,同时提供开放的北向API,其分布式核心架构采用了多种分布式技术。

           ONOS 基于 OSGi 框架,使用 Maven 构建项目,支持新模块运行态加载和注销(模块的热插拔),其控制器架构和其他控制器架构类似也是分层架构。

           系统框架如下图所示:

           ONOS 系统架构中定义了服务和子系统两个基本概念。其中,服务是由多个组件形成的功能集,这些组件按照 ONOS 的架构层级创建一个垂直切片,而多个组件共同提供的服务就成为一个子系统。
           子系统划分如下图所示:

    (6)OpenContrail
           OpenContrail提供了用于网络虚拟化的所有基本组件,其用户界面采用 Python 语言编写。

           主要应用于以下两个网络场景:一是云计算网络场景,主要有企业和运营商的私有云以及云服务提供商的基础设施即服务(IaaS)和虚拟专用云(VPC);二是在运营商网络中的网络功能虚拟化(NFV)场景,可以为运营商边缘网络(宽带固定接入、移动接入等)提供增值服务。

           系统架构如下图所示:

           该系统主要由 SDN 控制器和 vRouter(虚拟路由器)两个部分组成。

           控制器通过北向接口与编排系统=及上层业务通信,通过 XMPP 与虚拟路由器通信,通过 BGP、NETCONF 等南向协议与网关路由器和物理交换机通信,通过 BGP 与其他控制器对等通信。

           vRouter 是数据转发平面,运行在虚拟服务器的 Hypervisor,将通过软件方式部署在网络环境中,通过服务器到服务器之间的通道进行虚拟机之间的数据分组转发,从而在数据中心提供虚拟网络服务。

    (7)其他开源控制器
           如下表所示是对其他开源控制器的总结。

    3.2 商用控制器

           一些厂商企业推出了针对具体应用场景、支持具体交换机并提供相应服务的商用控制器,这些控制器可以有针对性地解决现网中存在的某些具体问题,同时会得到企业更加专业的支持与维护,具有更好的稳定性与可靠性以及性能。

    (1)Big Network Controller
           主要特点为:抽象的统一网络智能控制、 企业级可靠性和可扩展性、灵活和开源的网络应用平台。

           系统架构如下图所示:

    (2)XNC
           XNC是一个典型的 SDN 控制器,它支持业界标准的 OpenFlow 协议,同时使用异构的、与平台无关的方式提供对 Cisco 以及第三方网络设备的可编程能力。

            XNC 的控制平面采用了与传统控制协议共存的方式。在混合集成模式中,网络设备继续运行已有的网络控制协议(如 OSPF、IS-IS),Cisco XNC 的控制平面则重点实现其他控制功能。

    (3)SDN Contrail
           SDN Contrail是一款网络虚拟化及智能化解决方案,包括创建虚拟重叠网络所需要的所有元素,如 SDN 控制器、虚拟路由器以及分析引擎等。

           SDN Contrail 可以很方便地为服务提供商及企业用户创建及管理虚拟网络,可以实现物理网络与虚拟网络之间的无缝集成整合,从而向其客户提供简单、开放、灵活的解决方案服务。

           系统架构如下图所示:

    (4)Agile Controller
           Agile Controller 能够集中控制全网资源,面向用户和应用实现网络资源自动化与动态调配,以业务体验为中心重新定义网络,让网络更敏捷地为业务服务。

           在 Agile Controller 的智能控制下,网络将能够从以前手工配置,转变为用自然语言规划与自动部署,从传统单点边界防护转变为全网协同防护。

           其控制架构如下图所示:

           Agile Controller 基于业界 SDN 架构分层解耦能力,提供从应用到物理网络的自动映射、资源池化部署和可视化运维,同时支持与业界主流云平台的无缝对接。

    (5) ZENIC
           ZENIC支持丰富的南向接口协议,对 OpenFlow 和非 OpenFlow 交换机进行统一控制,它是一套完整的可编程产品平台,内置南向、北向、东西向接口协议支持、L2/L3 网络功能、VDC 业务功能。

           其控制架构如下图所示:

     
     

    4. SDN 控制器评价要素

           SDN 控制器的十大评估要素:

    (1)对 OpenFlow 的支持

    (2)网络虚拟化
           网络虚拟化是指多个逻辑网络共享底层网络基础设施,从而提高网络资源利用率,加速业务部署,以及提供业务 QoS 保障。

    (3)网络功能
           SDN 控制器需要提供严格隔离性保障功能、提供基于流的QoS 保障功能,SDN控制器有能力发现源端到目的端的多条路径并提供多径转发功能,可打破 STP 协议的性能和可扩展性限制,相比于传统的 TRILL 和 SPB 方案,SDN 控制器可提供相同的能力而无需对网络进行任何改动。

    (4)可扩展性
           可支持 OpenFlow 交换机的数量和如何减少广播对网络带宽和流表规模的影响是两个重要指标。

    (5)性能
           控制器对流的处理时延以及每秒处理新流的数目是评价控制器性能的最主要性能指标。

    (6)网络可编程性
           网络可编程性具体包括数据流的重定向,精确的报文过滤以及为网络应用提供友好的北向可编程接口.

    (7)可靠性
           当网络链路或者单点设备出现故障时,是否会导致网络的瘫痪

    (8)网络安全性
           控制器需要实现企业级身份验证和授权,具备对各种关键流量访问进行管控的能力,并且能够限制控制信令的速率。

    (9)集中管理和可视化

    (10)控制器供应商
     
     

    参考资料

    《SDN软件定义网络核心原理与应用实践》
    《重构网络:SDN架构与实现》

    另:本文是对以上参考资料的学习笔记整理

    展开全文
  • 今天的知识清单是——机械...定义:物体的重力势能等于它所受重力与高度的乘积. 2.公式:Ep=mgh. 3.矢标性:重力势能是标量,正负表示其大小. 4.特点 (1)系统性:重力势能是地球和物体共有的. (2)相对性:重...

    f83ede84b11ce9ad774430a783c402ee.png

    今天的知识清单是——机械能及其守恒定律考点归纳中的第三节: 机械能守恒定律

     和第四节: 功能关系 能量守恒以及验证机械能守恒定律,同学们可以学习起来了

    第三节 机械能守恒定律

    【基本概念、规律】

    一、重力势能

    1.定义:物体的重力势能等于它所受重力与高度的乘积.

    2.公式:Ep=mgh.

    3.矢标性:重力势能是标量,正负表示其大小.

    4.特点

    (1)系统性:重力势能是地球和物体共有的.

    (2)相对性:重力势能的大小与参考平面的选取有关.重力势能的变化是绝对的,与参考平面的选取无关.

    5.重力做功与重力势能变化的关系

    重力做正功时,重力势能减小;重力做负功时,重力势能增大;重力做多少正(负)功,重力势能就减小(增大)多少,即WGEp1-Ep2.

    二、弹性势能

    1.定义:物体由于发生弹性形变而具有的能.

    2.大小:弹性势能的大小与形变量及劲度系数有关,弹簧的形变量越大,劲度系数越大,弹簧的弹性势能越大.

    3.弹力做功与弹性势能变化的关系

    弹力做正功,弹性势能减小;弹力做负功,弹性势能增大.

    三、机械能守恒定律

    1.内容:在只有重力或弹力做功的物体系统内,动能与势能可以相互转化,而总的机械能保持不变.

    2.表达式

    (1)守恒观点:Ek1+Ep1=Ek2+Ep2(要选零势能参考平面).

    (2)转化观点:ΔEk=-ΔEp(不用选零势能参考平面).

    (3)转移观点:ΔEA增=ΔEB减(不用选零势能参考平面).

    3.机械能守恒的条件

    只有重力(或弹力)做功或虽有其他外力做功但其他力做功的代数和为零.

    【重要考点归纳】

    考点一 机械能守恒的判断方法 

    1.利用机械能的定义判断(直接判断):分析动能和势能的和是否变化.

    2.用做功判断:若物体或系统只有重力(或弹簧的弹力)做功,或有其他力做功,但其他力做功的代数和为零,则机械能守恒.

    3.用能量转化来判断:若物体系统中只有动能和势能的相互转化而无机械能与其他形式的能的转化,则物体系统机械能守恒.

    4.(1)机械能守恒的条件绝不是合外力的功等于零,更不是合外力为零;“只有重力做功”不等于 “只受重力作用”.

    (2)分析机械能是否守恒时,必须明确要研究的系统.

    (3)只要涉及滑动摩擦力做功,机械能一定不守恒.对于一些绳子突然绷紧、物体间碰撞等情况,除非题目特别说明,否则机械能必定不守恒.

    考点二 机械能守恒定律及应用 

    1.三种表达式的选择

    如果系统(除地球外)只有一个物体,用守恒观点列方程较方便;对于由两个或两个以上物体组成的系统,用转化或转移的观点列方程较简便.

    2.应用机械能守恒定律解题的一般步骤

    41bf17cb01ec0384f3571f615ade74ba.png

    (2)分析受力情况和各力做功情况,确定是否符合机械能守恒条件.

    (3)确定初末状态的机械能或运动过程中物体机械能的转化情况.

    (4)选择合适的表达式列出方程,进行求解.

    (5)对计算结果进行必要的讨论和说明.

    3.(1)应用机械能守恒定律解题时,要正确选择系统和过程.

    (2)对于通过绳或杆连接的多个物体组成的系统,注意找物体间的速度关系和高度变化关系.

    (3)链条、液柱类不能看做质点的物体,要按重心位置确定高度.

    【思想方法与技巧】

    机械能守恒定律和动能定理的综合应用

    1.在求解多个物体组成的系统的内力做功时,一般先对系统应用机械能守恒定律,再对其中的一个物体应用动能定理.

    2.对通过细线(细杆)连接的物体系统,细线(细杆)对两物体做的功大小相等、符号相反,即对系统做的总功为零,其效果是使机械能在系统内发生转移.

    第四节 功能关系 能量守恒

    【基本概念、规律】

    一、功能关系

    1.功是能量转化的量度,即做了多少功就有多少能量发生了转化.

    2.几种常见的功能关系

    1fdef511b12f49fa6592f74521a631e1.png

    二、能量守恒定律

    1.内容:能量既不会凭空产生,也不会凭空消失,它只能从一种形式转化为另一种形式,或者从一个物体转移到别的物体,在转化和转移的过程中,能量的总量保持不变.

    2.表达式:(1)E1=E2.

    (2)ΔE减=ΔE增.

    【重要考点归纳】

    考点一 功能关系的应用

    1.若涉及总功(合外力的功),用动能定理分析.

    2.若涉及重力势能的变化,用重力做功与重力势能变化的关系分析.

    3.若涉及弹性势能的变化,用弹力做功与弹性势能变化的关系分析.

    4.若涉及电势能的变化,用电场力做功与电势能变化的关系分析.

    5.若涉及机械能变化,用其他力(除重力和系统内弹力之外)做功与机械能变化的关系分析.

    6.若涉及摩擦生热,用滑动摩擦力做功与内能变化的关系分析.

    考点二 摩擦力做功的特点及应用

    1.静摩擦力做功的特点

    (1)静摩擦力可以做正功,也可以做负功,还可以不做功.

    (2)相互作用的一对静摩擦力做功的代数和总等于零.

    (3)静摩擦力做功时,只有机械能的相互转移,不会转化为内能.

    2.滑动摩擦力做功的特点

    (1)滑动摩擦力可以做正功,也可以做负功,还可以不做功.

    (2)相互间存在滑动摩擦力的系统内,一对滑动摩擦力做功将产生两种可能效果:

    ①机械能全部转化为内能;

    ②有一部分机械能在相互摩擦的物体间转移,另外一部分转化为内能.

    (3)摩擦生热的计算:QFfs相对.其中s相对为相互摩擦的两个物体间的相对路程.

    考点三 能量守恒定律及应用 

    列能量守恒定律方程的两条基本思路:

    1.某种形式的能量减少,一定存在其他形式的能量增加,且减少量和增加量一定相等;

    2.某个物体的能量减少,一定存在其他物体的能量增加,且减少量和增加量一定相等.

    3.能量转化问题的解题思路

    (1)当涉及摩擦力做功,机械能不守恒时,一般应用能的转化和守恒定律.

    (2)解题时,首先确定初末状态,然后分析状态变化过程中哪种形式的能量减少,哪种形式的能量增加,求出减少的能量总和ΔE减和增加的能量总和ΔE增,最后由ΔE减=ΔE增列式求解.

    【思想方法与技巧】

    传送带模型中的功能问题

    1.模型概述

    传送带模型典型的有水平和倾斜两种情况,涉及功能角度的问题主要有:

    求传送带对物体所做的功、物体和传送带由于相对滑动而产生的热量、因放上物体而使电动机多消耗的电能等,常依据功能关系或能量守恒定律求解.

    2.传送带模型问题中的功能关系分析

    (1)功能关系分析:WF=ΔEk+ΔEp+Q.

    (2)对WFQ的理解:

    ①传送带的功:WFFx传;

    ②产生的内能QFfs相对.

    3.传送带模型问题的分析流程

    721c84edc1ac8d5c6c2da15c015bb255.png

    4.(1)水平传送带:共速后不受摩擦力,不再有能量转化.倾斜传送带:共速后仍有静摩擦力,仍有能量转移.

    (2)滑动摩擦力做功,其他能量转化为内能,静摩擦力做功,不产生内能.

    功能观点在解决实际问题中的应用

    在新课程改革的形势下,高考命题加大了以生产、生活、科技为背景的试题比重,在实际问题中如何分析做功、分析能量的转化,是考生应具备的一种能力.

    一、在体育运动中的应用

    二、在生产科技中的应用

    实验——验证机械能守恒定律

    基本要求

    一、实验目的

    验证机械能守恒定律.

    二、实验原理

    ed7c338934a36b94dc4fc2c4fd652dda.png

    通过实验,求出做自由落体运动物体的重力势能的减少量和相应过程动能的增加量,若二者相等,说明机械能守恒,从而验证机械能守恒定律.

    三、实验器材

    打点计时器、电源、纸带、复写纸、重物、刻度尺、铁架台(带铁夹)、导线两根.

    四、实验步骤

    1.安装置:按实验原理图将检查、调整好的打点计时器竖直固定在铁架台上,接好电路.

    2.打纸带:将纸带的一端用夹子固定在重物上,另一端穿过打点计时器的限位孔用手提着纸带使重物静止在靠近打点计时器的地方.先接通电源,后松开纸带,让重物带着纸带自由下落.更换纸带重复做3次~5次实验.

    023fc850acbe51944ea92743f19e6383.png

    五、实验结论

    在误差允许的范围内,自由落体运动过程机械能守恒

    方法规律

    a7670f63a1d29b7f65162e250cd510f2.png
    高考物理王羽:高中物理专题——机械能及其守恒定律考点归纳(一)zhuanlan.zhihu.com
    c87e1faf7b5510d95242cb75069adafd.png
    高考物理王羽:高中物理专题——曲线运动万有引力与航天考点归纳(二)zhuanlan.zhihu.com
    ce2f6a9a851fe20d3fbce5247fbbb333.png
    高考物理王羽:高中物理专题——曲线运动万有引力与航天考点归纳(一)zhuanlan.zhihu.com
    55e82fb7eee1265ecdd81451da4f9f27.png
    高考物理王羽:高中物理专课—牛顿运动定律知识点总结归纳(二)zhuanlan.zhihu.com
    7aa8236bb5cc40303ed6e74d367e16e4.png

    万丈高楼平地起,想学好物理,基础知识贮备必须要足,所以老师会不定期的更新物理基础知识的归纳,来帮助同学们。或者同学们有什么不懂可以关注私信我,老师很愿意帮助大家。

    40c16fa3b1218babae8a41e12a65f756.png
    展开全文
  • 文中内容主要参考书籍《unity shader入门精要》,作者为冯乐乐。该篇建议先浏览前面篇章的渲染流水线部分结合理解。一、模型空间(model space)模型空间(model space)在不同的游戏引擎或者是软件中又称作对象空间...

    4b66075edce727ddbfad84611981de2b.png

    文中内容主要参考书籍《unity shader入门精要》,作者为冯乐乐。

    该篇建议先浏览前面篇章的渲染流水线部分结合理解。

    一、模型空间(model space)

    模型空间(model space)在不同的游戏引擎或者是软件中又称作对象空间(object space)或者局部空间(local space)。

    在游戏中的每一个模型或者物体都有各自独立的坐标空间,模型有自己的前后左右,这是它的自身属性,旋转或者是移动和缩放模型并不能改变它的前后左右。

    b614a2beef862267eea40bd275864f17.png

    在Unity中,模型空间使用的是左手坐标系,因此在模型空间中,+x轴+y轴+z轴分别对应的是模型的右,上和前向。如上图。

    模型的顶点坐标是根据模型空间的原点定义的,在上图中的正方体中,模型空间的原点就在模型的几何中心,但是模型空间的原点是可以编辑的,在很多其他模型中,原点可以是任何位置。

    当模型放在场景中之后,就会产生一个基于模型原点模型空间。因为模型的长宽高都是1,上面的正方体上的一点A点在模型空间中的坐标为(0.5,0.5,0.5)。

    二、世界空间(world space)

    世界空间是最外层的空间,可以被用于描述绝对位置,这个绝对位置的概念类似于在我们现实世界的经度纬度海拔,而前一部分说的模型坐标则可以理解为个人的前后左右。

    在Unity编辑场景时,选中一个模型的细节面板,其中的Transform属性栏表示的就是模型原点在世界空间中进行的变换。

    7260bda3d2729cbd9062cafe07b21110.png

    比如我们之前的正方体的坐标就如上图显示。

    在渲染中,顶点变换的第一步就是把顶点从模型空间转换到世界空间。空间变换的第一步就是要构建变换矩阵。构建变换矩阵其实就是根据子空间原点在父空间中进行的变换来再对顶点进行一次同样的变换。

    根据上图的ransform属性栏可以看出,模型在世界坐标下进行了(2,2,2)的缩放,围绕y轴旋转了30度,还被移动了(1,3,5)个单位。那么就可以计算变换矩阵M model->world:

    7b578c822144797ae6cb7e22fbe94d58.png

    在这里需要注意的是,看Transform面板的时候是从下往上看的,最先做缩放,再旋转,再移动。而在计算变换矩阵的时候,最后做的动作放在最左边,最先做的动作放在最右边。

    有了如上的变换矩阵就可以对A点进行空间变换了。

    f9f2b1592895ea70f8184814d249aee6.png

    所以,A点在世界空间中的坐标就是(2.366, 4, 5.366)。

    如果要从世界空间再变回模型空间的话,很明显是不能直接转置整个M model->world变换矩阵的,因为他不是正交矩阵。根据定理:1.正交矩阵的转置矩阵等于它的逆矩阵2.一个矩阵的逆矩阵和它本身相乘结果是一个单位矩阵。我们可以验证一下这个矩阵:

    54c211f698e86a3d7357e7c57cb8b9de.png

    这个矩阵真正的逆矩阵其实是需要用逆矩阵求法如初等变换法等方式求出的,而这个数学过程太复杂所以适可而止。它最终的逆矩阵如下:

    a9d8b07c18fb46351501879ca499073b.png

    三、观察空间(view space)

    观察空间也叫做摄像机空间(camera space)。观察空间的原点就是摄像机的位置,摄像机在哪里,观察空间原点就在哪里。

    观察空间中,原点是摄像机位置,+x轴指向右方,+y轴指向上方,+z轴指向后方。需要注意的是摄像机的前方是-z轴,因为unity中观察空间使用的是右手坐标系,模型空间和世界空间使用的是左手坐标系,这个只需要记住就行了。

    在渲染流程中,顶点变换的第二步就是把顶点从世界空间变换到观察空间中,这个变换叫做观察变换(view transform)

    587bafd738da62b6025bc47e7a819f78.png

    观察变换的过程其实是和模型空间到世界空间的变换相似的,首先需要知道摄像机的变换信息:

    d513fafb427bf409f000c4d99e8e6b91.png

    在观察变换的时候,是把世界空间作为观察空间的子空间来变换的,因此,我们可以把对摄像机的 变换想象为对世界空间的变换。根据上图,世界空间的原点从观察空间的原点出发进行了(-30, -180, 0)的旋转,然后又进行了(-0.5,-5,-8.5)的移动。由此我们可以构建变换矩阵以求出A点在观察空间中的坐标。

    119c8fec21a9ab614b179dfe6fc8e487.png

    (需要注意的是上面的矩阵运算时是从右往左算的)

    但是因为Unity中的观察空间使用的是右手坐标系,和左手坐标系的z轴相反,所以还是要乘以另一个特殊矩阵来得到正确的结果:

    e75f7e4a85467e1881e42b6f5f02d2b9.png

    所以A点在观察空间中的坐标为:

    8e2bde8fbc31f9f391ba7fc5fd797933.png

    四、裁剪空间(clip space)

    裁剪空间也称作齐次裁剪空间,把顶点从观察空间转换到裁剪空间中的矩阵叫做裁剪矩阵,也被称作投影矩阵。

    我们最终在摄像机中可以看到的区域是由视锥体决定的,视锥体就是我们可以看到的部分在计算机中的几何抽象,视锥体的边界以外的部分不渲染。视锥体由六个平面包围而成,这些平面被称作裁剪平面。

    视锥体有两种投影类型:一种是正交投影(平行投影),一种是透视投影。

    8d6d2af8c128cd02acf61b32e69c3f29.png

    视锥体的六个平面当中,上下左右四个平面相当于望远镜的镜筒,而近裁剪平面和远裁剪平面则决定了你可以看到的最近和最远的距离。所有位于视锥体之内的物体将会被渲染,否则就会被裁剪而不能进入下一个环节。

    b01173ccb6f1aef8c87d3ed7e208581e.png

    正交投影的视锥体是一个长方体,而透视投影的视锥体是一个四棱锥,对于透视投影,要想判断顶点是否在一个锥体中是比较麻烦的,所以我们需要先通过一个投影矩阵把顶点转换到一个裁剪空间中。

    视锥体是由六个裁剪平面定义的,在Unity中这六个平面主要由摄像机组件中的参数和窗口的纵横比共同决定。

    d37d1498662f8ef06be8002247ae9425.png

    Field of View控制视锥体竖直张开的角度,调高之后甚至有鱼眼镜头的效果。Clipping Planes中的Near和Far控制视锥体的远近裁剪平面到摄像机的距离。通过公式可以得知视锥体的远近裁剪平面的高度。

    a3b6227614441845101a9ea72b07063f.png

    根据以上公式,我们可以算出当前摄像机的远近裁剪平面的高度(根据上图中的摄像机数据)。

    93a72c0092e656f0c3555dabf7c595b0.png

    裁剪平面的高度知道之后,可以通过摄像机的纵横比来求出它的横向的长度。以目前大部分屏幕的长宽比16:9来计算我们现在的远近裁剪平面的长度,可以得到近裁剪平面长:0.284 , 远裁剪平面的长度为:952.889 。

    要构建由观察空间变换到裁剪空间的矩阵,需要知道摄像机面板的near、far和FOV三个数值。还需要计算出摄像机的纵横比Aspect,比如16:9 。

    根据以上这些数值可以确定投影矩阵:

    0c6066b459ea9f0845e7914ce1012436.png

    根据这个公式可以实际计算一下当前的变换矩阵:

    eabe392d204345dd9a7a7609a9133769.png

    一个顶点和投影矩阵相乘之后,就可以由观察空间变换到裁剪空间中。在前面的部分中已经得到了点A在观察空间中的坐标(-1.866 , 0.701 , -3.214)。接下来可以和这个变换矩阵相乘得到结果。

    eaee6953c4355ad6bbb72280bdb8c7bd.png

    根据以上公式来计算一下变换结果。

    2761fb1f8b48b1143157176631fc0a8c.png

    从结果可以看出顶点的w分量不再是1,而是变成了原先z分量的相反数。现在,该w分量就可以用作判断一个顶点是否位于视锥体内,判断公式如下:

    b10e931d508de1e3ee3c8841a470f554.png

    任何不满足上述条件的顶点将会被裁剪掉。现在A点的w分量为3.214,很明显不满足条件,所以被裁剪掉了。在Unity中显示的效果如下:

    ff492d88ce071b40e6958d5e0a0f99b4.png

    还需要注意的就是,经过裁剪矩阵的变换之后,裁剪空间变成了左手坐标系,而不再是观察空间中的右手坐标系。这意味着离摄像机越远,z值越大。

    由于A点被裁剪掉了,所以接下来将使用上图中的B点继续转换。在上文中已经把所有的变换矩阵都计算了出来,B点和A点进行了相同的变换,可以直接用前文的矩阵计算B点。现在已知B点在模型空间中的坐标为:(-0.5, 0.5, 0.5) 。

    fde6cf2d26545bd02404f2dea98b0553.png

    上面计算了透视投影的计算方式,接下来了解一下正交投影的计算方式。

    9c98ce4186f9866e438603a7a1130bbd.png

    正交投影的视锥体是一个长方体,因此,计算正交投影的远近裁剪平面要更简单一些。

    在原本的摄像机位置创建一个新的正交摄像机如下图

    b5601083771b45f57ac189918cd921b6.png

    该摄像机的属性如下:

    fdc579b938ba0d48eec23bbc9a4e109a.png

    根据摄像机的属性,可以求出视锥体的远近裁剪平面的高度,公式如下:

    a8413cd9873a922291b1bed1ba0cf877.png

    所以远近裁剪平面的高度都是4。

    横向的长度计算方式和前面透视投影中的一样。从前面的计算已经知道16:9屏幕的纵横比为1.778 。由此可知长度为7.112 。

    由此可以根据已知的Near、Far、Size、Aspect的值来确定正交投影的裁剪矩阵。

    64308899819d4bf2683db841aa6e4138.png

    可以根据如上公式实际计算一下当前的摄像机的裁剪矩阵:

    18c4c07d0f847f4d58f2062f5fec8eb7.png

    用刚刚求出的矩阵来对A点进行变换可以得出A点在裁剪空间中的坐标。

    7cf3e36e0a59f287bee37c4013486a26.png

    可以发现,在变换完之后,A点的w分量还是1,不像是透视投影的计算结果中w分量变成了别的值。但是不变的是判断顶点是否被裁剪的公式,依然和透视投影一样。

    五、屏幕空间

    这一步就到了对一个顶点进行变换的最后一步,求出顶点在屏幕上的最终位置,也就是把视锥体投影到屏幕空间。

    屏幕空间是一个二维空间,所以我们需要把顶点用齐次除法(homogeneous division)也叫透视除法(perspective division)来把顶点从裁剪空间投影到屏幕空间中。

    齐次除法就是就是用齐次坐标系的w分量去除以x、y、z分量。裁剪空间在经过齐次除法之后,会变换到一个立方体内。

    a2ab6651460748e2b9d04e78d7948cd1.png

    上图中上半部分是透视投影裁剪空间的变换,下面是正交投影裁剪空间的变换,可以看到,经过齐次除法之后,两者都变换为了x、y、z都在-1到1区间的正方体内。

    但是现在我们得到的还是一个三维空间的坐标,接下来就要进行屏幕映射。屏幕空间是一个二维空间,OpenGL中规定的屏幕空间是以屏幕左下角为原点(0,0),屏幕右上角为(1,1)。

    齐次除法和屏幕映射一般会合并计算,其公式如下:

    ed21190a94e7df777d8820e574d5c028.png

    在上面的公式中screen x和screen y分别代表屏幕上的像素坐标,clip x和clip y和clip w分别代表顶点在裁剪空间中的x和y以及w分量,pixelWidth和pixelHeight分别代表屏幕的像素分辨率。

    上面的式子中没有提到z分量的作用,z分量在这个步骤中的作用只是被记录,等待某些特殊的shader读取这个信息搞一些骚操作。

    在上一步的计算中我们得到了A点在正交投影的裁剪空间中的坐标(-0.524, 0.365, -0.702, 1)和B点在透视投影的裁剪空间中的坐标(-0.281, 0.75, 1.75, 2.348)。假设我们的屏幕分辨率为1920*1080,接下来就计算一下正交摄影机中的A点和透视摄影机中的B点最终在屏幕上的像素位置。

    1d825927edeb01cc4ac616aac03a098c.png

    最终A点的坐标为(456.96, 737.1) , B点的坐标为(845.111 , 712.487) 。如下,我们可以在摄像机视图中看到这两个点的坐标是否和直觉相同。

    4ac6b4f8b232c1a474bfeaa56eac3539.png

    879774a913d05484f03a47118d9f19bc.png

    六、总结

    到这里就是把一个顶点从模型空间变换到屏幕空间中的全部计算过程。通常在一个shader几何阶段的计算当中还有很多其他的操作,上面学习的只是一个最基本的变换。

    cb3b4d1b4e961df147e5828713ee766d.png

    顶点着色器的最基本的任务就是把顶点坐标从模型空间转换到裁剪空间中,在这个基本操作之外,还有很多的特殊效果可以靠编程人员的聪明才智来实现。

    展开全文
  • UG NX 12 基准平面

    2020-09-04 21:25:09
    平面构造器主要用于绘图时定义基准平面、参考平面或者切割平面等。选择菜单栏中【插入】|基准/点】|【基准平面】命令,弹出【基准平面】对话框,如图1-43所示。 在【基准平面】对话框中打开【类型】下拉列表,表1-...
  • 它可能是一个电压平面,或邻近一个电路或讯号路由层(signal routing layer)的0V参考平面。1990年代,映像平面的观念被普遍使用,现在它是工业标准的专有名词。本文将说明映像平面的定义、原理和设计。
  • 平面方程推导

    千次阅读 2016-08-08 16:35:21
    定义:如果一个非零向量垂直于一个平面,这向量就叫做该向量的法线向量。 特征:法线向量的特征:垂直于平面内的任一向量。 2、平面的一般方程 由点法式展开可以得到: 所以得到一般的方程为: Ax+By+Cz=0...
  • 运动副及其分类 平面机构运动...1平面机构的定义 基本概念 3运动副 两个构件直接接触组成的仍能产生某些相对运动的联接 2自由度 相对于参考系构件所具有的独立运动 一个平面构件有三个自由度 例如凸轮齿轮齿廓活塞与缸
  • 一个映像平面是一层铜质导体,它位于一...它可能是一个电压平面,或邻近一个电路或讯号路由层的0V参考平面。1990年代,映像平面的观念被普遍使用,现在它是工业标准的专有名词。本文将说明映像平面的定义、原理和设计。
  • 参考:通常我们需要估计平面的方向,这就需要用到法线了,法线就是指垂直平面的线。PCL中有自动求出法线的方法,我们来看一看,首先假设我们有一个平面的点云cloud_xyz要求出法线首先我们先定义一个法线估计的对象...
  • 它可能是一个电压平面,或邻近一个电路或讯号路由层(signal routing layer)的0V参考平面。1990年代,映像平面的观念被普遍使用,现在它是工业标准的专有名词。本文将说明映像平面的定义、原理和设计。 映像平面的...
  • 它可能是一个电压平面,或邻近一个电路或讯号路由层(signal routing layer)的0V参考平面。1990年代,映像平面的观念被普遍使用,现在它是工业标准的专有名词。本文将说明映像平面的定义、原理和设计。
  • 它可能是一个电压平面,或邻近一个电路或讯号路由层(signal routing layer)的0V参考平面。1990年代,映像平面的观念被普遍使用,现在它是工业标准的专有名词。本文将说明映像平面的定义、原理和设计。 映像平面的...
  • 平面与线性可分

    千次阅读 2017-12-18 10:52:28
    参考:http://mp.weixin.qq.com/s/2QHG0D1j0hQyErYg7Cp53w ...在介绍线性可分之前就必须先介绍...通常我们熟知的“平面”,一般定义在3维的空间中,即形式为Ax+By+Cz+D=0。只有当维度大于3时,才称为“超”。而超平面
  • 在使用国产CAD制图软件绘制图纸的过程中,在进行强电平面设计时如何定义设备表呢?接下来的CAD新手教程就让小编来给大家结啥哦一下国产CAD制图软件——浩辰CAD电气软件中定义设备表的相关操作技巧吧!感兴趣的小伙伴...
  • 常见导航坐标系定义

    2020-10-20 11:18:27
    在导航系统中有几种常见的坐标系:大地坐标系,地心惯性参考系,地心地固参考系,切平面坐标系,随体坐标系。 文章目录常见坐标系一、大地坐标系,WGS84(WorldGeodeticCoordinateSystem1984)二、地心惯性参考系,...
  • 目录 第1章 绪论 1.1 引言 1.2 矩阵、向量表示法定义 1.3 平面连杆机构的组成原理 1.4 动力学主要分析方法 1.5 神经网络 1.6 本书研究的主要内容第2章 平面连杆机构的运动学分析 2.1 引言 2.2 MATLAB位移与速度分析...
  • 平面极坐标系下质点的运动方程

    千次阅读 2019-12-29 16:16:49
    一、平面极坐标系定义 1. 定义参考系上取一点 OOO 称为极点,由 OOO 点引一有刻度的射线,称之为极轴,即构成极坐标系。 2. 极坐标系 质点的位置 PPP 由极径 ρ\rhoρ 和幅角 θ\thetaθ 给出。如下图所示。 ...
  • 各空间参考还包括一个标识符(通常被称为熟知 ID、空间参考 ID 或 SRID)和一个坐标系的熟知文本定义。还有一些特定标准 ID,例如由欧洲石油测绘组 (EPSG) 或 ESRI 定义的 ID,但空间参考的 ID 并不始终是标准 ...
  • Revit二次开发中经常会遇到拾取平面元素或者点的坐标,下面我记录一段代码,仅供参考 一、引用导入 做Revit插件开发首先要添加引用:RevitAddInUtility、RevitAPI、RevitAPIUI等。 二、使用步骤 1.定义 定义如下:...
  • WPF 3D:MeshGeometry3D的定义和光照 原文WPF 3D:MeshGeometry3D的定义和光照 由于WPF计算光照会根据整个平面的方向...首先要定义两个简单的相交面,为方便定义,整个图形的主视图可以参考下图: ...
  • 返回:贺老师课程教学链接【项目3-点结构体】下面定义了一个表示平面上一点的结构体类型:struct Point { float x; //横坐标 float y; //纵坐标 }; (1)请编写程序,输入一点的横纵坐标,输出该点到原点的距离 ...
  • ExternalSecret :公开有关如何在后端中生成它们的秘密定义 SecretBinding :授予kubernetes服务帐户访问秘密列表的权限 SecretPolicy :控制可以在每个命名空间的后端中管理的路径 有关创建第一个机密的快速指南,...
  • 定义:假设平面上有若干个点,过某些点作一个多边形,使这个多边形能把所有点都“包”起来。当这个多边形是凸多边形的时候,我们就叫它“凸包”。 求法:目前我只掌握了Graham扫描法,但我觉得够用了。 步骤: 1...
  • NR 5G 架构参考模型

    千次阅读 2019-06-12 17:11:01
    5G 架构定义为基于服务,网络功能之间的交互以两种方式表示: 1、基于服务的表示,其中控制平面内的网络功能(例如 AMF)使其他授权网络功能能够接入其服务。 该表示还包括必要时的点对点参考点。 2、参考点表示示出...
  • 数学上对点,直线的定义根据使用的不同参考坐标而具有不同的表现形式,如在二维平面中直线较为常用的形式有: 一般式:Ax+By+C=0 (A、B不同时为0); 点斜式:y-y0=k(x-x0) (适用于不垂直于x轴的直线); 两点式:(y-...
  • 参考如下给出的类层次关系,实现一个平面上的形状编辑程序序。要求如下: 按照下面类图给出的层次关系来定义类 所有形状支持无参数构造,有参数构造,拷贝构造,析构 所有形状支持平移操作,需要重载...
  • 工件坐标系的概念工件坐标系用于定义工件相对于大地坐标系或者其他坐标系的位置,具有两个作用:(1)方便用户以工件平面方向为参考手动操纵调试;(2)当工件位置更改后,通过重新定义该坐标系,机器人即可正常作业,不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 433
精华内容 173
关键字:

参考平面定义