返回首页

{A}
{S0}简介
三维计算机图形可视本质上是一种直接的映射在一个三维的"查看"音量2D图像的图形项目。然而,有没有标准的方式指定的观点,并有广泛的是目前正在使用不同的观赏实现的。紧密联系在一起,在查看参数是三维交互,同样有大量不同的三维交互往往提供相同的基本功能的实现。强迫用户学习和使用,每个3D节目,他们使用不同的平移,缩放和旋转技术。由于每一个3D程序重塑这个功能,为什么hasn'ta标准出现后几十年来的呢?这种标准化的缺乏导致更高的发展和支持的努力,以及扼杀像立体的用户界面功能扩散。
一个标准的浏览软件工具包,以及一个标准的议案工具箱,将有利于跨应用程序提供一致和全面的三维交互的的最终用户,将有利于开发,缩短开发时间,软件支持,和客户支持。所有的各种交互技术,可以提供3D节目和最终用户的专业知识的不同层次的不同类型,以满足不同的要求。
在查看代码的基础上,有底层3D API的调用。流行的3D API的,即的OpenGL ®和Direct3D ®,具有不同的观赏调用。查看参数的设置是一个独立的低水平,需要处理所有可能的类型3D视图。观看和运动工具包,然后可以建立在这些之上。
一个新的和更简单的3D观看角度(双关语意),导致七个观看的三维计算机图形中的意见处理所有类型的参数。代码提供给这些低层次的视觉参数配置OpenGL和Direct3D的。示例代码还显示了一个更高的水平适合观看3D节目的许多常见的类型参数设置。
所附的"; NewViewquot;演示OpenGL和Direct3D窗口都显示查看参数用于配置各自的看法如何,方方。还提供了一些简单的鼠标交互。查看基础
查看地图一个一个二维图像的三维视图量。查看涉及的变换,​​裁剪,闭塞,和渲染操作。变换地图坐标或到指定的坐标系统或执行其他操作"空间"的方向,如几何信息。裁剪排除外部的成交量来看,任何图形项目和装饰过路查看卷的表面或表面的任何项目。闭塞隐藏任何项目或部分项目的落后项目更接近前面的成交量来看。渲染生成像素或线的绘制值的基础上的图形项目的几何形状和颜色或纹理信息,以及其他如照明场景信息。
一个虚拟的世界通常被定义为一个树状结构,图形联营项目到集合,并指定如何定位的项目之间的相互关系。顶层或树的根通常被认为是"世界??空间。指定子项,其母公司的相对空间位置由旋转和翻译转换。规模和倾斜(又名剪切)转换可能被用来改变图形项目的大小和形状。成交量来看,本身就可以指定在树结构中的任何地方。由于观看由计算机图形学课本处理,大多数3D节目碰巧使用了一套独立的树结构查看参数。
3D视图量可完全指定由定义它的形状,然后定向和定位相对于世界空间的形状。中的"查看"空间被定义为指定的形状,然后旋转/翻译转型是用来定位在世界空间鉴于此空间。
当2D输出图像是一个长方形的形状,3D视图量是一个长方体(并行的意见)或截断金字塔(透视)。一个被截断的金字塔,被称为一个圆台。考虑形成的成交量来看,通过扫一个矩形沿直线段形成一个棱镜,或缩放矩形的一个三维点,形成一个圆台。请注意,棱镜或圆台的轴可能或可能不正常的矩形截面。为简单起见,成交量来看是一致Z = 0平面平行的矩形截面视图空间,这使得Z = 0平面平行的正面和背面裁剪平面。矩形截面的双方是一致的X和Y轴,所以查看空间X是正确的,和Y是。
裁剪计算简单,当3D视图量,转化为裁剪空间,是由一套合适的x = 0,Y = 0,Z = 0,X = 1,Y = 1,Z = 6为界1,X,Y = -1 = -1,和Z = -1裁剪空天飞机。这意味着视图到裁剪空间变换通常需要成方形棱镜或裁剪空间立方体变形的长方体或查看空间的圆台。有两个共同的剪报卷:一个是反对角落的立方体(-1,-1,-1)和(1,1,1),另一种是反对角落(1,-1平方米棱镜0)和(1,1,1)。两种最流行的3D图形编程接口的OpenGL ®和的Direct3D ®。 OpenGL的立方体,和Direct3D平方米棱镜的剪辑。适当的"投影??转换地图的视图空间裁剪空间量。注意:一些年纪较大的线框图形系统不剪辑的深度方向,和成交量来看,理论上无限延伸。图1。裁剪空间查看卷

回答

