计算机图形学(一):逐点比较法与直线、圆弧的插补生成

本文详细介绍了逐点比较法在笔式绘图机中的直线和圆弧插补过程,包括偏差函数、坐标给进、递推和终点判断规则,以及实例演示。重点在于如何通过比较和调整步骤逼近理论图形。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

逐点比较法

逐点比较法就是在输出直线或圆弧的过程中,每走完一步就与理论的直线或圆弧进行比较,确定当前点是在线或弧上,还是在线或弧的一侧,然后再决定下一步的走向,这样一步一步地逼近所画直线或圆弧。

逐点比较法是针对笔式绘图机提出的。根据绘图机的结构原理及数字控制原理,绘图机的笔架可能的移动方向(称为走步方向)有八个:+X、-X、+Y、-Y、+X+Y、-X+Y、-X-Y、+X-Y。其中+X、-X、+Y、-Y四个走步方向是一般绘图机都提供的,称为基本走步方向。

可见,绘图机的基本绘图元素是与走步方向相对应的小直线段。绘图机所画的一般直线和曲线,实际上是由许多小直线段所组成的折线来逼近的。根据所画图线的已知条件(如直线两个端点坐标,圆弧的起点、终点和圆心等)计算画图所需要的一系列中间点(即折线的端点)的坐标,称为插补运算。根据插补对象不同,插补运算有直线插补、圆弧插补和抛物线插补等,前两种是基本的插补运算。插补运算可用软件或硬件实现,不少绘图机采用插补器(或称线发生器、弧发生器)来完成插补运算,目的在于提高图线生成速度。逐点比较法可用于插补运算。

直线的插补生成

若画第一象限的直线OA,起点为O(0,0),终点为A(xa,ya),设绘图笔当前的位置为K(xk,yk)。点K相对于直线OA的位置有三种情况:点K在OA上方,点K在OA上以及点K在OA下方。为了判断点K与OA的相对位置,引入偏差函数Fk:

因此,对第一象限内的直线生成规定如下:

即偏上了向右走;偏下了向上走。设▲x=1,则:

从而根据新偏差Fk+1的正负号再确定绘图笔的下一步走向。这样逐步进行,直至终点。终点判断的方法为:

以第一种方法为例:

设J为总走步数,则J=|xa|+|ya|

每走一步,J--,J==0时到达终点

对于其他象限内的直线线段,走向规定如下图所示:

偏差的递推公式,用|x|和|y|代替x和y:

例题:

圆弧的插补生成

偏差判别->坐标进给->偏差递推->终点判别

  1. 偏差判别

因此:Fi>0在圆外;Fi=0在圆上;Fi<0在圆内。

  1. 坐标给进

若逆时针,从A到B:

若顺时针,从B到A:

  1. 偏差递推

若逆时针,从A到B:

若顺时针,从B到A:

  1. 终点判别

其他线段的走向规定:

例题1:

运算过程:

例题2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乔卿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值