1 / 99
文档名称:

三维对象表示.ppt

格式:ppt   页数:99
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

三维对象表示.ppt

上传人:中国课件站 2011/10/27 文件大小:0 KB

下载得到文件列表

三维对象表示.ppt

文档介绍

文档介绍:第六章
Graphics/VR 2007
三维对象表示
三维对象的表示
Three-Dimensional
Object Representations
如何表示场景中丰富多样的图形对象?
三维表示举例
alpha(.5)
这一章将学习:
三维形体的表示方法
边界表示 B-reps
多面体,规则二次/超二次曲面
样条曲面
细分曲面…
空间分区表示 space-partitioning
结构实体几何法 CSG
八叉树 octree,二叉树 BSP……
基于特征的三维造型
过程方法
扫描表示 sweep representation
分形几何方法 fractal-geometry method
形状语法(基于产生规则) shape grammar……
粒子系统 partical system
基于物理的方法 physically based modeling
数据集可视化 visualization
三维形体的边界表示 B-reps
规则多面体
曲面
二次/三次曲面
样条曲面
细分曲面
边界表示举例
表面三角形描述
构造多面体(polyhedron)
利用OpenGL多边形填充函数
利用GLUT规则多面体函数
glBegin (GL_POLYGON或GL_QUADS);
glVertex* (p1 );
glVertex* (p2 );
.
.
.
glEnd ( );

glutSolidCube (edgeLength);

立方体
举例:利用OpenGL多边形填充函数构造立方体

Typedef GLint vertex3 [3];
vertex3 pt [8]={{0, 0, 0}, …}

Void quad (GLint n1, GLint n2, GLint n3, GLint n4)
{
glBegin (GL_QUADS); //或(GL_POLYGON)
glVertex3iv (pt [n1]);
glVertex3iv (pt [n2]);
glVertex3iv (pt [n3]);
glVertex3iv (pt [n4]);
glEnd ( );
}
Void cube ( )
{
quad (6, 2, 3, 7);
quad (5, 1, 0, 4);
quad (7, 3, 1, 5);
quad (4, 0, 2, 6);
quad (2, 0, 1, 3);
quad (7, 5, 4, 6);
}

z
x
y
0
4
6
2
7
5
3
1
GLUT中的10个规则多面体函数
glut多面体函数
规则多面体
glutWireTetrahedron
线框三棱锥(四面体)
glutSolidTetrahedron
实体三棱锥
glutWireCube
线框立方体
glutSolidCube
实体立方体
glutWireOctahedron
线框八面体
glutSolidOctahedron
实体八面体
glutWireDodecahedron
线框十二面体
glutSolidDodecahedron
实体十二面体
glutWireIcosahedron
线框二十面体
glutSolidIcosahedron
实体二十面体
GLUT规则多面体函数应用示例

#include “”

GLsizei winWidth=500, winHeight=500;
void init (void)
{
glClearColor (,,,);
}
void displayWirePolyhedra (void)
{
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (, , )
gluLookAt (, , , , , , , , )

glScalef (, , );
glutWireCube (); //立方体,以世界坐标系原点为中心,
线框立方体