- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学.3培训资料.ppt
计算机图形学;曲线和曲面; 曲线分规则曲线和非规则曲线。规则曲线指有确定描述函
数的曲线,如直线、圆锥曲线等。由离散点构造的函数所描述
的曲线称为非规则曲线。非规则曲线又分插值曲线和逼近曲线
(统称拟合曲线)。插值曲线通过定义曲线的离散点,逼近曲线
则不通过。非规则曲线也称作自由曲线。;t=0;与非参数方法相比,参数方法有如下优点:
1. 曲线、曲面方程与坐标系无关,方程形式不因坐标系的改
变而改变(称为几何不变性),易于进行几何变换;
2. 提供更多自由度控制曲线、曲面的形状;
3. 方程中的代数量和几何量分离,便于把低维空间的曲线、
曲面推广到高维空间;
4. 容易处理无穷大斜率,计算不会因其无穷大而中断;
5. 易于处理多值问题;
6. 规格化的参变量(如 t∈[0,1]),使相应几何分量有界,
易于规定曲线、曲面的边界;
7. 便于曲线、曲面的分段、分片描述;
8. 易于用矢量和矩阵形式表示几何分量,既简化计算又易于
编程。;Ferguson曲线;写成矩阵形式为;三次Hermite插值基函数;1. 位置矢量
对于三维参数曲线,曲线上任一点的位置矢量为
P(t) = [x(t) y(t) z(t)]
位置矢量常常是构造曲线的型值点。
2. 切矢量
对于三维参数曲线,曲线上任一点处的切矢量为
P’(t) = [x’(t) y’(t) z’(t)]
切矢量反映了曲线在该点处的变化速度和变化方向。
对于一般参数t,若|dP/dt|≠0,称T
T = dP/dt / |dP/dt|
为单位切矢量。对于弧长参数s,切矢量T为
T = dP/ds = dP/dt / ds/dt
其中,ds2=dx2+dy2+dz2 。 ;3. 曲率
设曲线以弧长s为参数,则参数曲线上任一点处的曲率为
k = |dT/ds|
∵ T = dP/ds = P’(s),∴ k= |d2P/ds2| = |P”(s)|,即
k = [(d2x/ds2)2 + (d2y/ds2)2 + (d2z/ds2)2]1/2
称ρ=1/k为曲率半径。曲率反映了曲线在该点处的弯曲程度。
4. 法矢量
空间曲线上任一点处的所有垂直于切矢量的矢量都是法矢
量,它们位于同一平面上,该平面称为法平面。矢量dT/ds即
是一个与切矢量T垂直的法矢量,称其为主法线矢量,其单位
矢量记作N,并称为单位主法线矢量。矢量B=T·N是一个与T和N
垂直的矢??,称为单位副法线矢量。T,B,N是三个互相垂直的
单位矢,它们决定了曲线在该点处三个基本方向,构成了曲线
在该点处的一个直角坐标系,其三个面分别称为密切面(TN),
法平面(NB),化直面(BT)。;5. 挠率
以弧长为参数的参数曲线上的任一点处的挠率为
τ=|dB/ds|
挠率反映了曲线在该点处扭出密切面的速度。
对于平面曲线,密切面就是曲线所在平面,其副法线矢量
是固定不变的,故dB/ds=0。因此,曲线是平面曲线的充要条件
是,曲线上任意点处的挠率为零。非平面曲线,τ≠0。;曲线段的连接条件;Bezier曲线;Bernstein调和函数的性质;4. 递推性;Bezier曲线的性质;;当n=1时,;二次Bezier曲线;三次Bezier曲线;/* 画三次 Bezier 曲线 */
#include graphics.h
#include stdio.h“
typedef struct tagPOINT
{
int x; int y;
} POINT;
POINT CoordCalc (float u, POINT *P) /* 计算曲线上的点坐标 */
{
POINT result;
float u2=u*u;
float u3=u2*u;
float a=-u3+3*u2-3*u+1;
float b=3*u3-6*u2+3*u;
float c=-3*u3+3*u2;
float d=u3;
result.x=a*P[0].x + b*P[1].x + c*P[2].x + d*P[3].x;
result.y=a*P[0].y + b*P[1].y + c*P[2].y + d*P[3].y;
return result;
};void DrawBezierCurve(POINT *P) /* 画 Bezier曲线 */
{
float u; PO
您可能关注的文档
- 行政诉讼法作业(PPT管辖)培训资料.ppt
- 行政诉讼法教学教案--当事人.ppt
- 行政诉讼法经典教材10培训资料.ppt
- 行政诉讼法经典教材11培训资料.ppt
- 行政诉讼法经典教材7教材课程.ppt
- 补液原则说明.ppt
- 表格式医疗治疗看护管理文书书写规范.ppt
- 表皮囊肿说明.ppt
- 表面处理技术技巧概论-绪论幻灯片.ppt
- 表面技术概论 表面最根本基础理论-腐蚀磨损课件.ppt
- 湖南省益阳市资阳区迎丰桥镇九年级化学上册 第3章 维持生命之气—氧气 3.1 氧气的性质和用途教案 (新版)粤教版.docx
- 三年级信息技术下 《制作宣传海报》教学设计.docx
- 人美版美术二年级上册《绘画中的节日》教学设计.docx
- 小学数学人教版三年级下面积的认识 教学设计.docx
- 湖北省七年级生物上册 第三单元 第五章 第二节 实验《绿色植物的呼吸作用》教学设计 新人教版.docx
- 2024秋八年级英语上册 Module 10 The weather Unit 1 It might snow教学设计(新版)外研版.docx
- 山西省长治市八年级地理下册 6.3 世界最大的黄土堆积区 黄土高原教案2 (新版)新人教版.docx
- 高中信息技术 二进制十进制转换教案.docx
- Unit6 Meet my family 第二课时单元整体教学设计.docx
- 2023四年级数学下册 五 小数(小数的意义(一))教案 西师大版.docx
文档评论(0)