




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023/9/2交通运输学院CAD/CAM研究所1Chapter8
Three-DimensionalObjectRepresentations贝塞尔曲线曲面(BézierCurvesandSurfaces)Bézier曲线和曲面法国工程师Bézier使用逼近样条为雷诺汽车公司设计汽车外形而开发。数学基础简单,容易实现
Bézier样条在各种CAD系统、大多数图形系统、相关绘图和图形软件包中有广泛应用BézierCurves定义控制点:
pk=(xk,yk,zk),k=0,1,···n.构造P(u)Bk,n(u)是Bernstein(伯恩斯坦)函数:C(n,k)是二项式系数:Prescribed:00=1,0!=1.Bernsteinbasis4Vectorequation2023/9/2交通运输学院CAD/CAM研究所5两点创建1次Bezier曲线n=1,
矩阵方程:P0
到P1直线。2023/9/2交通运输学院CAD/CAM研究所6TheTwoFirstDegreeBlendingFunctions1次Bernstein函数2023/9/2交通运输学院CAD/CAM研究所7Whenn=2, Thematrixformis:Thisisaparabola(抛物线)startingatP0andendingatP1.And:3点创建2次Bezier曲线2023/9/2交通运输学院CAD/CAM研究所8BlendingFunctions
andtheCurveExamples2次Bernstein函数2023/9/2交通运输学院CAD/CAM研究所93次
BézierCurvesFourpointscanspecifyingacubicBéziercurve.P(t)=B0,3P0+B1,3P1+B2,3
P2+B3,3P3 =(1-t)3P0+3t(1-t)2P1+3t2(1-t)P2+t3P3 (0
t
1)2023/9/2交通运输学院CAD/CAM研究所103次BézierCurves矩阵表达式2023/9/2交通运输学院CAD/CAM研究所11 Thatis:代数形式Asarule,aBézierCurveisapolynomialofdegreeonelessthanthenumberofcontrolpointsused:
twopointsgenerateastraightline,
threepointsgenerateaparabola,
fourpointsacubiccurve,andsoforth.UkUn-k2023/9/2交通运输学院CAD/CAM研究所13已知Bezier曲线特征多边形的顶点P0(1,2)、P1(3,4)、P2(5,6)、P3(7,8),求Bezier曲线的参数方程P(t)(矩阵表示);计算t=0.5,曲线上点P(0.5)
重要试从Bèzier曲线的定义式写出三次Bèzier曲线的矩阵表示。(本题15分,只写出结果者得2分)UkUn-k2023/9/2交通运输学院CAD/CAM研究所14Examplesprog8BezierCurve.exe2023/9/2交通运输学院CAD/CAM研究所15BézierCurves的性质EndpointInterpolation(端点插值)AffineInvariance(仿射不变性)Convex-hullProperty(凸包性)LinearPrecision(线性)Variation-diminishingProperty(变差缩减性)DerivativesofBézierCurves(导数)掌握2023/9/2交通运输学院CAD/CAM研究所16端点插值EndpointInterpolationABézierCurvedosenotgenerallypassthrough,orinterpolate,allofthecontrolpoints,butitalwaysinterpolatesthefirstandthelastpoint.2023/9/2交通运输学院CAD/CAM研究所17P0P3P2P1Q0Q3Q1Q2AffineInvariance(仿射不变性)2023/9/2交通运输学院CAD/CAM研究所18Convex-hullProperty(凸包性)ABézierCurveneverwandersoutsideitsconvexhull.2023/9/2交通运输学院CAD/CAM研究所19LinearPrecision(线性)Ifallofthecontrolpointsareplacedinastraightline,theirconvexhullcollapses(压缩)toaline.TheBézierCurveistherefore“trapped”insidethishullandsomustalsobeastraightline.2023/9/2交通运输学院CAD/CAM研究所20Variation-diminishingProperty
(变差缩减性)2023/9/2交通运输学院CAD/CAM研究所21DerivativesofBézierCurves导数ThefirstderivativeofaBézierCurveisSothevelocity(thefirstderivative)isanotherBézierCurve,builtonanewsetofcontrolvectors
pk.2023/9/2交通运输学院CAD/CAM研究所22Whent=0,t=1,onecanevaluatethederivativesatthestartingpointandtheendingpoint:Thus,theslopeatthebeginningofthecurveisalongthelinejoiningthefirsttwocontrolpoints,andtheslopeattheendisalongthelinejoiningthelasttwoendpoints.2023/9/2交通运输学院CAD/CAM研究所23因此,曲线在起点处的切线方向是第一第二控制点的连线,长度是其n倍;曲线在终点处的切线方向是倒数第二第一控制点的连线,长度是其n倍。端点的二阶导数取决于与其最靠近的三个控制点,与其他点无关。事实上,r阶导矢只与(r+1)个相邻点有关,与更远点无关。
2023/9/2交通运输学院CAD/CAM研究所24使用BézierCurves设计
ClosedBéziercurve(封闭)Topassclosertoagivenpoint(靠近曲线)PiecinglowerdegreeBéziercurvesections
(Bezier曲线拼接)2023/9/2交通运输学院CAD/CAM研究所25ClosedBéziercurve2023/9/2交通运输学院CAD/CAM研究所26ToPassClosertoGivenPoint2023/9/2交通运输学院CAD/CAM研究所27Bezier曲线拼接G0:Pn=Q0;(ai=
Pi-
Pi-1
bj=
Qj-
Qj-1)G1:b1=
an
,
thatis,
Pn-1,
Pn=Q0
,
Q1arecollinear.C1:b1=an,thatis,
Pn=Q0andQ1=Pn+(Pn-Pn-1).C2:basedonC1,andQ2=Pn-2+4(Pn-Pn-1).2023/9/2交通运输学院CAD/CAM研究所28Chapter8
Three-DimensionalObjectRepresentations贝塞尔曲面(BézierSurfaces)2023/9/2交通运输学院CAD/CAM研究所29张量积Bezier曲面定义 Withpj,kspecifyingthelocationofthe(m+1)by(n+1)controlpoints.2023/9/2交通运输学院CAD/CAM研究所30MatrixForm2023/9/2交通运输学院CAD/CAM研究所31ExampleBézierSurfaceconstructedform=2,n=2.prog8Beziersurf.exe2023/9/2交通运输学院CAD/CAM研究所32BézierSurfacesHavetheSame PropertiesasBézierCurves.DoublecubicBéziersurfacepatchanditsboundary10P20P01P11P21P31P02P22P12P32P13P23P00)0,0(PP=30)0,1(PP=03)1,0(PP=33)1,1(PP=)0,(uP)1,(uP),0(vP),1(vP2023/9/2交通运输学院CAD/CAM研究所33用OpenGL画Bezier曲线Bezier曲线由以下函数定义:
voidglMap1{fd}(GLenumtarget,TYPEu1,TYPEu2,GLintstride,GLintorder,constTYPE*points);GLenumtarget,枚举型变量,指定控制点维数:GL_MAP1_VERTEX_3、GL_MAP1_VERTEX_4。TYPEu1、TYPEu2,指定参数的最小、最大值。constTYPE*points,指向控制点数组的指针。GLintstride,指出在数组constTYPE*points中,从一个控制点到下一个控制点之间的数据个数(位移量)。GLintorder,控制点个数,即Bezier曲线的阶数,多项式次数+1。2023/9/2交通运输学院CAD/CAM研究所34定义了Bezier曲线后,进行计算之前,需用target的值为参数调用glEnable()激活(glDisable()取消)。用以下函数计算曲线上的点:
voidglEvalCoord1{fd}{v}(TYPEu);TYPEu的取值在TYPEu1、TYPEu2之内。该函数会将参数规范化。例子:源代码运行2023/9/2交通运输学院CAD/CAM研究所35定义并激活贝塞尔曲线后,亦可用定义网格(Grid,均匀间隔坐标)的方式在参数区间均匀取值计算曲线上点的坐标。定义一维网格:
voidglMapGrid1{fd}(GLintn,TYPEu1,TYPEu2);GLintn,参数的均匀分割数。一维求值并绘制曲线:
voidglEvalMesh1(GLenummode,GLintp1,GLintp2);GLenummode,取值GL_POINT或GL_LINE,画点或划线。GLintp1、GLintp2,参数的对应范围。2023/9/2交通运输学院CAD/CAM研究所36用OpenGL画Bezier曲面Bezier曲面由以下函数定义:
voidglMap2{fd}(GLenumtarget,TYPEu1,TYPEu2,GLintustride,GLintuorder,TYPEv1,TYPEv2,GLintvstride,GLintvorder,TYPE*points);GLenumtarget,枚举型变量,指定控制点维数:GL_MAP1_VERTEX_3、GL_MAP1_VERTEX_4。TYPEu1、TYPEu2,TYPEv1、TYPEv2指定参数u和v的最小、最大值。constTYPE*points,指向控制点数组的指针。GLintustride、GLintvstride,分别指出在数组constTYPE*points中,从一个控制点到下一个控制点之间的数据个数(位移量)。GLintuorder、GLintvorder,分别指出两个方向的控制点个数,即其各自的阶数,多项式次数+1。2023/9/2交通运输学院CAD/CAM研究所37定义了Bezier曲面后,进行计算之前,需用target的值为参数调用glEnable()激活(glDisable()取消)。用以下函数计算曲面上的点:
voidglEvalCoord2{fd}{v}(TYPEu,TYPEv);TYPEu、TYPEv的取值分别在TYPEu1、TYPEu2和TYPEv1,TYPEv2之内。该函数会将参数规范化。例子:源代码运行20
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年药品经济学专业考试相关试卷及答案
- 2025年药物治疗与管理专业知识考试试卷及答案
- 2025年信息安全与网络攻防能力测试卷及答案
- 2025年外语翻译专业研究生考试试卷及答案
- 2025年建筑设计师考试试题及答案
- 2025年国际贸易单证员考试试卷及答案
- 《小学计算几何概念培养实践课教案》
- 金融创新的策略及实施路径
- 计算机组成原理模拟卷
- 南京高三语文辅导作文8篇
- 2025年四川省凉山州中考数学试卷真题及解析答案
- 2025年江苏省金陵中学英语八下期末学业质量监测试题含答案
- DB31-T 1545-2025 卫生健康数据分类分级要求
- 【薪智】2025地产建筑业行业白皮书人力核心指标行业报告系列
- 2025年全钒液流电池行业调研分析报告
- 2025年二级建造师考试《矿业工程管理与实物》真题及答案
- 建办质202463号危险性较大的分部分项工程专项施工方案严重缺陷清单宣贯(雄安)
- 2025慢性阻塞性肺病(GOLD)指南更新要点解读课件
- 高教版2023年中职教科书《语文》(基础模块)下册教案全册
- 生理学全套课件
- 湖南省 2023-2024 年普通高中学业水平合格性考试(一) 语文试卷(含答案)
评论
0/150
提交评论