球速体育新闻

News Center

当前位置: 首页 > 球速体育新闻 > 行业新闻

Welcome-球速体育虚拟现实编程

更新时间:2026-05-15点击次数:

  1modeling(1)–3D中的数据准备-预生成为顶点的模型:空间与物体几何形状属性,物理行为属性

  2.2交互式3D:质量表示,碰撞检测,碰撞反应(刚体动画,流体粘着沉积动画,柔体变形动

  modeling(1)–3D中的数据准备中的数据准备-预生成为顶点的模型预生成为顶点的模型:空间与物体空间与物体

  (1)–3D中的数据准备-预生成为顶点的模型:空间与物体几何形状属性,物理行为属性表现

  所谓预生成为顶点,就是指:3D中的数据准备(1)预生成为顶点的模型:空间与物体表现,这是指用户动作,不

  步的,但不是必要的(纯DX可以过程化产生,纯GPU可以即时产生,而不导入建好的模型,这就是“实时”二字的

  假设你只是要全程利用gpu作rendering,在这个阶段,dx流水线都是不可见的(需要你自己写变

  换),因为你在low-level而不是使用DX内置的流水线进行rendering,当然,你也可以混合使用它

  们.因此,你既得到了高级的流水线,又得到了适时将自己写的变换放到lowlevel,形成自己的流

  水线的机会(当然,流水线是一个例子,你还可以定制除变换之外的其它算法)我们现在基于dx

  空间,直角坐标系,朝向与方位,空间变换(空间,直角坐标系,朝向与方位,空间变换(50p))

  欧式几何空间,是一种正规的空间及其中的点元素,线段元素,首先,我们应脱离利用坐标(尤其是笛

  卡尔坐标体系)来解读它的观点,应用纯数学,线性代数的观点来解读它,这就是说,虽然欧氏空间的

  元素,比如点集构成的欧氏空间,的确可以被解析为坐标的东西(因而具有带有坐标痕迹的度量),但

  欧氏空间,最初是作为综合几何出现的(是纯数学意义上的几何空间,此时并没有坐标出现),有一套脱

  离坐标就在代数上就可以很完备地自我描述的数学体系(甚至是度量,也可以脱离坐标而被实数的某种

  代数式被表示),这个体系较之套上了坐标的欧氏几何更原味,比如用多元组表示平面或空间点,用线

  性变换表示点被平移,等等,因为被纯代数描述,所以它也更广泛。因为代数手段,往往比单纯的解析

  坐标系仅是一种解析手段,它没有描述出一个诸如欧氏空间的几何上的空间。所以,坐标系并不是一个

  空间。数学上的向量,矩阵,线性变换等等,仅仅是数学,当它与坐标法结合的时候,可以表示一个“用

  向量来刻画的坐标点(向量其实是一种代数量,此时,若不用到解析法,它就不只解释为一个坐标点,它

  也可以表示一种方向,或其它任何可以解析向量这个代数的其它领域的东西”“用坐标刻画的欧氏几何空

  这其实也就是克来因的思想,变换是一种代数思想,线性代数所描述的变换,是一种独特的变换,

  笛式空间Xxx轴方向由Z轴和Y轴向量的叉积确定,这是不是跟旋转原理有关?

  在几何上并没有一个向量空间,只有向量.我们是在用量模拟空间.这是因为粗略地讲,3维向量空间就是3d

  这是一种向量空间.向量空间对应于3d空间(或任意d空间),因为在数学上,向量空间与线性空间

  同质,向量就是三个分量相互联系的代数系统,因此我们可以借助数学的手段.来处理空间上的

  3d问题(当这样的空间是位置信息的时候).比如对于直线的方程表示.对于球的表示.都可以用

  空间的引入,就为在几何上表示物体的确切位置,用数学方法来解决物体的动态表现(比如移动)提供了可能.

  这些都属于建模和模型表示的内容,因为此时,我们并没有必要处理物体的实际运行.

  vector和点,它们的数学表示相近(用三个分量表示),但其实概念不同,(在图形表示上)

  向量是一条线,它同时具备大小和方向。而顶点只是一个定点,任何向量可表示为原点到向

  量所在点(它的数学表示)的一条有方向的线。同时,向量间的图形三角形法则可以很好地

  用于表示向量间的加减。将一个向量标准化,就是将其大小弄为1,这样,它的方向就突出

  来了,因此一个向量的标准化,它的几何意义往往是该向量法线。向量间相乘,有点和叉

  乘,点乘在数学上的形象表示就是用一点相连二个向量,得到的是一个标量,它表示二个向

  量的大小和它们之间夹角余弦的最终乘积,它的几何意义就是二个向量的相似程度,如果这

  个标量大,那么这二个向量方向和大小都相似(夹角小并且方向一致且大小都大)。向量间的

  叉乘,形象表示就是用一个叉号相连二个向量,得到的结果是一个向量,它垂直于这二个向

  量。 vector有多少个分量就有多少个维。依之称为三维向量,四维向量等,矩阵的称法依据

  它是几行几列,称为几乘几维矩阵,行列式是矩阵的一种特殊形式(一般矩阵用[]括起来,

  而行列式用双竖线)。 vector有matrix间的关系可谓千丝万缕,矩阵是向量的数组,任何一

  个矩阵都可以分为几行几列的向量,单一的一个vector自身就是一个矩阵,它是3×1矩阵,

  或几x1矩阵,到现在为止我们提到的向量都是行向量,所以如果将它看成是一个矩阵的部件

  (矩阵是向量的数组),那么其实还可以产生一种列向量。在将向量与一个矩阵相乘时,向

  量的行列属性就会起作用(不允许一个矩阵右乘一个列向量)。 矩阵的运算有多种,如果一

  个矩阵的对角上全为1,其它全为0称为标准矩阵,它是矩阵乘法的标准元,它与任何矩阵作

  相乘都会得到该矩阵自身,矩阵的转置表示将对角线上下的元素互换,它得到另外一个矩

  阵,一般地,如果原矩阵是4×3,那么转置矩阵会是3×4。 一般矩阵间的乘法运算很玄妙,乘

  数与被乘数位置不能改变,一般意义上的矩阵乘法可描述为:产生的最终矩阵的Cij是乘数矩

  空间里的物体,都是用顶点来描述的,所以对物体在空间中的表示和变动表示,研究顶点就够了(在某种空间

  里,物体中的一个参考点,和除参考点以外的任何点,都是相对的,将这种相对位置表达到空间其它位置,或其

  为了使一些效率敏感的事物能在CG中被快速处理,经常用简单几何体来代替复杂事物,这时,就涉及到

  关于这些图元的数学表达,一般地,用几何上的参数方程来表示一个图形,但是要知道,参数方程只是

  表示数学上的抽象和参数,并不关乎实际的绘制,并不能得到一个图形,我们只是用这种数学归纳,来

  欧式空间的坐标和笛氏空间的坐标,都能很好地指明位置,然而不能直接地表达物体的其它一些属性(比如

  朝向,必须计算得到).这就需要其它空间.当原物体是用这二种空间表达的时候,只要变换到这种“其它空间”,

  “变换”一般指物体在二个坐标系间相对变换,一般是“方位”的变换,所谓“方位”,其实是指“有位置,有朝

  向”的物体,其变换到另外一个空间后,二个空间坐标系相对位置和朝向的变化。

  对应的是3d image.即用多边形或其它数学知识表达的模型 当3D的东西,比如顶点定位逻辑,运用于2D事物

  时,比如一张贴图,比如使一张贴图旋转,形成“公告板效果”,这就是一种2D中的事物被利用于3D(借助某种

  我们上面说到,渲染不带纹理映射的逻辑的单调图元.实际上,你也可以加入表面处理(实际上,对于渲染器来

  说,只要用图元逻辑和变换逻辑就够了,加入表面处理,是为了极大地增加3D的可视性和真实性,比如,粒子这

  样的东西,也不是d3d的必要core部分,由程序员自己提供解决方案),即surface model的处理.(在游戏开发,

  D3d所涉及到的内容中,一般都分为三个层次.1是硬件支持的.纹理映射方式的基础,是需要硬件提供直接支

  持的,比如硬件支持什么纹理格式.2,是d3d中有对应的,3哪些是它被用户扩展的,软件抽象的.模型,其实不是

  d3d的内容,几何体才是.X文件中.在了解direct3d关于它各种渲染技术的时候,至关重要的,是明白哪些技术

  是d3d内含的,哪些是它被用户扩展的(比如粒子系统,billboard,d3d中本身没有对粒子的直接支持,还比如lod

  对surface model的处理,实际上可用于一系列更高级的过程(比如,多边形模型的贴图,就是对其每个三角

  形surface model进行一次贴图).因为表面,实际上就是一种特殊的3D立体,即,用多边形模型和用表面模型,

  是解决模型问题的二种常见手段(比如,billboard这样的东西,往往是一张表面模型)

  然后,就是讲解颜色数据对于图元的“坐标映射”了.我们这里谈到只是2d图元的坐标映射,关于3d映射技术,

  贴图,是一些颜色数据,比如一张图片.而纹理,综合描述了图元表面(以此达到一种给pure三维物体增加真实

  视感的效果)的各种情况,比 如,什么贴图的颜色数据,甚至什么光照,什么粗糙度.

  纹理,与材质是什么关系呢?纹理上贴材质吗?虽然有些程序在抽象上提出一个“纹理层”,但其实,d3d的眼中,

  只有纹理与材质,及映射. 没有纹理层(d3d不直接支持,可以用户程序扩展)

  只有满足正交条件的矩阵才能用于表示旋转,旋转矩阵可用于表示变换,表示算子,还可用以表示方

  有了空间表示,物体表示,和物体各种可能朝向的表示,那么我们可以作任何变动了,这种变动一般分为三大

  类,即平移,翻转,缩放.(变动不光是位置上的改变,还是大小,朝向,和比例上的改变 – 也是位置信息的改变)

  模型一般预生成,也可以即时在渲染过程中提供顶点(及如何操作顶点的逻辑 – 可能是建模,也可能是直接

  变换顶点,以求得水波这样的效果).这二种动作其实只是向渲染器投放顶点时机的差别(预生成的模型只要

  化成顶点进入GPU被渲染).只是在DX runtime,我们可以在高于顶点的级别,比如三角形级方便地进行一些

  算法(这种动作是故意的),而在顶点级,我们可以利用处理顶点的方法来达到高层次不能完成的事(也是刻意

  的).或更好完成的事.比如那些仅通过处理顶点就能达到目的的事情.这仅仅是同一个现象对于编程者带来

  对于编程者来说,很难说这二者哪个好哪个差,哪个更高级(甚至现在的图形编程允许混合使用它们),只是层

  次和具体问题具体分析问题,这就是顶点和模型对于编程者带来的层次问题关系.

  前面几个章节对顶点的研究,使我们可以进一步研究复杂的图元(对点的支持,可以用来构造下一级复杂的

  模型).比如三角形的表示和变换,而模型,作为下下一级更复杂的东西,可以由更更复杂的三角形(扇,带,网)表

  础)都能很好地操作和用于三角形,也其实更是为了方便人们讨论模型(所以仅讨论多边形中的三角形,因为

  网格不过一些关于多边形(在程序上)的数据结构(为了更方便所以仅研究规则的多边形形成的

  扇,带,网,而不是凹形的),关于如何在多边形的研究上建立网格,就是程序的事了,而不是3d的事,

  渲染器会负责提供”tellseation”过的多边形,一般为三角形. 图元一般取三角形.是因为硬件能很

  好处理它,一般的3D模型软件,将三角形作为其默认的生成格式 当表达到网时,往往接近模型

  下面我们来讨论多边形.首先要解决的问题,就是渲染器完成如何将可能不规则的多边形,进行

  向规则化了的三角形的转换的动作.如上所说,这称为“tellseation”

  形状表示,边界表示,曲线造型,渐进化简表示 形状表示,边界表示,曲线造型,渐进化简表示

  我们先从学科角度来研究一下多边形,再来讨论三角形这种特殊情况,这就是计算几何上的事情.

  计算几何不是计算机的几何,而是用计算数学的数值分析方法来解决的nd几何问题(所以是数学的几何).它

  研究nd空间里多边形的学说(当然不是全部,而是特定的一部分,比如拓朴问题?相交检测问题,这些,正是3d

  首先,计算几何(到本书写作时)已发展为一门well documented的学科,它完善地解决了几大问题(这些问题

  证明,多边形模拟模型的时候,会碰到哪些问题,对于诸如检测这些多边形是不是相交这些实际问题,计算几

  何都给出了好的证明和解决手段,所以,这些都显示,它能被用于模拟模型的表面表示,可以用于计算图形

  哪么对于计算图形学需要的多边形,计算几何都作了哪些解释解决了哪些相关的问题呢,第一,就是对多边

  首先,n维空间里的多边形有凹凸的,组成这个多边形的n个坐标分量往往不在一个2d平面内(我们在3d空间

  选三角形,是因为它肯定处在某个平面内,是planr polygon).这种现象,导致了以后进行多边形的边界(多边形

  的边界就是它的边,然而计算几何还研究多边形组成的壳,这种复杂边界)相交讨论时的诸多不便.

  实际上多边形模型也存在贴图问题(uv贴图),但是我们这里不讲了(当然2D模型,即表面模型,也存在变换问

  LOD版本,是一种程序上的过程建模方法,它生成一个渐变的动态模型,是一种从下而上的方法,跟建

  什么是多边形模型呢,就是“组成它的顶点”那种加入了z深的2D模型(有时还有第四个量,即w).于是变成了

  三维,因为它有三个坐标,所以它存在一个高于2D的新环境,就是三维世界.需要定义一套新的坐标系等东西.

  以上,我们在讲解表面模型,即3d世界中的2d世界中,用的顶点依然是3d的,不过去掉了z,w分量.而且,除了纹

  三维世界,除了顶点,还要特别要涉及到一个矢量的概念.矢量,即一个3d世界中的位置.它不是顶点,而是(顶

  而矩阵,就是变换的表示.一切图元的变换,都可以归结为三种形式或者它们的综合作用,即位置上的平移(这

  用矢量可以直接描述),大小上的缩放(一个),变换,是以图元或称模型为主体的.模型从一个当前表示,到变换

  在变换过程中,有一个插值的概念.这就是一系列轨迹.也称关键帧.这些martix形成一个堆栈.

  这些所有的概念,就导致了骨骼动画.(一个复杂的模型,往往分块制作,这是美术的要求,也是3d程序的要求,

  比如,只有不是那种一整块的模型,才有层次关系,才能产生骨骼等,所以就有了几何体geo的概念).

  多边形间的拓朴可以化简(而保持总体结构上的相对不变性),这意味着我们可以计算出多边形间一系列

  的“精或细”版本.在计算图形学的渲染中,这些技术可用于LOD(往往为了效率起见,要知道,渲染中的多边形

  数量可控要求,是计算图形学要解决的重大问题之一),那是后话,我们暂且不提,只要记住,基于多边形间拓

  Lod技术如何化简面,而不改造物体的外观(组成物体的多边形网格的拓朴结构)呢 首先要明白,

  这是一种动态化简技术,即在渲染中化简.是摄像机依赖的实时渲染. 拓朴化简,欧拉图的出度

  研究多边形的拓朴学说,就是计算几何的一个重要内容 把导出问题的部分写得比例大一些,比

  如像计算几何导论导出图形的交问题一样 检测交,被用来进行面消隐,是这个动作的基础

  计算图形学,不光要解决物体本身的表示,而且要在给定物体多边形模型表示的基础上,要求“计算出”一个边

  界,即对于物体“边界”的表示(用户可以为一个模型生成边界,也可以通过程序计算出一个最小的边界).这是

  计算图形学迫切需要解决的问题(前面说到,可以借助计算几何中多边形组成的最小凸壳的边界相交问题的

  边界表示可用于计算图形学诸多高级问题,它是一个多面手,比如:最直接的用处就是检测相交,

  用于不可见面剔除,快速进行场景剔除和空间管理,用于进行碰撞和碰撞反应.用于鼠标拾取.

  计算几何中讨论的convex hull是一种精确的最小“边界”,实际的计算图形中,用了大量的非多边形,比如球(它

  有一个曲面),正方体(它有六个多边形).所以它讨论的“边界”问题,其实只是计算几何讨论的一小部分.

  同样的,是对于多边形间,和多边形组成的壳间的相交检测,也是计算几何为计算图形学解决的几大重大问

  而进一步的网格模型的表示,其实都是程序上的算法和数据结构上的事不是3d的事,不必多谈.我们只要记

  值得注意的是,用数学上数值分析办法来研究曲面的几个人之一的forrest在1971年使用了“计

  算几何”一词.一般地,现今的计算几何学科也包含曲面的知识.这是数学上的数值分析中的插

  值,它被用于解释曲面,就变为计算几何上的学科.这是学科渗透产生新学科最明显的例子之一.

  曲线常被用于用于生成模型.也用于计算图形学的方方面面(控制路径形成动画等等).作为曲线数学基础的

  在如何求解方程的值上,最初发展出的数学分支是初等代数,它的主要任务之一,就是解方程(一直到解一元

  五次方程),再然后是线性代数(为了解方程,它抽象了代数为代数系统,用了行列式,多分量数据 – 向量,和矩

  阵的手段),再再然后,解方程的学说,经历了一个由前二门学科组成的以精确解方程的解到以后的“近似方程

  解所代表的值”的过程,此时的解方程学说不叫代数,或高高级代数,而是“仅仅对可解出的方程数值感兴

  曲线是一种几何和数学现象,它可以用方程来精确描述(我们以前学的是平面解析几何,并没有利用向量来

  解析几何直线或抛物线,因为它仅有二个分量,解析几何仅利用以前欧式几何的知识来解析平面几何,所以

  观点来看的空间,向量空间,请注意这个概念).向量空间,就是用解方程的手段来处理对应具有几个分量的向

  量的代数系统(所以也是代数的手段,比如,它能用于解方程).而分量,也其实就是方程的x,y,z,当把这种方程

  用于解析n维空间时(对于x,y,z,当然就只是3d空间),就形成了n维解析几何,解析几何中直线,抛物线的表示,

  和它用向量来表示的形式是不一样的,(对于直线和曲线在向量空间的方程表示)它们称为直线,曲面的“参数

  实际上,我没有说“它们称为直线,曲面的参数形式”,这是因为只有3维空间才有面的概念,推广到

  n维空间,其实这作为一种含盖平面,3维,任意维空间的所有向量能解释的现象,称为“面”反而不

  合适(它们有一种更复杂的称法“叫流形”),所以还是称为3d里的“曲线”,nd里的“曲线”.这样反而

  插值问题是这样产生的(它一开始并不一定是生成平滑曲线的问题而是一个通用数学问题,):需要产生一个

  (注意是一个)近似函数(这样的函数在数值计算上被称为样条函数,如果产生的函数是几次的,就称为几次插

  ,插值的意思是针对“这样的函数在几何上表现出来的曲线要准备通过的函数值”来说的,也就是说,

  自2014 年Facebook 以20 亿美元收购Oculus开启全球VR时代,Oculus、索尼、HTC已成为VR三大巨头厂商,中国市场也紧随其后,在众多产业资本的积极涌入的情况下,国内VR产业热度已仅次于美国那国内VR产业现状如何?硬件形态哪种才是主流?未来VR创业者机会何在?中国VR发展走向如何?

  • 电子邮箱: facai@126.com

  • 热线电话: 0755-89800918

  • 公司地址: 深圳市南山区粤海街道高新区社区深圳湾创新科技中心2栋A座22层

Copyright © 2012-202X 球速体育公司 版权所有 Powered by EyouCms
备案号:粤ICP备05004158号-1

SiteMap

网站二维码
关注

联系

0755-89800918

顶部