绘制曲线的基本方法.ppt
上传人:天马****23 上传时间:2024-09-10 格式:PPT 页数:34 大小:321KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

绘制曲线的基本方法.ppt

绘制曲线的基本方法.ppt

预览

免费试读已结束,剩余 24 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、绘制曲线的基本方法在设计和绘图中,几乎不可能没有曲线。这些曲线一般分为两类:一类是标准曲线,可以有标准的数学方程来描述,如圆、椭圆、抛物线等;另一类是拟合曲线,它们不能用标准的数学方程来描述,只有先给出一些数据点,然后用相应的数学方法来拟合这些数据点成曲线。例如有实验曲线、等值线等,它们都是通过做实验得到一些实验数据、或经测量得到一系列离散数据点。依据这些实际数据,我们希望能构造出一条曲线,使其完全通过或者比较贴近这些数据点。拟合曲线的问题:讨论由离散的数据点如何构成曲线的方法。在计算机图形学这个领域里讨论的曲线,一般都是指的拟合曲线。要讨论的问题:已知一组数据点(型值点),选用哪种数学方法来加以拟合,相应的数学表达方式以及如何绘制成曲线。为了说清这些问题,还须先从标准曲线开始。在手工操作绘制曲线时,除了圆弧类曲线可以直接借助于工具圆规来画出外,其他的曲线一般都是先确定几个点,然后借用曲线板分段绘出。其实这也是用计算机来绘制曲线的基本原理。由于计算机图形输出设备的工作特点,曲线一般是离散成直线画出的。(见图)另一个问题是参数法表示。(特别是对于多值曲线,尤为重要)例如看一个圆,它的标准方程是:x2+y2=r2可写成:y=圆的参数方程表示为:x=r•cos(t)y=r•sin(t)这两种表示方法,在绘图的时候是存有明显的差别的。看图。从以上的分析可得出绘制曲线的基本方法有两条:离散化这是由于硬件的条件决定的,理想化的曲线是绘不出来的。参数法这是由于曲线的质量要求决定的。下面我们以一个椭圆为例,来说明其绘图过程和程序。椭圆的参数方程为:(中心在原点)x=a•cos(t)y=b•sin(t)(0t2)当参数t=ti时:xi=a•cos(ti)yi=b•sin(ti)当参数t=ti+t时:xi+1=a•cos(ti+t)yi+1=b•sin(ti+t)当t相当小时,我们认为在椭圆上两点之间的弧长就可以用该两点之间的弦长来代替。(见图)所以椭圆的绘图程序可写成:voidellipse(x0,y0,a,b,dt)intx0,y0,a,b,dt;{intx,y,n,i;floatt1,t=0.0;t1=dt*0.01745;n=360/dt;moveto(x0+a,y0);for(i=1;i<n;i++){t=t+t1;x=x0+a*cos(t);y=y0+b*sin(t);lineto(x,y);}lineto(x0+a,y0);}这个程序说明了绘制曲线的一般方法,用离散的直线段代替了曲线。致於直线段长度的取值则决定于对曲线的精度要求。显然,参变量的增量越小,则离散直线段的长度越短,于是得到的曲线精度越高。(另外,还可以应用两角和的三角公式来简化程序中的运算步骤)二、抛物样条曲线用抛物线作为基本曲线,通过一定的数学方法,把一组离散的数据点用一条复合的曲线光滑地连接起来。1.过三点定义一条抛物线设有不在一直线上的任意三点:P1,P2,P3。如何定义一条抛物线使其通过该三点。P2P1P3抛物线参数表达式的一般形式为:P(t)=A1+A2*t+A3*t2(0t1)目前,表达式中的三个系数A1、A2和A3是未知的,所以只要确定该三个系数的值,则抛物线就能唯一确定。要求三个未知数,必须设三个独立的条件。因抛物线过该三点,所以设:(1)抛物线以P1为始点,即t=0时,P(0)=P1;(2)抛物线以P3为终点,即t=1时,P(1)=P3;(3)当t=0.5时,曲线过P2点,即P(0.5)=P2。P2(t=0.5)P1(t=0)P3(t=1)于是可列出三个独立的方程为:A1=P1(t=0)A1+A2+A3=P3(t=1)A1+0.5•A2+0.25•A3=P2(t=0.5)解以上的联列方程组,可得:A1=P1A2=4*P2-P3-3*P1A3=2*P1+2*P3-4*P2故抛物线的参数表达式就可以唯一确定为:P(t)=A1+A2*t+A3*t2=P1+(4*P2-P3-3*P1)t+(2*P1+2*P3-4*P2)t2(0t1)将上式先展开再整理后可得:P(t)=(2t2-3t+1)P1+(4t-4t2)P2+(2t²-t)P3(0t1)式中的P是一个向量,在二维平面内它包含两个分量(x,y)。以上推导求出的算式,即为过不在一直线上的三点:P1(x1,y1)、P2(x2,y2)和P3(x3,y3)的抛物线的方程。这时根据t的取值,可以一一计算出曲线上的点,从而绘出图形