三维图形及动画软件开发流程

原创 2001年02月21日 09:03:00
  三维图形及动画场景的显示,就是把所建立的三维空间模型,经过计算机的复杂处理,最终在计算机二维屏幕上显示的过程。一般,设计三维图形软件要经过以下步骤:
  A.图元建立三维模型。(以OpenGL(Open Graphics Library)为例,OpenGL是一个开放的图形程序库,它可在UNIX、Windows 95、Windows NT等环境下运行)
   B.设置观看物体的窗口和观看点(视点)。
   C.设定各物体的属性(如色彩、光照、纹理映射等)
   D.如果要物体动起来,还要进行图形变换(如几何变换、视窗变换和投影变换等)。
   E.三维图形的二维化。
   流程如下:
  利用OpernGL的库函数, 我们能较容易按步骤实现三维图形处理软件的设计。
  1. 建立三维模型
  建立三维模型,就是在三维坐标系中画三维场景。利用画点(Point)、画线(Line)、画多边形(Polygon)等函数可以建立复杂的空间模型。在表示三维空间时,一般用齐次坐标(Homogeneous Coordinate)。在实际应用时一般把一系列顶点(Vertex )组织起来以构成物体或图元。
  2.置窗口和视口
  图形显示的区域称为显示窗口。流程顺序为:
 定义一个窗口一般由以下步骤完成:设置窗口模式,设置窗口位置、大小,初始化窗口,窗口颜色设置。
  清理窗口是指把窗口清成某种颜色。
  要观看场景,也需要一个窗口,即视口。通俗地讲,视口变大,场景被放大;视口变小,场景被缩小。
  3.设置光照
  要使物体具有真实感,就要对物体进行光照处理。在计算机图形学中,物体的真实感应考虑两种因素:光源和物体材质。
  光源:对人眼而言,光线照射物体可以看见两种光:反射光和透射光,其中反射光有三个成分:环境反射、漫反射和镜面反射。
  光源的实现过程为:
  常用的有: 环境光、漫反射光、镜面反射光、光源位置、点光源聚光指数、点光源聚光指数、点光源发散角。
  材质:材料的颜色是由物体对R、G、B光的反射率来定义的,它也分为环境光、漫反射光和镜面反射光。
  4. 动画
  三维动画,就是把三维物体通过各种三维图形变换,把它投影到视口中。OpenGL提供双缓存来制作动画。计算机在显示前台缓存中的画面同时,在后台缓存中绘制下一帧画面,需要显示后台缓存中的画面时,只要用函数把前后台缓存交换即可:图形变换常用的函数,有:平移、旋转、放缩。
  三维图形是通过二维视口(屏幕)来观看的,因此,对三维图形要进行投影变换和透视变换。

 

 

三维组态软件开发集成库

  • 2009年08月01日 09:36
  • 3.56MB
  • 下载

三维图形及动画软件开发流程

 三维图形及动画场景的显示,就是把所建立的三维空间模型,经过计算机的复杂处理,最终在计算机二维屏幕上显示的过程。一般,设计三维图形软件要经过以下步骤:   A.图元建立三维模型。(以OpenGL(Op...
  • yanluo129
  • yanluo129
  • 2007年01月10日 21:58
  • 488

三维图形及动画软件开发流程

2001年02月21日 09:03:00   三维图形及动画场景的显示,就是把所建立的三维空间模型,经过计算机的复杂处理,最终在计算机二维屏幕上显示的过程。一般,设计三维图形软件要经过以下步骤...
  • softart
  • softart
  • 2007年10月27日 07:52
  • 263

(17)三维图形几何变换

三维图形的基本变换矩阵 三维图形几何变换是二维图形几何变换的扩展。在三维空间中,用规范化齐次坐标[x  y  z  1]表示三维点,变换原理是把齐次坐标点(x, y, z, 1)通过变换矩阵变换成新...
  • zl908760230
  • zl908760230
  • 2017年01月01日 11:54
  • 396

MFC与DX11结合

现在,要一步步地把以前的DX9代码改成DX11,OK
  • directx3d_beginner
  • directx3d_beginner
  • 2014年01月07日 18:50
  • 1073

OpenGL三维图形编程技术【转】

人们对三维图形技术的研究已经经历了一个很长的历程,而且涌现了许多三维图形开发工具,其中SGI公司推出的GL(Graphics Library)三维图形库表现尤为突出,它易于使用且功能强大。随着计算机技...
  • HOT_Destiny
  • HOT_Destiny
  • 2015年11月25日 21:05
  • 1883

三维图形的几何变换

原理:马华东老师的课件 代码:参考《计算机图形学原理及算法教程(Visual C++版)》—和青芳 typedef double array2d[4][4]; typedef double...
  • u012319493
  • u012319493
  • 2017年01月15日 12:13
  • 632

计算机图形学三维变换、三维观察与消隐算法的实现

由于报告遗失,在此只发代码,望见谅! //立方体透视图—一点透视改进版.cpp #include #include #include #include #include using namespac...
  • xj2419174554
  • xj2419174554
  • 2013年12月20日 17:27
  • 2827

ios 动画与2D、3D绘图

原文:http://www.cnblogs.com/hanjun/archive/2012/11/25/2787682.html 主要是3种方式,Core Animati...
  • u013986849
  • u013986849
  • 2014年07月30日 16:31
  • 467

三维图形几何变换

三维几何变换包括平移、旋转和变比。三维几何变换可以表示为公式,或三维齐次坐标和4×4变换矩阵的乘积。下面分别以公式,矩阵乘积和简记符号来描述三维几何变换。并记变换前物体的坐标为x,y,z;变换后物体的...
  • hlfkyo
  • hlfkyo
  • 2010年04月04日 15:04
  • 4405
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三维图形及动画软件开发流程
举报原因:
原因补充:

(最多只允许输入30个字)