评论会员:游客 时间:2012/01/25
会员548487|templatelt;typename的TGT无效ConfigureView(TViewToWorld[4][3],TViewVolume[7]){ //创建ViewToWorld改造结合g_ViewOrientation//g_ViewCenter。为(inti=0;ILT;3;I)*(TVec3%LT,TGT%;*)ViewToWorld[I]=*(TVec3%LT,T%GT;*)g_ViewOrientation[I]*(TVec3%LT,TGT%;*)ViewToWorld[3]=*(TVec3%LT,T%GT;*)g_ViewCenter;ViewToWorld[3][0]=ViewToWorld[3][1]=ViewToWorld[3][2]=0;为什么复位ViewToWorld[3]到[0,0,0]后,被分配到g_ViewCenter
?约翰希尔顿
评论会员:游客 时间:2012/01/25
大问题!它是一个错误和线路设置ViewToWorld[3][0,0,0]应予以删除。这部分代码是不使用的演示,但作为示例代码提供了使用更高级别的用户友好查看参数
。TNZ
评论会员:游客 时间:2012/01/25
我很新的DirectX/C,但不能源编译与VS2009Express的当打开转换项目文件,项目缺乏支持的ATL(Express版本不支持)返回一个警告,当我解决,仍存在许多错误。我真的很好奇,不过,我想学习有关此代码,但看到它的工作和玩一些设置将有助于。我应该怎么办
?约翰希尔顿
评论会员:游客 时间:2012/01/25
感谢您的关注对不起,我只是没有时间返工VS2009Express的代码。{S2}也许别人可以看看这样做,然后可以添加额外的版本文章。您可能能够买到廉价版的VS2005的代码开发使用VS2005的(所以它会尽可能多的人访问)
。radink
评论会员:游客 时间:2012/01/25
喜欢的文章。期待更多...我注意到您的许多成就列表之间-这是很酷-即表示您:=在20世纪80年代写一个基本的CAD程序=架构和管理的全定制ASIC芯片=[]实际上是在一个荒芜的太平洋岛国滞留包含在该列表中是:=11年,居住在美国马萨诸塞州的波士顿,我住在波士顿的3个月,89年夏天,我可以看到你为什么包括在列表中。{S3}我是当时的马萨诸塞州大道和Boylston(伯克利音乐学院)宿舍角落。这只是搞笑率尚存在波士顿的11年中,尚存在一个热带岛屿有。imgsrc=http://www.orcode.com/img/ico/smiley_smile.gif的这就像我的清单:=3800磅鳄鱼搏斗只有一根木棍和一卷胶带=一手打在二战中的德国侵略者的整个营,保持法国的小城镇,他们以极大的拿铁。=重定向误导经过不断的请求时,该项目将完成的项目经理。{五}伟大的文章
约翰希尔顿
评论会员:游客 时间:2012/01/25
感谢Radink。听起来像您的列表变得可怕,可怕的。是啊,波士顿是伟大的。希望我能得到更经常访问哦,还有一件事,鲨鱼其实是盘旋我,一个小试验鱼游泳只是在他的鼻子面前,当我出去snorkling滞留在冷清的太平洋岛国上午。这是真的
拉杰什ř Subramanian
评论会员:游客 时间:2012/01/25
嗨约翰,本文提出一个非常有趣的的阅读。我期待着读取的问候,拉杰什。"按照你的幸福.??????约瑟夫坎贝尔
约翰希尔顿
评论会员:游客 时间:2012/01/25
感谢您的投票和反馈拉杰什下一篇文章是成功的一半写"异端1-为什么浮点坐标浪费"。我希望,来完成它的到来,但生活的方式已经越来越!你有看到我的文章"完美在3D平移(放大)"在OpenGL论坛?约翰希尔顿
拉杰什ř Subramanian
评论会员:游客 时间:2012/01/25
没有约翰,我没有阅读其他文章。我标记为后来虽然读。"按照你的幸福.??????约瑟夫坎贝尔
拉杰什ř Subramanian
评论会员:游客 时间:2012/01/25
恭喜赢得了每月的竞争,约翰。这是当之无愧的。S4}"按照你的幸福.??????约瑟夫坎贝尔
约翰希尔顿
评论会员:游客 时间:2012/01/25
哇-我没想到这感谢大家为他们的利益和他们的票。这将有助于这么多人,如果我们都能够规范的收视参数
。brianma
评论会员:游客 时间:2012/01/25
喜约翰​​当我下载您的演示,并尝试并运行它,我得到"这appliction未能启动,因为应用程序配置不正确,重新安装应用程序可能会修​​复此问题"谢谢微软不允许复制一个消息框{S2}虽然良好的工作,数学看起来像一个集Numb3rsimgsrc=http://www.orcode.com/img/ico/smiley_smile.gif布赖恩PS进出口运行WindowsXPSP2,双屏幕,以防螺丝最多的DirectX
约翰希尔顿
评论会员:游客 时间:2012/01/25
您好布莱恩,这可能是在VisualC可再发行或DirectX运行库是必要的。运行WindowsUpdate,修复这些类型的错误。如果不能下载的文件,从微软的网站。可再分配是在imgsrc=http://www.orcode.com/img/ico/smiley_frown.gifDirectX运行库是在imgsrc=http://www.orcode.com/img/ico/smiley_squeamish.gif的数学,这将是伟大的,如果查理可以解释简单来说
。tyjiang
评论会员:游客 时间:2012/01/25
好文章,但为什么鼠标在DirectX面积respondse是没有很好的
?约翰希尔顿
评论会员:游客 时间:2012/01/25
"鼠标编程工作完全在DirectX和OpenGL窗口都相同,我的电脑很好。是其他人有问题