自由曲线与曲面(II) 计算机科学与技术.

Slides:



Advertisements
Similar presentations
高三英语有效复习策略 程国学. 一、高考备考的方向把握 1. 认真研究普通高中《英语课程标准》和《福建 省考试说明》关注高考命题原则和发展方向,定 准复习教学起点 1. 认真研究普通高中《英语课程标准》和《福建 省考试说明》关注高考命题原则和发展方向,定 准复习教学起点 一是明确高考英语可能考什么,我们应该怎样准.
Advertisements

考纲研读 语言知识要求 语言运用能力 附录 1: 语音项目表 附录 2: 语法项目表 附录 3: 功能意念项目表 附录 4: 话题项目表 附录 5: 词汇表 听力 阅读 写作 口语.
100 學年度 勞委會就業學程 國際企業管理學系-物業管理學程介紹. 何謂物業管理? 以台灣物業管理學會 所述,物業管理區分為 「物」、「業」、「人」三區塊。台灣物業管理學會 「物」係指傳統的建物設備、設施 「業」為不動產經營的資產管理 「人」則以生活服務、商業服務為主,並以人為 本位連結物與業,形成今日物業管理三足鼎立新.
历史的末了(1) 彼后 3:3-7 ……………………….. 8. 历史的末了(1) 我们信什么,还有怎么信?
科学就医健康教育核心信息 健康中国行·科学就医 一、倡导科学就医 二、遵从分级诊疗 三、定期健康体检 四、鼓励预约挂号 五、就医注意事项
图书馆管理实务.
★中国近代史: 1840年————1949年 鸦片战争 新中国诞生 ★历史线索: 1、资本主义列强对中国的侵略 2、中国人民的反抗和探索:
行政命令.
共产党领导的多党合作和政治协商制度: 中国特色的政党制度.
主讲:材料工程学院党总支宣传委员、党务秘书 教工党支部书记 王国志 2015年12月7日
普通高中新课程实验 若干问题 广东省教育厅教研室 吴惟粤 2004年4月29日 广州.
前言 採購程序每一環節所涉及人員,無論是訂定招標文件、招標、審標、決標、訂約、履約管理、驗收及爭議處理,如缺乏品德操守,有可能降低採購效率與品質,影響採購目標之達成,甚有違法圖利情事發生,致阻礙政府政策之推動並損害公共利益。因此,較之一般公務人員,採購人員更需遵循較高標準之道德規範。 主講人:林中財.
欢迎新同学.
2015年新课标高考历史试题分析 暨考试方向研判 李树全 西安市第八十九中学.
课题四 以天池、博斯腾湖 为重点的风景旅游区
“健康的基督徒” 入门.
南台科技大學電子工程系 指導老師:楊榮林 老師 學生姓名:蔡博涵 巨物索餌感測裝置(第II版)
一个中国孩子的呼声.
2015年汕头一模质量分析会 34(1)题分析 濠江区河浦中学 詹金锋 34(2)题分析 汕头市实验学校 董友军
士師逐個捉(II) 石建華牧師 24/07/2016.
宣讲数学课程标准 增强课程改革意识.
高考地理全国卷和安徽卷 的对比分析及备考策略
快乐生活,快乐学习 《中国古代诗歌散文欣赏》.
班級經營之再思 香港班級經營學會 黃鳳意
佛法原典研習 五陰誦 (II) 2007/5/13 整理此報告的方式 : 主要節錄 果煜法師說法之重點.
台大體育概況及課程大綱 黃欽永 教授 台灣大學體育室.
2014年度合肥市中小学生学业质量 绿色指标测试相关情况说明及考务工作要求
普通高中课改方案介绍.
曾一 陈策 重庆大学计算机学院基础科学系 重庆
高三物理后期复习策略 秦皇岛市实验中学 刘苏祥.
理想与现实 有一所大学叫做“社会”,它教会人们奉承比自己强的,挤兑和自己差不多的,欺凌比自己弱的。
101學年度第二學期 呼吸治療學系 師生座談會 102年5月15日.
第七章 机械加工工艺规程的制定.
學校:光春國中 班級:七年三班 製作團隊: 顏序芳 李邰岳 謝宜軒
家庭教育與服務學習.
压缩语段 II.
普通高中课程改革的方案与推进策略 安徽省教育厅 李明阳.
高校人才培养与学科建设的一些探索 徐哲峰 西北大学数学学院 2015年6月30日.
新课程背景下 高中教务主任工作的思考 南京市教学研究室 陆静.
精彩纷呈的 桂剧和彩调 ——桂林地方戏曲赏析.
網路填報系統學生異動轉銜操作及科技化評量6月 成長測驗施測說明
機械工程學系課程地圖 先進材料與精密製造組 設計分析組 校訂共同必修課程 機械系訂 必修課程 組訂 必修課程 畢業專題 工學院訂必修課程
生命轉化 (II) 天父的心 石建華牧師 13/09/2015.
全国高考语文试卷解析 与备考建议 张彬福.
普通高中校本课程开发与实施 崔允漷 教授、博导 普通高中新课程国家级通识研修专题之一 华东师范大学课程与教学研究所副所长
2015年高考病句题 1.(安徽)下列各句中,没有语病的一句是(4分)( )
*§8 反常二重积分 与反常定积分相同, 二重积分亦有推广到积分区域是无界的和被积函数是无界的两种情形, 统称为反常二重积分.
合肥市第47中学 李 恒
帝國主義 法國大革命 、美國革命.
马克思主义基本原理概论 总复习 孔祥旭
摩西五經系列:申命記.
真实感图形 授课教师: 单位:.
檢調機關函調、搜索、約談訊問之認識 (含教師因公涉訟輔助)
日本觀光旅館實習 期間: 2012年7月5日~9月5日 成員: 學生30名+帶隊老師2名.
民法第五章:權利客體 楊智傑.
OpenGL (7) 靜宜大學資工系 蔡奇偉 副教授
Chapter 14.8 Three-Dimensional Object Representations
第十章 Bezier曲线曲面.
摩擦力.
第四章 图元的属性 曾智勇 软件学院.
小太陽兒童人文藝術學院兒童畫展 地點:住院大樓9F、11F外走道( )
排列组合 1. 两个基本原理 分类加法计数原理 分步乘法计数原理.
第三节 常见天气系统.
團體衛生教育護理創意競賽 報告者:護理科 計畫主持人邱馨誼講師
2.3 平面与回转体表面相交 回转体截切的基本形式 截平面 截平面 截交线 截交线.
第 8 章 計量與質性預測變數之迴歸模型.
淺析「標槍運動」技術 指導老師 : 林新龍博士 研究生 : 侯曉寧.
义务教育课程标准实验教科书 小学语文 四年级 下册
百雞問題 製作者:張美玲 資料來源:數學誕生的故事—凡異出版社.
三、 动量和角动量 1 、 质点动量定理 动量 冲量.
Presentation transcript:

