欢迎来到天天文库
浏览记录
ID:36301877
大小:3.51 MB
页数:93页
时间:2019-05-08
《[工学]计算机图形学第三章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三讲图形绘制唐建国计算机图形学及其辅助设计1概述图形显示前需要:图形生成+裁剪2概述坐标系直线、圆、椭圆的扫描变换多边形的生成图形剪裁走样与反走样33.1计算机图形学坐标系用户坐标系(实数域)设备坐标系(整数域)规范化设备坐标系(0-1实数域)43.2直线、圆、椭圆的扫描变换直线DDA53.2直线、圆、椭圆的扫描变换直线DDA-增量算法63.2直线、圆、椭圆的扫描变换直线DDA73.2直线、圆、椭圆的扫描变换中点画线关键:如何判定M和Q的关系83.2直线、圆、椭圆的扫描变换中点画线93.2直线、圆、椭圆的扫描变换中点画线103.2直线、圆、椭圆的扫描变换P=(Xp,Yp
2、)P1P2Q中点画线113.2直线、圆、椭圆的扫描变换中点画线123.2直线、圆、椭圆的扫描变换Bresenham画线133.2直线、圆、椭圆的扫描变换==Bresenham画线由于可令143.2直线、圆、椭圆的扫描变换处理对象:圆心在原点的圆弧圆的八对称性圆的生成153.2直线、圆、椭圆的扫描变换中点画圆163.2直线、圆、椭圆的扫描变换中点画圆173.2直线、圆、椭圆的扫描变换P=(Xp,Yp)P1P2M中点画圆183.2直线、圆、椭圆的扫描变换中点画圆193.2直线、圆、椭圆的扫描变换椭圆方程:F(x,y)=b2x2+a2y2-a2b2=0椭圆的对称性椭圆上点(x,
3、y)处的法向:N(x,y)=(F)’xi+(F)’yj=2b2xi+2a2yj椭圆的生成203.2直线、圆、椭圆的扫描变换在上半部分,法向量的y分量大在下半部分,法向量的x分量大上半部分下半部分M1M2在当前中点处,法向量(2b2(Xp+1),2a2(Yp-0.5))的y分量比x分量大,即:b2(Xp+1)4、执行方式命令行:CIRCLE菜单:绘图→圆工具栏:绘图→圆(2)操作步骤命令:CIRCLE↙指定圆的圆心或[三点(3P)/两点(2P)/相切、相切、半径(T)]:(指定圆心)指定圆的半径或[直径(D)]:(直接输入半径数值或用鼠标指定半径长度)指定圆的直径<默认值>:(输入直径数值或用鼠标指定直径长度)(3)选项说明三点(3P):用指定圆周上三点的方法画圆。两点(2P):指定直径的两端点画圆。相切、相切、半径(T):按先指定两个相切对象,后给出半径的方法画圆。菜单还提供一种“相切、相切、相切”模式画圆233.2直线、圆、椭圆的扫描变换2.圆弧(1)执行方式命令行:ARC(5、缩写名:A)菜单:绘图→弧工具栏:绘图→圆弧(2)操作步骤命令:ARC↙指定圆弧的起点或[圆心(C)]:(指定起点)指定圆弧的第二点或[圆心(C)/端点(E)]:(指定第二点)指定圆弧的端点:(指定端点)AUTOCAD画圆243.2直线、圆、椭圆的扫描变换3.圆环(1)执行方式命令行:DONUT菜单:绘图→圆环(2)操作步骤命令:DONUT↙指定圆环的内径<默认值>:(指定圆环内径)指定圆环的外径<默认值>:(指定圆环外径)指定圆环的中心点或<退出>:(指定圆环的中心点)指定圆环的中心点或<退出>:(继续指定圆环的中心点,则继续绘制相同内外径的圆环。用回车、空格键或鼠标右6、键结束命令)。(3)选项说明若指定内径为零,则画出实心填充圆。用命令FILL可以控制圆环是否填充。命令:FILL↙输入模式[开(ON)/关(OFF)]<开>:(选择ON表示填充,选择OFF表示不填充)AUTOCAD画圆253.3多边形的生成263.3多边形的生成273.3多边形的生成目标:利用相邻像素之间的连贯性,提高算法效率处理对象:非自交多边形(边与边之间除了顶点外无其它交点)扫描线算法综合利用了区域的连贯性、扫描线的连贯性和边的连贯性,避免对象素逐点运算。283.3多边形的生成区间连贯性293.3多边形的生成扫描线连贯性303.3多边形的生成边的连贯性313.3多边7、形的生成基本原理一条扫描线与多边形的边有偶数个交点步骤(对于每一条扫描线):(1)求交点(2)交点排序(3)交点配对,填充区段。扫描线算法323.3多边形的生成交点的取整规则要求:使生成的像素全部位于多边形之内用于线画图元扫描转换的四舍五入原则导致部分像素位于多边形之外,从而不可用假定非水平变与扫描线y=e相交,交点的横坐标为x,规则如下扫描线算法333.3多边形的生成●规则1:X为小数,即交点落于扫描线上两个相邻像素之间(a)交点位于左边之上,向右取整(b)交点位于右边之上,向左取整343.3多边形的生成●规则2:边界上象素
4、执行方式命令行:CIRCLE菜单:绘图→圆工具栏:绘图→圆(2)操作步骤命令:CIRCLE↙指定圆的圆心或[三点(3P)/两点(2P)/相切、相切、半径(T)]:(指定圆心)指定圆的半径或[直径(D)]:(直接输入半径数值或用鼠标指定半径长度)指定圆的直径<默认值>:(输入直径数值或用鼠标指定直径长度)(3)选项说明三点(3P):用指定圆周上三点的方法画圆。两点(2P):指定直径的两端点画圆。相切、相切、半径(T):按先指定两个相切对象,后给出半径的方法画圆。菜单还提供一种“相切、相切、相切”模式画圆233.2直线、圆、椭圆的扫描变换2.圆弧(1)执行方式命令行:ARC(
5、缩写名:A)菜单:绘图→弧工具栏:绘图→圆弧(2)操作步骤命令:ARC↙指定圆弧的起点或[圆心(C)]:(指定起点)指定圆弧的第二点或[圆心(C)/端点(E)]:(指定第二点)指定圆弧的端点:(指定端点)AUTOCAD画圆243.2直线、圆、椭圆的扫描变换3.圆环(1)执行方式命令行:DONUT菜单:绘图→圆环(2)操作步骤命令:DONUT↙指定圆环的内径<默认值>:(指定圆环内径)指定圆环的外径<默认值>:(指定圆环外径)指定圆环的中心点或<退出>:(指定圆环的中心点)指定圆环的中心点或<退出>:(继续指定圆环的中心点,则继续绘制相同内外径的圆环。用回车、空格键或鼠标右
6、键结束命令)。(3)选项说明若指定内径为零,则画出实心填充圆。用命令FILL可以控制圆环是否填充。命令:FILL↙输入模式[开(ON)/关(OFF)]<开>:(选择ON表示填充,选择OFF表示不填充)AUTOCAD画圆253.3多边形的生成263.3多边形的生成273.3多边形的生成目标:利用相邻像素之间的连贯性,提高算法效率处理对象:非自交多边形(边与边之间除了顶点外无其它交点)扫描线算法综合利用了区域的连贯性、扫描线的连贯性和边的连贯性,避免对象素逐点运算。283.3多边形的生成区间连贯性293.3多边形的生成扫描线连贯性303.3多边形的生成边的连贯性313.3多边
7、形的生成基本原理一条扫描线与多边形的边有偶数个交点步骤(对于每一条扫描线):(1)求交点(2)交点排序(3)交点配对,填充区段。扫描线算法323.3多边形的生成交点的取整规则要求:使生成的像素全部位于多边形之内用于线画图元扫描转换的四舍五入原则导致部分像素位于多边形之外,从而不可用假定非水平变与扫描线y=e相交,交点的横坐标为x,规则如下扫描线算法333.3多边形的生成●规则1:X为小数,即交点落于扫描线上两个相邻像素之间(a)交点位于左边之上,向右取整(b)交点位于右边之上,向左取整343.3多边形的生成●规则2:边界上象素
此文档下载收益归作者所有