码迷,mamicode.com
首页 > 其他好文 > 详细

计算机图形学(三)_图元的属性_5_曲线属性

时间:2016-07-19 10:18:56      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

曲线属性
        曲线属性的参数与线段相同,可以使用各种颜色、宽度、点划线模式和有效的画笔和笔刷选择来显示曲线。采用画曲线算法来实现属性选择,这一点类似于画直线。
       各种宽度的光栅曲线可用水平或垂直像素段进行显示。曲线斜率的绝对值小于1.0时,使用垂直段;斜率绝对值大于1.0时绘制水平段。图4.10给出了使用这种方法显示在第一象限中宽度为4的圆弧。利用圆的对称性,在从x = 0到x = y的八分象限内使用垂直段生成圆路径。然后对于直线y = x,将像素位置反射便得到所显示曲线的余下部分。其他四分象限内的圆弧段,可通过对坐标轴反射第一象限中的像素位置而得到。使用这种方法显示的曲线粗细则是根据曲线斜率的函数,圆、椭圆和其他曲线上斜率绝对值为1的位置将显得最细。
        另一种显示粗曲线的方法填充两条距离等于预定宽度的平行曲线路径间的区域。我们可以用指定的曲线路径作为第一条边界,并在其内侧或外侧建立第二条边界。然而,这种方法使得原始曲线路径按所选的第二条边界向内或向外偏移。我们可以通过在指定的曲线路径两侧以宽度的一半为距离,设置两条边界曲线来保持原曲线位置。图4.11给出了这种方法的一个例子,图中的圆弧半径为16,线宽为4。然后,在半径为16、两侧距离为2处设置两条边界圆弧。为了保持在3.13节讨论的圆弧的合适尺寸,可以将同心边界圆弧的半径设为:r = 14和 r = 17。尽管这种方法对于生成粗线圆是精确的,但通常该方法仅提供对其他粗曲线的真正区域的一个近似范围。例如,使用这种方法生成的扁椭圆,其内部和外部边界的焦点不是相同的。

技术分享

技术分享

         为实现线型而提出的像素掩模方法也可用于光栅曲线中以生成短划式或点式图案。例如,掩模11100生成图4.12中短划式的弧。我们可以利用对称性在各个八分象限中生成短划,但必须移动像素位置以保持跨越每一八分象限时有正确的短划和间隔序列。和直线段算法一样,像素掩模显示的短划和间隔的长度按曲线的斜率而改变。如果我们要显示定长的短划,则需要在沿圆周移动时调整每段绘制的像素数目。除使用像素掩模保持均匀段长外,还可以沿同角度的弧来生成等长短划。
         曲线的画笔(或画刷)显示可以使用在线段中讨论的相同技术来生成。在图4.13中,我们沿线路径重复画笔的形状,从而生成第一象限内的圆弧。这里,矩形画笔的中心移向后继曲线位置,从而产生显示的曲线形状。当曲线斜率为1时,以这种用矩形画笔显示的曲线会比较粗。如果要显示一致的曲线宽度,可以通过旋转矩形画笔,使其在沿曲线移动时与斜率方向一致,或用圆弧画笔形状来实现。使用画笔和画刷形状绘制的曲线,可以使用不同大小和附加的图案或模拟的绘画技巧进行显示。
技术分享
技术分享
        绘画程序提供了交互方式,可以使用触笔和图形板等指点设一备来构造图形。图4.14给出了这类曲线图案的例子。绘画软件中可另外提供模拟毛笔笔划显示的选项。
技术分享

计算机图形学(三)_图元的属性_5_曲线属性

标签:

原文地址:http://blog.csdn.net/heyuchang666/article/details/51944280

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!