自由曲线与曲面(II) 计算机科学与技术

自由曲面 在汽车、飞机、船舶的等产品的外形设计和放样工作中,曲面的应用非常广泛,这些部门对曲面的研究十分重视。从某种意义上讲,曲面的表示可以看作是曲线表示方法的延伸和扩展。 例如: 平面曲线: P(t)= [x(t) , y(t) ] 参数t 空间曲线: P(t)= [x(t) , y(t),z(t) ] 曲面: P(u,w)= x(u,w), y(u,w), z(u,w) 参数u,w

曲面的参数形式 曲面需要两个参数 x=x(u, v) y=y(u, v) z=z(u, v) p(u,v) = [x(u,v), y(u,v), z(u,v)]T 曲面的要求: 平滑性 可导性 易于求值 x y z p(u,0) p(1,v) p(0,v) p(u,1)

法向量计算 分别对u和v求导,得到曲面上一点的p的法向量

平面参数形式 点-向量形式 三点形式 n r p(u,v)=p0+uq+vr n = q x r q p0 n q = p1 – p0 r = p2 – p0

Bezier曲面 Bezier曲面是Bezier曲线的扩展,Bezier曲面的边界线就是由四条Bezier曲线构成的。以两组正交的Bezier曲线控制点构造空间网格来生成曲面。 依次用线段连接点列Pi,j(i=0,1,…,m;j=0,1,…,n)中相邻两点所形成的空间网格称为控制网格

双三次Bezier曲面 三次Bezier曲线段由四个控制点确定,当m=3,n=3时由4×4=16个控制点构成控制网格,其相应的曲面称为双三次Bezier曲面。16个控制点组成一个矩阵:

双三次Bezier曲面 令 P(u,v)=UMPMTVT

双三次Bezier曲面 生成曲面时可以通过先固定u, 变化v得到一簇Bezier曲线;然后固定v,变化u得到另一簇Bezier曲线,两簇曲线交织生成Bezier曲面。

双三次Bezier曲面的拼接 两张双三次Bezier曲面片也可以拼接在一起。其Beizer曲面片表述如下: 两片Bezier曲面的控制多边形。达到G0连续性的条件是: p3, i =q0, i (i = 0, 1, 2, 3)

双三次Bezier曲面的拼接 达到G1连续性的条件是: (i=0,1,2,3)。 一般情况下,在连接处保持一阶导数连续较为困难,要求两个控制多边形中位于交点处的两条边必须共线,但设计中很难做到这一点。 为满足G1连续性的条件的两片Bezier曲面的控制多边形。

