版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE《计算机图形学》课程教学设计《计算机图形学》课程教学设计多边形裁剪算法课时1学时(45分钟)教学目标了解多边形裁剪的含义,熟悉多边形边与窗口边界位置关系及保留顶点的方式,掌握逐边裁剪算法,要求学生能够编程实现多边形的裁剪。学情分析学生已掌握线段裁剪算法,但多边形裁剪不等同于多条线段裁剪的结果,由此引入多边形裁剪算法。教学重点及难点重点:逐边裁剪算法的过程难点:编程实现多边形逐边裁剪算法课程资源主要资源:教材、演示软件、课件网上资源:/course/203432320.html教学内容与过程教学方法及策略[课程导入]在画图软件的编辑区域绘制一多边形,在”选择”按钮下单击”矩形选择”,可通过一个矩形框对多边形进行裁剪,将多边形裁剪成框内部分和框外部分,只保留框内部分。提问:裁剪过程是如何实现的?[教学内容与设计]多边形的逐边裁剪算法[PPT展示]:1、多边形裁剪的含义[提问]:多边形裁剪等于线段裁剪的组合?如右图。将多边形的每条边按线段裁剪算法进行裁剪,得到两条线段。事实上,多边形用矩形窗口裁剪后,是封闭的多边形。所以,多边形的裁剪不等于线段裁剪的组合即多边形的裁剪不能再用线段裁剪算法。在裁剪过程中,不仅要求出多边形的边和裁剪窗口交点,还要增加一些顶点,形成一个封闭的多边形。重点:2、逐边裁剪算法思路每次用窗口的一条延长边对多边形裁剪,保留窗口内侧多边形,作为下一次待裁的多边形,再逐次用其他边界裁剪得到图形。[提问]边与裁剪线的位置关系有几种?分组讨论。提出问题,启发学生思考,引出本堂课的内容。问题:①边与裁剪线的位置关系②裁剪时,交点、顶点按序连线约定:以最后一个点为起点,第一个点为终点,该边作为被裁剪的第一条[例]用逐边裁剪法裁剪多边形PPT展示裁减过程。【应用案例】蜂窝图形放大的裁剪多个正六边可以组成蜂窝图形,蜂窝是蜜蜂的蜂巢,蜜蜂象征勤劳、团结、自律等。1)正六边形的绘制2)正六边形的平移及存储3)蜂窝图形的放大并裁剪动画处理难点:3、逐边裁剪法编程20′设多边形顶点Pi(i=0,1,2…n),以左边界裁剪为例将最后一个点Pn作为第一个点的前一个点for(i=0;i<n;i++)if(当前点Pi在内) if(前一点在外)计算交点作为新顶点添加当前点为新点else当前点Pi在外 if(前一点在内) 计算交点作为新顶点再按相同的办法,使用上边界、右边界、下边界对多边逐次裁剪,最后得到裁剪结果。演示程序。总结:2′重点:每次用窗口的一条延长边对多边形裁剪,保留新顶点顺序并按序连线。难点:编程实现多边形逐边裁剪算法。【课堂作业】画出用逐边裁剪法实现图中多边形的裁剪过程,每次用一条裁剪边进行裁剪,并标出新的顶点顺序。采用多媒体演示与板书相结合的方式,多媒体展示裁剪过程,板书描述程序设计的关键步骤,帮助学生理解知识点。在讲解案例的过程中,突出重点并引出难点,引导学生课堂讨论,思考问题。应用案例体现思政课后实验画出用逐边裁剪法实现图中多边形的裁剪过程,每次用一条裁剪边进行裁剪,并标出新的顶点顺序。预习任务Bezier曲线教学反思采用图片展示、程序演示等多种手段相结合,充分调动学生的积极性和思维能动性。尤其重难点部分,通过实例讲解、提问讨论和课后作业的方式,加深学生的理解。
授课题目Bezier曲线生成算法课时1学时(45分钟)教学目标了解Bezier曲线的定义,熟悉Bezier曲线的的作图方式,掌握Bezier曲线生成算法,要求学生能够编程绘制n次Bezier曲线。学情分析学生已掌握规则曲线的生成算法,如圆或椭圆,对不规则曲线没有认识,本次课以Bezier曲线为例,介绍不规则曲线生成算法。教学重点及难点重点:三次Bezier曲线生成算法难点:编程实现n次Bezier曲线课程资源主要资源:教材、演示软件、课件网上资源:/course/203432320.html教学内容与过程教学方法及策略[课程导入]在画图软件的运行界面,当我们点击曲线图标,在编辑区域拖动鼠标,就可画出一条曲线,那么这根曲线是如何生成?任务:绘制一根由多个点控制的曲线。[教学内容与设计]Bezier曲线生成算法[PPT展示]:1、Bezier曲线的定义给出几个点,将点按序连接,形成一组多边形折线,称为控制多边形,根据控制多边形的点可生成一条Bezier曲线,如图,曲线的起点就是控制多边形的第一个点,曲线的终点就是控制多边形的最后一个点。[提问]:曲线上的其它点如何确定位置呢?定义:给定空间n+1个点的位置矢量Pi(i=0,1,…,n),Bezier曲线上各点的坐标公式:Pi代表第i+1个点,Bi,n(t)为n次基函数或加权函数,公式如下:通过基函数可得控制点对曲线的影响大小。n表示曲线的阶次,n+1个点为n次Bezier曲线T从0至1变化。重点:2、三次Bezier曲线的绘制公式展开:x(t)=x0B0,n(t)+x1B1,n(t)+x2B2,n(t)
+…+xnBn,n(t)y(t)=y0B0,n(t)+y1B1,n(t)+y2B2,n(t)
+…+ynBn,n(t)课堂开始提出课题任务,引导学生寻求解决办法。通过课件的动画效果将抽象的理论知识直观地展示出来,使学生更好理解.B0,3(t)=(1-t)3B0,3(t)=(1-t)3B1,3(t)=3t(1-t)2B2,3(t)=3t2(1-t)B3,3(t)=t3公式如右图:则可得到三次Bezier曲线公式:x(t)=x0(1-t)3+x13t(1-t)2+x23t2(1-t)+x3t3y(t)=y0(1-t)3+y13t(1-t)2+y23t2(1-t)+y3t3pDC->MoveTo(x[0]pDC->MoveTo(x[0],y[0]);for(t=0;t<=1.001;t=t+0.1){b03=(1-t)*(1-t)*(1-t);b13=3*t*(1-t)*(1-t);b23=3*t*t*(1-t);b33=t*t*t;xe=b03*x[0]+b13*x[1]+b23*x[2]+b33*x[3];ye=b03*y[0]+b13*y[1]+b23*y[2]+b33*y[3];pDC->LineTo(xe,ye);}曲线起点为多边形起点for(t=0;t<=1.001;t=t+0.1){计算基函数b03、b13、b23、b33;代入公式求曲线上的点连线}[板书]:主要代码如右图。演示程序,分析结果。难点:3、n次Bezier曲线程序设计算法如下:pDC->MoveTo(x[0],y[0]);pDC->MoveTo(x[0],y[0]);for(t=0;t<=1.001;t=t+0.01){xe=0;ye=0;for(i=0;i<=n;i++){bh=b(i,n,t);xe=xe+x[i]*bh;ye=ye+y[i]*bh;}pDC->LineTo(xe,ye);}for(t=dt;t<=0;t=t+dt){xe=0,ye=0;for(inti=0;i<=n;i++){计算基函数B(i,n,t)xe=xe+x[i]*B;ye=ye+y[i]*B;} 画线 }}4Besize曲线段的拼接11个控制点生成10次Bezier曲线,阶次较高,除了起点和终点,曲线离控制点较远。考虑用多个低阶次Bezier曲线段拼接。加点用九段二次Bezier曲线。5.反算Bezier曲线的控制点t=i/n,n+1个方程解线性方程组,求出xi(i=0,1,…n)应用实例:从图像中获取叶片的边界像素反算控制点,得边界方程。总结:特点:曲线的起点就是控制多边形的第一个点,曲线的终点就是控制多边形的最后一个点改变一个控制点,Bezier曲线上的点坐标都改变。以完成任务为主线,在任务的驱动和老师的引导下,通过提出解决问题的思路等方式获得知识。该方法不仅培养了学生主动学习的能力及发现问题、分析问题、解决问题的能力,而且能够激发学生的学习积极性和创新精神。课后实验编程实现n次Bezier曲线的绘制预习任务B样条曲线教学反思采用循序渐进的方式讲授教学内容,从简单到复杂,由三次Bezier曲线拓展到n次Bezier曲线,使学生逐步掌握知识点。
授课题目B样条曲线生成算法课时1学时(45分钟)教学目标了解B样条曲线的定义,掌握二次样条曲线生成算法,熟悉曲线的扩充过程,要求学生能够编程绘制二次Bezier曲线。学情分析学生已掌握Bezier曲线生成算法,Bezier曲线不能做局部修改,由此引入B样条曲线,可做局部修改教学重点及难点重点:二次B样条曲线生成算法难点:B样条曲线程序设计课程资源主要资源:教材、演示软件、课件网上资源:/course/203432320.html教学内容与过程教学方法及策略[知识回顾]Bezier曲线:修改控制多边形任意一个点的坐标,会影响曲线上所有点的坐标。缺点:Bezier曲线不能做局部修改。[教学内容与设计]B样条曲线生成算法[PPT展示]1、B样条曲线的定义Pi(i=0,1,…,n)是控制多边形的顶点,Ni,k(t)(i=0,1,…,n)称为k阶(k1)次B样条基函数。B样条的基函数由Cox-deBoor递推公式定义为(约定0/0=0)(tk-1≤t≤tn+1)ti是节点值,T=[t0,t1,…,tn+k]构成了k阶B样条函数的节点矢量,其中的节点是非递减序列。重点:2、二次均匀周期B样条曲线(1)均匀周期样条曲线。均匀:节点矢量ti=i(i=0,1,2,…,n+k),ti–ti+1=常数。周期:所有基函数形状一样,都可由其中一个基函数平移得到。Ni,k(t)=Ni1,k(t1)=Ni+1,k(t+1)如图所示为4个周期性二次基函数。回顾上次课的内容,分析算法的优缺点,在此基础上,提出B样条曲线的概念。让学生带着问题来学习新的知识点。举例:给定如图所示的5个控制点,则由它们控制的二次B样条曲线有3段,由P0、P1、P2控制的二次B样条曲线为P(t)=P0(1t)2/2+P1(t2+t+1/2)+P2t2/2当t=0时,P(0)=0.5P0+0.5P1(为P0P1的中点)当t=1时,P(1)=0.5P1+0.5P2(为P1P2的中点)二次B样条曲线经过控制多边形各边的中点,各段曲线在各边的中点处一阶连续,其所共有的切线就是控制多边形的边。难点:3、二次均匀周期B样条曲线程序算法如下:曲线起点为多边形第一条边的中点for(i=0;i<n-2;i++)//控制段数for(t=0;t<=1.001;t=t+0.1){计算基函数n0、n1、n2;代入公式求曲线上的点连线}4均匀周期三次B样条曲线三次B样条曲线表达式:P(t)=Pi(-t3+3t2-3t+1)/6+Pi+1(3t3-6t2+4)/6+Pi+2(-3t3+3t2-3t+1)/6+Pi+3t3/6[例1]已知控制多边形如下,画出由其控制的二次B样条和三次B样条曲线示意图。通过版书绘制讲解【例2】已知二次B样条曲线通过以下几点,求出控制这条二次B样条曲线的控制点。(答案不唯一)总结:B样条方法,在保留Bezier方法全部优点的同时,克服了Bezier方法的弱点。可扩充、可局部修改。杜绝“满堂灌”的授课方式,注重激发学生学习积极性。尽量通过实例,采用互动方式使学生一边接受知识要点,一边自主思考,参与讨论,调动学习主动性。课后实验绘制二次B样条曲线预习任务规则曲面的绘制教学反思采用“教师为主导、学生为主体”教学方法,教师引导学生思考,分析、解决问题,增强学生学习的主动性。
授课题目规则曲面生成算法课时1学时(45分钟)教学目标掌握规则曲面生成算法,要求学生能够编程绘制简单的旋转网格曲面。学情分析学生已掌握曲线的生成算法,根据现实生活中的一些物体,引入旋转曲面网格生成算法。教学重点及难点重点:圆球面网格生成算法难点:不规则参数曲线旋转曲面课程资源主要资源:教材、演示软件、课件网上资源:/course/203432320.html教学内容与过程教学方法及策略[课程导入]给出旋转曲面网格图形,与生活中的一些物体联系,使学生了解此次课程内容在日常中的应用。如图。[教学内容与设计]旋转曲面网格生成算法[PPT展示]:1、旋转曲面定义曲线Q(称为母线)绕一个定直线旋转一周所形成的曲面称为旋转曲面。设曲线Q上任一点P(x,y,0),绕y轴旋转v角后变为[板书]推出公式:=xcosv=y=xsinv将母线参数方程代入上式得旋转面的一种通用参数方程:=x(u)cosv=y(u)=x(u)sinv重点:网格圆球面的绘制公式:x=x0+Rcosucosvy=y0+Rcosusinvz=z0+Rsinuu[90,90]v[0,360]根据圆球面的参数方程,可计算球面上任一点三维坐标。课堂开始提出课题任务,引导学生寻求解决办法。板书推导公式,与学生共同完成。将平面分成若干个小平面片,当u、v值确定,代入参数方程求出平面片的四个点坐标,将点按序连线形成平面片。u、v循环,可得出整个平面网格。注意:du、dv的值不能太大,否则会出现多边形曲面的效果。[板书]关键代码:for(v=0;v<=6.28-dv/2;v=v+dv)for(u=-1.57;u<=1.57-du/2;u=u+du){U[0]=u,V[0]=v,U[1]=u+du,V[1]=v,U[2]=u+du,V[2]=v+dv,U[3]=u,V[3]=v+dv;for(i=0;i<4;i++)x[i]=r*cos(U[i])*cos(V[i]),y[i]=r*sin(U[i]),z[i]=r*cos(U[i])*sin(V[i]);x[4]=x[0],y[4]=y[0];pDC->MoveTo(x[0],y[0]);for(i=1;i<=4;i++)pDC->LineTo(x[i],y[i]);}演示程序,效果如右图。同理绘出圆环曲面、圆柱曲面、圆锥曲面、圆台曲面应用案例1:模拟“中国天眼”形状中国天眼,500米口径球面射电望远镜,世界上最大射电望远镜,总面积相当于30个标准足球场,开创了建造巨型望远镜的新模式,突破了传统望远镜的百米工程极限,铸就了独一无二、世界领先的超级工程,成为当今世界上最灵敏的射电望远镜。1994年构思,2016年建成,南仁东总负责。应用案例2:台灯的模拟灯罩使用圆台面模拟,灯泡使用椭球模拟,灯座使用圆柱面与圆台面组合【思考】不规则参数旋转曲面以一个自由度运动的轨迹形成的曲线为母线,进行旋转生成的曲面。[举例],酒杯网格曲面,如图。母线:B样条曲线。程序中给出错误,让学生调试程序并改正错误,然后分析、总结错误类型和原因,从而不断提高学生调试、修改程序的能力。应用案例引入思政元素,提高学生民族自豪感。课后实验编写程序,绘制柱面、锥面等旋转曲面。预习任务自由曲面的绘制教学反思通过模拟“中国天眼”外形,介绍其特点、作用,体现科技强国的作用。
授课题目自由曲面网格生成算法课时1学时(45分钟)教学目标理解双线性曲面、单线性曲面、Bezier与B样条曲面的含义,掌握用曲面片生成曲面的算法,要求学生能够编程绘制参数曲面。学情分析学生已掌握规则网格生成算法,但生活中经常用到自由曲面,引入各种自由曲面网格生成算法。教学重点及难点重点:Bezier与B样条曲面难点:Bezier与B样条曲面课程资源主要资源:教材、演示软件、课件网上资源:/course/203432320.html教学内容与过程教学方法及策略[课程导入]给出各性曲面网格图形,与生活中的一些物体联系,使学生了解此次课程内容在日常中的应用。[教学内容与设计]自由曲面网格生成算法[PPT展示]:1、双线性曲面网格简介已知任意4个角点的坐标值,下式是关于u、v都是线性的x(u,v)=x00(1-u)(1-v)+x01(1-u)v+x10(1-v)u+x11uvy(u,v)=y00(1-u)(1-v)+y01(1-u)v+y10(1-v)u+y11uvz(u,v)=z00(1-u)(1-v)+z01(1-u)v+z10(1-v)u+y11uv【图形展示】双线性曲面就是两簇直线段的叠加曲面2单线性曲面单线性曲面是曲面的参数方程是关于u或v是线性的,而关于另一个参数是非线性的。下列方程是关于v线性、关于u非线性的单线性曲面,其中g(u)、h(u)是空间中任意两条曲线。采用启发式授课方法,培养学生分析问题和解决问题的能力。x=(1v)gx(u)+vhx(u)y=(1v)gy(u)+vhy(u)z=(1v)gz(u)+vhz(u)v[0,1]u[u1,u2]直线以一个自由度运动的轨迹形成的曲面称为直纹面,最简单的直纹面是平面、锥面和柱面。当g(u)与h(u)都为二次B样条曲线时,且控制点分别为(gx(i),gy(i))(i=0,1,2,…,n),(hx(i),hy(i))(i=0,1,2,…,n)(设投影面为z=0面,所以只考虑x、y两个方向的值),单线性曲面可表示为x=(1v)(gx(i)(1u)2/2+gx(i+1)(2u2+2u+1)/2+gx(i+2)(u2/2))+v(hx(i)(1u)2/2+hx(i+1)(2u2+2u+1)/2+hx(i+2)(u2/2))y=(1v)(gy(i)(1u)2/2+gy(i+1)(2u2+2u+1)/2+gy(i+2)(u2/2))+v(hy(i)(1u)2/2+hy(i+1)(2u2+2u+1)/2+hy(i+2)(u2/2))u,v[0,1],i=0,1,2,…,n2该曲面由一簇直线和一簇曲线产生。演示程序,分析结果。3Bezier曲面Bezier曲面由一个多面体控制其形状,方程如下:分析特点:在双三次Bezier曲面中,需给定的16个顶点。4个角点p00、p03、p30和p33在曲面上;其余顶点均不在曲面上。重点:2、绘制双三次Bezier曲面给出不同的控制点坐标,得到不同的双三次Bezier曲面。4、均匀周期二次B样条曲面分析特点:在二次B样条曲面的其中一个面片中,面片的四个顶点分别是四个四边形的中心点。运行程序,比较不同曲面效果图。5、应用案例′模拟口罩形状分析:可用双三次Bezier曲面+单线性曲面模拟;口罩是一种个人防护用品,在日常生活中应用较广泛。总结:双线性曲面、单线性曲面、Bezier曲面、B样条曲面各自特点。板书写出主要代码,与学生互动完成。采用提问、对现有程序改进、查找错误等方式,提高学生分析和解决问题的能力。课后实验编写程序,绘制不规则网格曲面。预习任务凸多面体消隐教学反思通过课后实验、任务,使所学知识得以巩固,帮助学生能够运用所学知识点来解决具体的问题。
授课题目凸多面体消隐线算法课时2学时(90分钟)教学目标了解隐藏线和隐藏面的概念,熟悉三维物体数据的存放方式,掌握Roberts消除隐藏线算法,要求学生能够使用算法编程对长方体进行消隐。学情分析学生已掌握投影变换过程,但投影效果图存在歧义,引入Roberts消隐线算法对投影图进行消隐。教学重点及难点重点:利用Roberts算法消除自身隐藏线难点:投影的消隐程序设计课程资源主要资源:教材、演示软件、课件网上资源:/course/203432320.html教学内容与过程教学方法及策略[课程导入]给出一个立方体的投影图,存在二义性。如何消除这种二义性,可通过消隐去掉不可见的线和面。[教学内容与设计]Roberts消隐线算法[PPT展示]:1、Roberts消隐算法简介第一个闻名的隐藏线消除算法,要求画面中物体是凸多面体。重点:2、Roberts消隐算法步骤1)计算各平面法向量假设平面方程为aix+biy+ciz+di=0(i=1,2,…6)使各平面法向量(ai,bi,ci)方向指向多面体外部已知平面上不同线的3个点的坐标为(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3),其顺序符合右手规则,其大拇指所指方向为该平面的法矢量(a,b,c),则a=(y2y1)(z3z1)(y3y1)(z2z1)b=(z2z1)(x3x1)(z3z1)(x2x1)c=(x2x1)(y3y1)(x3x1)(y2y1)2)确定自隐藏线设投影方向为(Xp,Yp,Zp),那么(ai,bi,ci)·(Xp,Yp,Zp)>0时,多面体平面的法矢量与投影方向的夹角小于90,此面为自隐藏面,不可见,在绘图时,此面不绘制。举例:给出投影方向从(0,0,10)到(10,10,0),即(10,10,10)(斜投影),求出长方体隐藏面。根据现实生活中存在的现象,提出问题,引入新的教学内容。通过课件的动画效果将抽象的理论知识直观地展示出来,使学生更好理解。板书写出判断过程。难点:3、斜平行投影消隐程序设计20′以斜平行投影为例,对三维形体进行Roberts法消除自隐藏线,必须存储三维形体的各表面数据。[例1]设投影面为XOY面,投影方向从(0,0,10)到(1,1,-12),即(1,1,-2),绘制消隐后的投影图。[例2]设正方体绕y轴旋转φ=45o,绕x轴旋转θ=45o正投影到XOY面,绘制消隐后的投影图。[提问]长方体的数据信息如何存储?[分组讨论]得出:必须存放长方体的各顶点坐标、顶点之间的线信息以及面信息。在斜平行投隐中,确定投影方向,利于平面法矢量及斜平行投影的方向的位置关系判断某一个面是否可见。对长方体进行消隐,效果如图。投影方向为xp,yp,zpfor(i=0;i<6;i++){计算第i个面的法向量(a,b,c) if(a*xp+b*yp+c*zp<0)绘制第i个面的每个投影边}4、应用案例模拟第一枚运载火箭“长征一号”形状并消隐。分析:由圆锥、圆柱、圆台等组合模拟其形状,并通过Roberts算法进行消隐。1970年4月24日,我国用成功将第一颗人造地球卫星“东方红一号”送入太空,拉开了中华民族进军太空的序幕。长征火箭已拥有退役、现役共计4代19种型号。至2021年6月18日,我国在西昌卫星发射中心用长征二号丙运载火箭,成功将遥感三十号09组卫星送入预定轨道,是长征系列运载火箭的第375次飞行。运载火箭是国家空间军事力量和军事应用的重要保证,是国民经济发展和新军事变革的重要推动力。[小结]:5′算法思想:根据平面法向量和投影方向确定自隐藏面。思考:如何消除被其它物体遮挡的面?如何对凹多面体进行消隐。以完成任务为主线,把知识点隐含在任务中,学生在任务的驱动和老师的引导下,寻求解决方案,培养学生自主学习能力的同时,提高学生分析及解决问题的能力。通过案例引入思政元素,强调科技是国之利器,是推动经济高质量发展、保障国家安全的重要战略支持。课后实验编写程序,实现现实物体消隐图。预习任务深度缓存消隐教学反思加强课堂小结和知识点的回顾,帮助学生梳理知识,更好地理解、吸收和记忆所学的知识。
授课题目深度缓存消隐算法课时1学时(45分钟)教学目标了解深度缓存消隐算法的概念,熟悉算法的基本思想,掌握消隐的主要步骤,要求学生能够采用深度缓存消隐算法,编写程序,实现对长方体投影图的消隐。学情分析学生已掌握Roberts消隐线算法,但算法只能对凸多面体进行消隐,针对凹多面体或不规则多面体,需要新的算法,主要介绍深度缓存消隐算法。教学重点及难点重点:深度缓存消隐算法步骤难点:消隐程序设计课程资源主要资源:教材、演示软件、课件网上资源:/course/203432320.html教学内容与过程教学方法及策略[知识回顾]Roberts算法是早期闻名的隐藏线消除算法,要求画面中所有物体为凸多面体。如果要求对凹多面体或不规则物体进行消隐呢?引入本次课教学内容。[教学内容与设计]深度缓存消隐算法[PPT展示]:1、深度缓存消隐简介又称Z缓冲器算法,适用于凹凸多面体及任意形状曲面,属于图像空间算法。基本思想:对于屏幕上的每个像素,记录当前最靠近观察者的物体投影在该像素的点的Z(深度)值。[提问]:p(x,y)颜色?[讨论]得出:取P3点颜色(Z值最大)重点:2、深度缓存消隐步骤举例:介绍两个相交面在XOY面上投影的颜色。先计算第一个面的点的Z值,再计算第二个面的Z值,最后投影点的颜色取投到改点的物体上Z值最大的那个点的颜色。通过对以前学习的相关内容的复习,引出新的讲授内容。
深度计算过程:假定多边形的平面方程为ax+by+cz+d=0,则点(x,y)处的深度为z(x,y)=(ax+by+d)/cc≠0若c=0,表示该平面平行于Z轴。采用增量法很容易计算扫描线上相邻像素(x+1,y)和相邻扫描线上(x,y+1)处的深度,即z(x+1,y)=z(x,y)-a/cz(x,y+1)=z(x,y)-b/c扫描线ys上点P的深度zp的计算:首先,在多边形边P1P4和P1P2上线性插值,可得到扫描线ys上点a和点b的深度值。za=zl+(z4-z1)(y1-ys)/(yl-y4)zb=z1+(z2-z1)(y1-ys)/(yl-y2)然后,在扫描线上线性插值,得到点P的深度值为zp=za+(zb-za)(xa-xp)/(xa-xb)难点:3、深度缓存消隐程序设计缓冲区中各位置Z赋最小值for(多边形面i){计算多边形平面方程系数(a,b,c,d)for(扫描线j)for(扫描线上多边形中所有象素k){求象素(k,j)的z值ifz>缓冲区中相应位置Z{缓冲区中相应位置Z=z象素(k,j)置该多边形颜色 }}}演示程序,消隐效果如图。[总结]:5′特点:Z缓冲器算法可以方便地处理隐藏面以及显示复杂曲面之间的交线。缺点:需占用大量存储单元。采用课堂讲授与课堂提问相结合的方式,让学生思考并给出他们的结果,进一步启发学生讨论出现不同结果的原因,再讲解正确的求解过程,进行对比,充分调动学生的学习积极性,培养学生分析问题和解决问题的能力。课后实验实现深度缓存消隐算法预习任务光照模型教学反思在课堂中通过复习及提问,帮助学生掌握重点知识。对于难点知识,采用循序渐进的方式讲解,使学生更好理解。
授课题目简单光照模型课时2学时(90分钟)教学目标(1)掌握漫反射光、环境光及镜面反射光的计算方法;能够根据实际需要用相应光模型模拟现实世界中的物体,解决实际问题;(2)掌握真实感光照的计算方法,能够编程实现真实物体的模拟;学情分析学生已掌握大部分的图形基础知识,开始进入最后的光照模拟内容。教学重点及难点重点:简单光照模型的计算及模拟真实物体。难点:镜面反射光的计算,真实感程序设计课程资源主要资源:教材、演示软件、课件网上资源:/course/203432320.html教学内容与过程教学方法及策略[知识回顾]在深度缓存消隐中,多面体的每个平面的像素亮度都一样,与真实环境下的效果不符合。引入本次课教学内容。[教学内容与设计]简单光照模型[PPT展示]:1、光照简介[师生互动]白天为什么我们能看到物体的颜色?(光照现象)光照模型:模拟光照射到物体表面所产生的反射/透射现象。简单光照模型包括漫反射光、环境光和镜面反射光。2、漫反射光漫反射光:光穿过物体表面被吸收,又重新发射出来的光。特点:光源来自一个方向,反射光均匀地射向各个方向。漫反射光的几何意义漫反射光Id的计算公式(Lambert模型)Id=ILKdcosθ[动画展示]不同角度的光漫反射光的效果采用“学生为主体,教师为主导”的教学模式,引导学生学习重难点知识,注重培养学生自主学习及运用知识解决问题的能力。图像展示同一个平面不同位置光源的漫反射光。【师生互动】光源的位置?【思考】结果为负值,说明了什么?3环境光在现实环境中,总存在一些散射现象,使得背光的一面不全黑,这样的模型为环境光:Ie=IaKa特点:光源来自各个方向,反射光均匀地射向各个方向。漫反射光加环境光的效果。4镜面反射光镜面反射光IS计算公式(Phong模型)IS=ILKscosnα特点:光源来自一个方向,反射光射向一个方向。5简单光照模型的计算I=Iaka+Ip(kdcosθ+kscosnα)简单光照模型的简化计算I≈Ie+IL(KdL·N+Ks(H·N))nH=(L+S)/2[例]已知平面三个顶点坐标,光源坐标为(30,30,70),光强为200。计算正投影后像素点P(30,10)处的漫反射亮度I(Kd=0.5)根据三个顶点坐标计算平面方程系数,得:a=-10,b=10,c=8,d=-ax1-by1-cz1=-(-10)*0-10*20-8*0=-200P’:a*30+b*10+c*z+d=0z=50Lx=30-30=0,Ly=30-10=20,Lz=70-50=20|L|=sqrt(02+202+202)≈28|n|=sqrt((-10)2+(10)2+(8)2)≈16cos1=(0*a+20*b+20*c)/(28*16)≈0.8I=200*0.5*0.8=80 [问题]计算亮度后,如何显示颜色?算法:计算平面系数a,b,c,d;正投影计算扫描线范围ymin,ymax;for(y=ymin;h<=ymax;h++) {计算扫描线与平面两条边的交点;for(交点内像素点x){计算投影到该像素点原物体点的深度z;if(z>深度缓存器中相应位置(x,y)的值){Zuff[y][x]=zz;计算光源与平面法向量的夹角余弦; 计算(x,y)点的光强I=IpKpcos(a)转为RGB模型,在(x,y)处写点; }} } [应用案例1]八一大桥模拟[思政元素]八一大桥的命名是为了纪念八一南昌起义。八一南昌起义是1927.8.1中国共产党打响了反抗国民党反动派的第1枪,是中国共产党独立领导武装革命和创建人民军队开始的标志。[应用案例2]青铜器形状模拟[思政元素]引出工匠精神:中国青铜器体现工匠精益求精精神,在世界青铜器中享有极高的声誉和艺术价值,代表着中国5000多年青铜发展的高超技术与文化。[应用案例3]钉子与螺丝钉模拟[思政元素]雷锋钉子与螺丝钉精神[总结]简单光照模型包括漫反射光、环境光和镜面反射光。将实际图像效果与理论结合,直观易懂。通过师生互动的方式,提高学生学习积极性,培养学生探究问题的能力。通过八一大桥引出党史。应用案例青铜器形状模拟引出工匠精神:敬业、精益、专注、创新。应用案例钉子与螺丝钉的绘制引出思政学习要善于挤和善于钻课后实验实现真实感图形绘制纹理透明阴影纹理透明阴影教学反思在课堂中通过复习及互动,帮助学生掌握重点知识。对于难点知识,采用动画与图形展示,使学生更好理解。授课题目纹理透明阴影课时2学时(90分钟)教学目标掌握颜色纹理显示的不同算法;掌握凹凸纹理产生的方法。了解透明阴影的生成思路学情分析在光照基础上,引入纹理生成算法,生成更具真实感的物体。教学重点及难点重点:颜色纹理、凹凸纹理难点:建立纹理数学模型课程资源主要资源:教材网上资源:/course/203432320.html教学内容与过程教学方法及策略[课程导入]提问:如何模拟西瓜的表面纹理?[教学内容与设计]纹理表示[PPT展示]:物体的表面细节称为纹理。颜色纹理或光滑纹理:物体表面上通过颜色或明暗度变化体现出来的细节。粗糙纹理、凹凸纹理或几何纹理:物体表面上呈现出凹凸不平的形状。重点:1、颜色纹理(1)数学模型:用数学函数表示颜色的变化规律。①直接过渡②线性过渡给出问题,引入知识点。演示程序,对比结果。③非线性过渡【应用案例】西瓜颜色纹理①条纹纹理是由颜色饱和度不同造成的,沿v参数方向周期出现,用周期函数:S=0.8|sin(5v)|②对条纹沿u参数方向进行周期干扰S=0.8|sin(5v+0.15Sin(40u))|③进行二值处理,当S<=0.4时S=0.4,否则S=0.8(2)纹理映射:建立物体表面的点与数字图像点之间的对应关系。在数学上描绘花纹图案可简化为从一个坐标系到另一个坐标系的变换。假定花纹图案定义在纹理空间中的一个正交坐标系(u,w)中,而表面定义在另一个正交坐标系(,)中,这样必须在两个空间中定义一个映射函数。即:=f(u,w)=g(u,w)或u=r(,)w=s(,Φ)【应用案例】:生成玉镯纹理玉:中国传统文化的一个重要组成部分,常用来寓意道德规范、忠心爱国,也常用于形容人的品格。“宁为玉碎”:爱国民族气节“化干戈为玉帛”:团结友爱风尚“润泽以温”:无私奉献品德“瑕不掩瑜”:清正廉洁气魄组织讨论,解决方案:圆环曲面(u,v)与图像坐标(X,Y)的关系x=(x0+rcosu)cosvX=v(w-1)/6.28v:[0,6.28]y=y0+rsinuY=u(h-1)/6.28u:[0,6.28]z=(x0+rcosu)sinv【师生交流】如何将地图映射后消除白色区域2、凹凸纹理表现物体表面凹凸不平的粗糙质感,通过扰动表面法线的方法,得到随机的法线方向。应用案例:[总结]通过数学模型、纹理映射、扰动表面法线等方法产生不同的纹理效果。3透明处理最简单的透明算法不考虑折射的影响,也不考虑光线在媒介中所经路径长度对光强的影响。对于两个平面:I=tIl+(1-t)I20≤t≤1三个平面,则光强的线性组合为:I=t2(t1Il+(1-t1)I2)+(1-t2)I30≤t1,t2≤14阴影处理阴影是指场景中那些不被光源直接照射到而形成的暗区。当观察方向与光源方向不一致时,就会观察到场景中的阴影。【师生交流】阴影计算的关键?【程序演示】在介绍玉镯纹理表示的同时,引入玉代表的美好寓意。预习任务分形技术教学反思采用不同的方式产生纹理效果,将图形效果进行对比,使学生对算法有更深的理解。
授课题目分形图形课时2学时(65分钟)教学目标掌握简单分形图形生成算法;了解L系统的规则替代过程。学情分析在真实感生成的基础上,引入分形技术,获得一些复杂的自然景观形态。教学重点及难点重点:函数递归算法难点:L系统算法课程资源主要资源:教材网上资源:/course/203432320.html教学内容与过程教学方法及策略[课程导入]提问:如何模拟形态复杂的自然景观?[教学内容与设计]分形图形[PPT展示]:分形的概念是美籍数学家曼德布罗特(B.B.Mandelbort)首先提出的。1975年,他创立了分形几何学。在此基础上,形成了研究分形性质及其应用的科学,称为分形理论。重点:1、函数递归分形图形(1)Koch曲线每次对每条边,将线段三等分,计算第一个三分之一段后旋转60°,接着计算第二个三分之一长度,再旋转120°,计算第三个三分之一长度,再旋转60°,计算最后三分之一线段长度。设递归的次数为N,当递归结束后,再绘制最后一次计算出的线段。(2)树枝曲线每次绘制每条边后,按该线段的长度的一定比例(如3/4),对其末端生成两条线段,第一个线段旋转正角度(如20),并绘制,第二个线段旋转负角度(如20),并绘制。给出问题,引入知识点。演示程序,对比结果。分析讨论:从以上两种递归函数生成图形程序可以看出,它们有很大一部分是由生成元,或说发生器自由地绘制出来,递归过程的重点是长度与角度的变化,不同的长度或不同的角度可生成不同的分形图形。【课堂作业】学生自己设计分形图形,并通过学习通提交。分形可用于生成三维图形:3.生成元分形图形可以用一个二维数组gene表示生成元,其中数组的第一个元素表示旋转角度,第二个元素指定线段长度的比率。如:gene[][2]={{0.0,1.0},{85.0,1.0},{170.0,1.0},{85.0,2.0}},指定生成元。不同生成元、不同递归次数生成的不同分形图。难点:L系统L系统实际上是字符串重写系统,首先定义字符集合,设置初始字符串和字符串替代规则,然后根据规则对原始字符串不断进行替代。每一步迭代过程中字符的替换都是并行的,即所有字符同时进行替代操作。最后通过将字符串解释成图形,可以生成许多经典的分形,特别是能很好地表达植物的分枝结构。【实例讲解】F--F—F代换规则:F=F+F--F+F第一次代入:F+F--F+F--F+F--F+F--F+F--F+F以此类退对于A→F[+A][-A]FAF→FF明显可以模拟植物生长也可以加三维光照,或加随机函数[总结]通过函数递归、L系统等方法产生分形图形。通过不同的方法生成分形图形,分析各自的优缺点。课后实验编写绘制分形树程序教学反思采用不同的方式产生分形,将图形效果进行对比,使学生对算法有更深的理解。授课题目三维植物造型应用实例课时2学时(90分钟)教学目标掌握简单的变形造型方法,了解点云重建过程。学情分析在真实感生成的基础上,引入变形技术,改变物体形状,获得所需造型。教学重点及难点重点:变形方法难点:点云重建课程资源主要资源:教材网上资源:/course/203432320.html教学内容与过程教学方法及策略[课程导入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年上海大学单招职业技能测试题库附答案详解(综合题)
- 2026年云南林业职业技术学院单招职业技能考试题库附参考答案详解(培优)
- 2026年云南城市建设职业学院单招职业倾向性考试题库完整答案详解
- 2026年伊犁职业技术学院单招职业倾向性测试题库带答案详解(黄金题型)
- 2026年仙桃职业学院单招职业适应性测试题库含答案详解(基础题)
- 2026年上海师范大学天华学院单招综合素质考试题库及1套参考答案详解
- 2026年云南省思茅市单招职业适应性测试题库及参考答案详解1套
- 2026年云南省怒江傈僳族自治州单招职业适应性测试题库带答案详解(培优)
- 2026年云南体育运动职业技术学院单招职业技能考试题库带答案详解(b卷)
- 2026年云南交通运输职业学院单招职业技能测试题库含答案详解(培优)
- 全球合作伙伴营销洞察报告
- 2026年山东交通职业学院单招职业技能考试题库及答案详解一套
- (新版!)“十五五”教育事业发展专项规划
- DRG支付改革对医院运营的影响及应对
- 2026年湖南环境生物职业技术学院单招职业倾向性测试题库必考题
- 胸痛患者护理健康宣教
- 熔盐储热材料研发-洞察与解读
- 供热管网系统运行工国家职业标准(征求意见稿)
- 基因组学与基因表达数据分析-洞察阐释
- ICD起搏器术前护理
- 超临界二氧化碳循环发电机组启动调试导则
评论
0/150
提交评论