中科大-高级计算机图形学9-2
- 格式:pdf
- 大小:1.04 MB
- 文档页数:47
2011-2012年度第二学期 00106501计算机图形学童 伟 华 管理科研楼1205室E-mail: tongwh@ 中国科学技术大学 数学科学学院 /第五节 多边形网格模型2多边形网格模型 由多边形彼此相接构成的网格多边形称为网格的面,多边形的顶点也称为网格的顶点 z 一般要求两张相邻面的公共边完全相同,即不能出现某一面的一个顶点 在另一面的边中间z 图形学表示一大类实体模型的标准方法立方体 四面体 z 球面、立方体、锥面z3多边形网格的优势 容易表示z数据结构简单 容易变换 性质简单每个面只有一个法向量 z 容易确定内外侧z 容易绘制多边形填充 z 纹理映射z4OpenGL与多边形网格 还有许多其它的模型表示方法z曲面造型 多边形网格是OpenGL接受其它表示的中转站利用曲面造型,曲面需要被多边形网格逼近,OpenGL才能显示曲面 z 例如:球面z5多边形网格示例需要每个面显示成平 坦的效果,边应当显 示出来上下底应当平坦,侧 面显示不光滑利用一些显示算法可 以使侧面呈现光滑的 效果6多边形网格的类型 实体z多边形网格形成一个封闭的空间区域 不形成空间封闭区域,表示一个无限薄的曲面 表面z 两者都称为多边形网格(polygonal mesh),有时简 称为网格7网格的性质 给定一个由顶点、法向和面表组成的网格,那么它所 表示的对象是什么呢?下列是感兴趣的性质:实体:如果网格形成一个封闭的有界区域 z 连通性:如果任两个顶点间存在着由边构造的连续路径 z 简单性:表示一个实体,而且没有洞,即可以没有粘贴变形到球面 z 平面性: 如果所有面都是平面多边形 有些算法对平面多边形更有效 因此三角网格非常实用z8网格的性质(续) 凸性:网格表示凸体9性质的检测与应用 有些性质比较容易检测,即存在简单算法,而有些性 质则比较难以判断z例如判断网格是否表示实体不是一件简单的事情 用来表示对象的网格可以具有上述性质中的某几个或 全部关键在于用网格做什么 z 如果网格用来表示用某些材料构成的物理模型,那么就需要它至少是连 通和实体 z 处于艺术角度考虑,网格完全可以表示非物理的实体z10网格实例环体 具有所有的 性质 四面体 连通的实体, 但不是简单的 和凸的不可能的物体谷仓11非实体的网格表示开口盒子 瓶口 人脸12如何得到网格 存在实体的扫描z得到实体上的点,然后采用一定的算法形成网格 直接对网格进行造型是非常困难的 几何造型软件可以把曲面转化为近似的网格表示 任何表面都可以用多边形网格逼近到任意光滑精度, 这称为多边形网格的完备性13网格的表示 考虑网格v6 e1 v1 e2 e8 e7 e6 e11 e9 v8 v7 e12 v2 v5 e3 e10 v4 e4 v3 有8个节点和12边条ze55个内部多边形 z 6条内边(两个多边形共享的边) 每个顶点有一个位置vi = (xi, yi, zi),各顶点不必共面, 但对于简单网格,同一多边形的各顶点应当共面14简单表示 用每个多边形的各顶点的几何位置定义多边形 由此可有如下的OpenGL代码glBegin(GL_POLYGON); glVertex3f(x1,y1,z1); glVertex3f(x6,y6,z6); glVertex3f(x8,y8,z8); glVertex3f(x7,y7,z7); glEnd(); 无效且无结构z考虑移动一个顶点时会导致何种复杂操作15多边形的内外面 对于OpenGL而言,{v1,v6,v8,v7}顺 序的顶点与{v6,v8,v7,v1}顺序的顶 点定义等价的多边形,但是 {v7,v8,v6,v1}则定义不同的多边形 上述两种方式定义的多边形分别 称为多边形的内与外 利用右手法则判别 OpenGL可以把多边形的内外面 用完全不同的模式处理16几何与拓朴 一般来说,在数据结构中把几何与拓朴区分开是一个 非常好的想法几何:顶点的位置 z 拓朴:顶点和边的组织 z 例如:多边形就是顶点的有序列表,其中每条边以相邻的顶点为端点, 同时最后一个顶点与第一个顶点连接 z 即使几何信息改变了,拓朴信息可以保持不变z17顶点表 把几何位置放在一个数组中 用各顶点构造边时,利用指向各顶点的指针 引入多边形表x1, y1, z1 v1 v6 v8 v7 v6 v5 v8 拓朴 x2, y2, z2 x3, y3, z3 x4, y4, z4 x5, y5, z5 x6, y6, z6 x7, y7, z7 x8, y8, z8 几 何P1 P2 P3 P4 P518公共边 根据顶点列表可以正确地绘制多边形,但是如果只绘 制多边形的边,那么公共边就会被画两次 可以用边表存贮网格19边表e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 v1 v6 x1, y1, z1 x2, y2, z2 x3, y3, z3 x4, y4, z4 x5, y5, z5 x6, y6, z6 x7, y7, z7 x8, y8, z8 注意:没有表示出来多边形v6 e1 v1e2 e8 e7 e6 e11 e9 v8v5e3 v4 e10 e4 v3v7 e12 v2e520立方体 为立方体旋转程序建立彩色立方体1 5 2 4 0 3 7 6定义顶点和颜色的全局数组GLdouble vertices[][3]= {{-1.0, -1.0, -1.0},{1.0,-1.0,-1.0},{1.0,1.0,-1.0}, {-1.0,1.0,-1.0},{-1.0,-1.0,1.0}, {1.0,1.0,1.0},{1.0,1.0,1.0}, {-1.0,1.0,1.0}}; GLdouble colors[][3]={{0.0,0.0,0.0},{1.0,0.0,0.0}, {1.0,1.0,0.0},{0.0,1.0,0.0},{0.0,0.0,1.0},{1.0,0.0,1.0}, {1.0,1.0,1.0},{0.0,1.0,1.0}};21根据指标列表绘制多边形 根据在数组vertices中的一组指标绘制一个四边 形,颜色对应于第一个指标void polygon(int a, int b, int c, int d) { glBegin(GL_POLYGON); glColor3dv(colors[a]); glVertex3dv(vertices[a]); glVertex3dv(vertices[b]); glVertex3dv(vertices[c]); glVertex3dv(vertices[d]); glEnd(); }22利用表面绘制立方体void colorcube() { polygon(0,3,2,1); polygon(2,3,7,6); polygon(0,4,7,3); polygon(1,2,6,5); polygon(4,5,6,7); polygon(0,1,5,4); }5 1 4 0 3 2 7 6注意顶点的顺序保证表面的法向指向正确的方向,即立方体的外侧23效率 这种方法的缺陷在于为了在应用程序中建立模型,需 要进行很多次函数调用才能绘制立方体 通过表面绘制立方体,最直接的方式需要6个glBegin和6个glEnd z 6个glColor z 24个glVertex z 如果应用纹理和光照的话还会更多z24顶点数组 OpenGL提供了一种功能,称为顶点数组(vertex arrays),利用这种功能可以存贮数组数据 支持六种类型的数组z z z z z z顶点 RGB颜色 索引颜色 法向 纹理坐标 边标志 我们将只需要RGB颜色与顶点数组25初始化 为了利用颜色与顶点数据,首先激活相应功能glEnableClientState(GL_COLOR_ARRAY); glEnableClientState(GL_VERTEX_ARRAY); 标识数组的位置glVertexPointer(3, GL_DOUBLE, 0, vertices);三维 数组存贮为双 精度数数据是连 接存放的数据所在 的数组glColorPointer(3, GL_DOUBLE, 0, colors);26根据指标对应到面 构造表面指标的数组GLubyte cubeIndices[24]={0,3,2,1,2,3,7,6, 0,4,7,3,1,2,6,5,4,5,6,7,0,1,5,4}; 每四个相邻的指标描述立方体一个表面 利用glDrawElements取代在显示回调函数中所有的 glVertex和glColor进行绘制27绘制立方体 方法一for(i=0; i<6; i++) glDrawElements(GL_POLYGON, 4, GL_UNSIGNED_BYTE, &cubeIndices[4*i]);指标数据 的开始绘制对 象类型指标的 数目指标数据 的格式 方法二glDrawElements(GL_QUADS,24, GL_UNSIGNED_BYTE, cubeIndices);只需要一次函数调用就绘制出来立方体!!!28顶点法向与面法向 在提供多边形网格的顶点及其相连信息的同时,应当 同时给出每个面的法向 在实际使用时,更有优势的方法是把法向与顶点关联 在一起,即点法向多边形的裁剪算法 z 明暗处理算法z OpenGL采用的是点法向29点法向与面法向30法向计算 顶点可以由用户输入,但是法向计算不是很直接z有时候法向可以来自于更数学的模型,例如曲面被网格逼近时,可以用 原来曲面的法向作为所需要的法向 如果需要把某一面显示为平坦的效果,那么只要得到 该面所在平面的法向就可以了 假设某面上连续三点为V1, V2, V3, 那么n = (V1 – V2) × (V3 – V2)就是所需要的法向z必要时进行单位化31简单方法的问题 如果所采用的两个向量几乎平行,会导致数值不稳定 结果 如果多边形不是完全共面,那么所采用的法向不具代 表性32Martin Newell方法 假设各顶点依次为(xi, yi, zi), i = 0, 1, …, N – 1. n = (nx, ny, nz)为所需要确定的法向,则n x = ∑ ( yi − ynext ( i ) )( zi + znext ( i ) )i =0 N −1 N −1 i =0n y = ∑ ( zi − znext ( i ) )( xi + xnext ( i ) ) nz = ∑ ( xi − xnext ( i ) )( yi + ynext ( i ) )i =0 N −133多面体 多面体是由简单表面(平面)构造的连通网格,其形 成一个有限体积的封闭实体多面体的每边都有两个面共享 z 每个顶点至少有三条边 z 两个面之间要么无交,要么只在公共边或顶点处相交z 四面体为多面体,环面为多面体当且仅当各面为平面34Euler公式 对于简单多面体: V + F – E =2顶点数:V, 面数: F, 边数: E z 例如,立方体:V=8, F=6, E=12z 如果多面体不是简单的,在面上有H个洞,通过多面 体的洞有G个,那么 V + F – E = 2 + H – 2G35Euler公式示例V = 16, F = 16, E = 32, H = 0, G=1V = 24, F = 15, E = 36, H = 3, G=136Schlegel示意图 视点位于多面体外,恰好在过某一面中心的法线上,这时形成 的中心投影就是多面体的Schlegel示意图37示例四面体谷仓谷仓视点在哪儿?38正多面体 如果多面体的所有面是全等的,而且每个都是正多边 形,那么称之为正多面体 可以证明只有五种正多面体,称为Plantonic体 由Planto (427—347BC)给出,但在此之前就发现 了十二面体玩具39正多面体40Thanks for your attention!41。
中科大科学岛计算机考数学二
1。
一般的,如果函数那么,。
这就是微积分基本定理,也叫牛顿--莱布尼兹公式。
也记作:=。
2.计算下列定积分:
=。
3、由上题可以发现,定积分的值可能取。
(l)当对应的曲边梯形位于x轴上方时如下图,定积分的值取,且等于。
(2)当对应的曲边梯形位于x轴下方时如下图,定积分的值取,且等于。
(3)当位于x轴上方的曲边梯形面积等于位于x轴下方的曲边梯形面积时如下图,定积分的值为,且等于
4、按万有引力定律,两质点间的吸引力,k为常数,
为两质点的质量,r为两点间距离,若两质点起始距离为a,质点m1沿直线移动至离m2的距离为b处,试求所作之功(b>a)。
5、曲线与直线所围成的图形(阴影部分)的面积等于。
6.=。
1、计算下列定积分:
(1)
解:解:
2。
计算下列定积分:
(1)(2)
(3)(4)
(5)(6)
(7)(8)
1.=()
A.5 B。
4 C。
3 D。
2
2.=()
A.B。
C。
D。
3.若,且a>1,则a的值为()
A.6 B。
4 C。
3 D。
2
4.已知自由落体运动的速率v=gt,则落体运动从t=0到t=t0所走的路程为()
A.B.C.D.
8.计算下列定积分的值
(1);
(2);
(3)。
中科大数学研究生研究方向摘要:一、引言二、中科大数学研究生研究方向概述1.基础数学2.应用数学3.计算数学4.概率论与数理统计5.统计学6.金融数学与金融工程7.数据科学与人工智能三、各研究方向简介1.基础数学1.数学分析2.高等代数3.数学建模2.应用数学1.优化理论与方法2.生物数学3.信息与控制理论3.计算数学1.数值分析2.计算机图形学3.数学软件与算法设计4.概率论与数理统计1.随机过程2.统计推断3.风险管理与风险分析5.统计学1.描述性统计2.推断性统计3.非参数统计6.金融数学与金融工程1.衍生品定价2.量化投资3.风险管理与监管7.数据科学与人工智能1.机器学习2.深度学习3.自然语言处理四、结语正文:随着科技的飞速发展,数学在各个领域的应用越来越广泛,中科大的数学研究生研究方向也因此丰富多彩。
在这里,我们将介绍中科大数学研究生的一些主要研究方向,以帮助有兴趣的同学更好地了解并选择适合自己的研究领域。
一、引言在当今时代,数学已经成为推动科技进步的重要力量。
中科大作为我国顶尖学府,其在数学研究领域具有深厚的积淀和优势。
本文将简要概述中科大数学研究生的研究方向,并分别对其进行详细介绍。
二、中科大数学研究生研究方向概述中科大数学研究生研究方向主要包括基础数学、应用数学、计算数学、概率论与数理统计、统计学、金融数学与金融工程、数据科学与人工智能等。
下面我们将对这些方向进行简要概述。
1.基础数学基础数学研究包括数学分析、高等代数、数学建模等领域。
这些研究方向注重理论研究,为其他数学领域提供基础性支撑。
2.应用数学应用数学研究领域包括优化理论与方法、生物数学、信息与控制理论等。
这些方向注重数学在实际问题中的应用,以解决实际问题为己任。
3.计算数学计算数学研究主要包括数值分析、计算机图形学、数学软件与算法设计等。
这些方向关注数学与计算机科学的交叉,为各类问题提供高效的计算方法。
4.概率论与数理统计概率论与数理统计研究方向包括随机过程、统计推断、风险管理与风险分析等。
中科大各专业课表中科大各专业课表一、计算机科学与技术专业课表1. 第一学年- 秋季学期- 高等数学- 线性代数- 大学物理- 大学英语- 计算机导论- 春季学期- 概率论与数理统计- 离散数学- 数据结构与算法分析- 面向对象程序设计2. 第二学年- 秋季学期- 计算机组成原理- 操作系统原理与设计- 计算机网络原理与应用 - 春季学期- 编译原理与技术基础- 数据库系统原理与应用3. 第三学年- 秋季学期- 软件工程基础与实践- 春季学期- 人工智能基础- 计算机图形学基础4. 第四学年秋季学期- 分布式系统原理与设计- 计算机安全技术5. 第五年春季学期- 毕业设计二、电子信息工程专业课表1. 第一学年秋季学期- 高等数学- 大学物理- 大学英语- 电路理论基础春季学期- 概率论与数理统计- 信号与系统分析2. 第二学年- 秋季学期- 数字电路与逻辑设计- 模拟电子技术基础- 春季学期- 电磁场与电磁波理论3. 第三学年- 秋季学期- 微机原理与接口技术- 春季学期- 通信原理与应用4. 第四学年- 秋季学期- 无线通信技术基础5. 第五年春季学期- 毕业设计三、化工专业课表1. 第一学年秋季学期- 高等数学- 大学物理- 大学英语2. 第二学年秋季学期- 物理化工基础春季学期- 有机化工基础3. 第三学年秋季学期- 化工热力基础春季学期- 化工原理与计算机模拟4. 第四学年秋季学期- 化工过程控制与仪表春季学期- 化工设备与流程设计5. 第五年春季学期- 毕业设计四、土木工程专业课表1. 第一学年秋季学期- 高等数学- 大学物理- 大学英语2. 第二学年秋季学期- 工程力学基础- 材料力学基础- 土力学基础春季学期- 结构力学基础3. 第三学年秋季学期- 钢筋混凝土结构设计基础 - 岩土工程基础4. 第四学年秋季学期- 桥梁工程基础5. 第五年春季学期- 毕业设计五、生物科学与技术专业课表1. 第一学年秋季学期- 高等数学- 大学物理- 大学英语2. 第二学年秋季学期- 生物化学基础春季学期- 细胞生物学基础3. 第三学年秋季学期- 分子生物学基础春季学期- 生物信息学基础4. 第四学年秋季学期- 生物工程原理与应用5. 第五年春季学期- 毕业设计六、总结以上是中科大各专业的课表安排。