OpenGL曲线和曲面 OpenGL通过求值器产生曲线和曲面 可以生成任意自由度的多项式曲线 可以将其他类型的多边形曲线和曲面转换成Bezier曲线和曲面 达到应用要求的精度

OpenGL绘制曲线 设定一维求值器(Evaluator) void glMap1f(   GLenum target,  //生成目标,最终生成绘制点用GL_MAP_VERTEX_3   GLfloat u1,       //贝赛尔曲线模型的参数,这个参数定义域为[0,1] //如果生成完整的贝赛尔曲线必须在整个   GLfloat u2,       //定义域当中生成。U1代表下限,U2代表上限, //一般分别设为0和1   GLint stride,            //每个控制点所使用的浮点数个数   GLint order,             //曲线的阶,等于曲线上的控制点数量   const GLfloat *points       //指向控制点数组的指针 ); glMap1f(GL_MAP1_VERTEX_3, 0.0, 1.0, 3, 4, cpts[i]);

OpenGL绘制曲线

OpenGL绘制曲线 2. 启动求值器函数 glEnable(参数) 参数与设定求值器第一个参数相同 关闭求值器函数 glDisable()

OpenGL绘制曲线 3. 调用计算坐标函数 void glMapGrid1f(   GLint un,      //定义一个均匀分布的网格,它是从u1到u2   GLfloat u1,               //开始的网格点   GLfloat u2                //结束的网格点 ); void glEvalMesh1(   GLenum mode,   //绘图模式,GL_POINT点,GL_LINE线, //GL_FILL填充,当然GL_FILL应该用在曲面   GLint i1,                //开始绘制的网格点   GLint i2                 //结束绘制的网格点 ); 方法二:void glEvalCoord1{fd}[v](TYPE u); 该函数产生曲线坐标值并绘制。参数u是定义域内的值,这个函数调用一次只产生一个坐标。在使用glEvalCoord1*()计算坐标,因为u可取定义域内的任意值,所以由此计算出的坐标值也是任意的。

OpenGL绘制曲线-程序 定义控制点 设定求值器 GLint nNumPoints = 4; GLfloat ctrlPoints[4][3] = {{-0.5f, -0.5f, 0.0f}, {-1.5f, 0.5f, 0.0f}, {1.0f, -0.5f,0.0f}, {0.5f, 0.0f, 0.0f}}; 设定求值器 glMap1f(GL_MAP1_VERTEX_3, 0.0f, 100.0f, 3, //精度的数量 nNumPoints, // &ctrlPoints[0][0]); glEnable(GL_MAP1_VERTEX_3); //启用求值器

OpenGL绘制曲线-程序 方法1:计算坐标- 定义均匀分布的一维坐标值 方法2:计算坐标- 启用的一维求职器执行计算 glMapGrid1d(100, 0.0, 100.0); //定义一个均匀分布的0到100的网格,中间有100个阶段 glEvalMesh1(GL_LINE, 0,100); //从0到100的每一步调用glMapGrid1d函数; 方法2:计算坐标- 启用的一维求职器执行计算 glBegin(GL_LINE_STRIP); for(int i =0; i <= 100; i++) { glEvalCoord1f( (GLfloat)i ); } glEnd();

OpenGL绘制曲线-程序 运行结果

OpenGL绘制曲面 设定二维求值器 void glMap2f(   GLenum target,   GLfloat u1,   GLfloat u2,   GLint ustride,             //u方向上一个控制点与下一个控制点的距离   GLint uorder,             //阶数,等于控制点数量   GLfloat v1,   GLfloat v2,   GLint vstride,            //u方向上一个控制点与下一个控制点的距离   GLint vorder,            //阶数,等于控制点数量   const GLfloat *points );

OpenGL绘制曲面 glColor3f(0.0f, 0.0f, 1.0f); //设置映射方式,只需要设置一次可以在SetupRC中调用。 glMap2f(GL_MAP2_VERTEX_3, //生成的数据类型 0.0f, // u的下界 10.0f, //u的上界 3, //数据中点的间隔 4, //u方向上的阶 0.0f, //v的下界 10.0f, //v的上界 12, // 控制点之间的间隔 4, // v方向上的阶 &ctrlPoints[0][0][0]); //控制点数组 //启用求值器 glEnable(GL_MAP2_VERTEX_3); //从0到10映射一个包含10个点的网格 glMapGrid2f(10, 0.0f, 10.0f, 10, 0.0f, 10.0f); // 计算网格 glEvalMesh2(GL_LINE, 0, 10, 0, 10);