2010计算机图形学习题课.ppt

上传人:tia****nde 文档编号:8941750 上传时间:2020-04-02 格式:PPT 页数:50 大小:522.50KB
返回 下载 相关 举报
2010计算机图形学习题课.ppt_第1页
第1页 / 共50页
2010计算机图形学习题课.ppt_第2页
第2页 / 共50页
2010计算机图形学习题课.ppt_第3页
第3页 / 共50页
点击查看更多>>
资源描述
2010计算机图形学习题课 主讲 刘喜指导老师 董兰芳 内容提要 1重点知识回顾2作业讲解3提问 第一次作业 知识准备1 1图形的概念 计算机图形学的研究对象能在人的视觉系统中产生视觉印象的客观对象 包括自然景物 拍摄到的图片 用数学方法描述的图形等等 1 2图形的要素几何要素 刻画对象的轮廓 形状等非几何要素 刻画对象的颜色 材质等1 3图形表示法点阵表示 枚举出图形中所有的点 简称为图像 参数表示 由图形的形状参数 方程或分析表达式的系数 线段的端点坐标等 属性参数 颜色 线型等 来表示 简称为图形 第一次作业 三种类型的计算机图形软件系统 1 用某种语言写成的子程序包GKS GraphicsKernelSystem PHIGS GL便于移植和推广 但执行速度相对较慢 效率低 2 扩充计算机语言 使其具有图形生成和处理的功能如 TurboPascal TurboC AutoLisp等 简练 紧凑 执行速度快 但不可移植 3 专用图形系统 效率高 但系统开发量大 可移植性差 练 紧凑 执行速度快 但不可移植 第一次作业 2 19说明OpenGL核心库 OpenGL实用库 OpenGL实用工具包之间的区别 解 核心库用来描述图元属性 几何变换 观察变换和进行许多其它的操作 只包含与设备无关的函数 函数以gl为前缀 实用库包含用来生成复杂对象 指定二维观察应用的参数 处理表面绘制操作和完成其它支持任务的函数 函数以glu为前缀 实用工具包包含大量用来管理显示窗口与屏幕窗口系统交互及生成某些三维形体的函数 提供与任意屏幕窗口系统进行交互的函数库 是与其它依赖设备的窗口系统之间的接口 函数以glut为头缀 第一次作业 2 22解释术语 OpenGL显示回调函数 的含义 解 显示回调函数是程序员自己编写的关于显示窗口内容的函数 由glutDisplayFunc作为显示窗口需要重新显示时引入的函数来注册 当一个窗口的图像层需要重新绘制时 GLUT将调用该窗口的的显示回调函数 第二次作业 知识准备1画线算法 1 DDA画线算法 直接求交算法 划分区间 0 1 dt 1 n 计算坐标 取整复杂度 乘法 加法 取整DDA增量算法 xi 1 x1 x ti 1 xi x dt xi xincyi 1 y1 y ti 1 yi y dt yi yinc复杂度 加法 取整DDA算法缺点 需要进行浮点数运算 运行效率低 不便于用硬件实现 画线算法回顾 2 Bresenham画线算法目标 消除DDA算法中的浮点运算dlower dupper 取H点dlower dupper 取L点dlower dupper 选择H或L均可 Bresenham画线算法的特点 只包括整数的加法 减法和左移 乘2 操作 效率高 适合用硬件实现 画线算法回顾 3 并行画线算法让每一个处理器处理一组像素 适用于系统中的处理器非常多的场合 给定一条线段 可以得到它的包围盒 包围盒中共有 x y个像素 让每个处理器处理一组像素 画线算法回顾 中点画圆算法两种直接离散方法 离散点 x2 y2 R x sqrt R2 x2 离散角度 x Rcos y Rsin 缺点 计算量大 优点 效率高 只用到整数的加法 减法和左移 乘2 运算 并且适合用硬件实现 第二次作业 3 18利用中点算法并考虑对称性 推导在区间 10 x 10上 对下列曲线进行扫描转换的有效算法 y 1 12x3解 注意避免浮点运算 曲线为奇函数 关于原点对称 只需考虑区间 0 10 即可 区间 10 0 可有对称性得到 定义曲线函数 F x y 12y x3 p1k f xk 1 yk 1 2 p2k f xk 1 2 yk 1 曲线的斜率k dy dx x2 4 所以曲线的分界点为X 2 区域1 0 2 区域2 2 10 从 0 0 开始以x方向取单位步长直到分界点处 然后转为以y方向取单位步长 每一步中 需要检测曲线的斜率值 第二次作业 算法步骤如下 1得到曲线的第一个点 0 0 2计算区域1中的决策函数初始值 P10 6 1 53在区域1中的每个xk位置p1k 1 p1k 12 yk 1 1 2 12 yk 1 2 3xk2 9xk 7若p1k 0 增量 3xk2 9xk 7 曲线的下一点为 xk 1 yk 若p1k 0 增量 12 3xk2 9xk 7 下一点为 xk 1 yk 1 直到xk 24 区域2同理可得 5 确定第三象限的对称点 第三次作业 知识准备 填充方法1均匀着色方法 将图元内部像素置成同一颜色2位图不透明 若像素对应的位图单元为1 则以前景色显示该像素 若为0 则以背景色显示该像素 3位图透明 若像素对应的位图单元为1 则以前景色显示该像素 若为0 则不做任何处理 4像素图填充 以像素对应的像素图单元的颜色值显示该像素 填充方法回顾 基本问题 建立区域与图像间的对应关系1建立整个绘图空间与图像空间的1 1映射2建立区域局部坐标空间与图像空间的1 1映射 填充方法回顾 边的连贯性 某条边与当前扫描线相交 也可能与下一条扫描线相交 扫描线的连贯性 当前扫描线与各边的交点顺序与下一条扫描线与各边的交点顺序可能相同或类似 区间连贯性 同一区间上的像素取同一颜色属性扫描线算法目标 利用相邻像素之间的连贯性 提高算法效率处理对象 非自交多边形 边与边之间除了顶点外无其它交点 填充方法回顾 基本原理 一条扫描线与多边形的边有偶数个交点 步骤 对于每一条扫描线 求交点交点排序交点配对 填充区段 第三次作业 4 30修改扫描线算法 从而将任何指定的矩形填充图案应用到多边形内部 从所指定的图案位置开始填充 解 方法1 假设填充图案行数为ny 列数为nx 指定的图案位置为 x0 y0 前面的扫描线算法与通用扫描线填充算法类似 参考书上p159 p162 得到扫描线上的填充区域后 对于填充区域的每个像素 x y 其对应的像素颜色即为填充图案位置 x x0 modnx y y0 modny 的像素颜色 第三次作业 方法2 先得到多边形的包围矩形 将填充图案根据指定位置平铺到整个包围矩形 根据扫描线填充算法 若像素需要填充 则取包围矩形中同一点的颜色填充 基础知识回顾 提问 什么是走样和反走样 走样 用离散量 像素 表示连续的量 图形 而引起的失真 叫混淆或叫走样 aliasing 反走样 在图形显示过程中 用于减少或消除走样现象的方法 提高分辨率方法非加权区域采样加权区域采样 第四次作业 知识准备 计算机图形学中的矩阵运算 3D观察变换 定义 要将预设场景的世界坐标描述经各种处理变换到一个或多个输出设备参照系来显示的过程 本质 笛卡尔坐标系的3D变换源头 原始模型形状 建模坐标输出 显示屏幕画面 窗口 屏幕 坐标 3D观察的形象描述 视点变换 对准场景 模型变换 放置模型 相反过程 模型视点变换的数学描述 模型坐标到世界坐标世界坐标到观察坐标平移 缩放 旋转Opengl通过模型矩阵 ModelingMatrix 实现 简单例子 齐次坐标第一列为MC中x轴在WC中向量表示 第二列为MC中y轴在WC中向量表示 第三列为MC中原点在WC中坐标 模型坐标系中的坐标为 1 1 世界坐标系中的坐标为 3 4 简单例子 将齐次矩阵作为变换矩阵 乘以MC中坐标 得WC中坐标 回顾理论课内容 三维平移 回顾理论课内容 三维旋转 绕x轴 绕y轴 绕z轴 回顾理论课内容 三维缩放 第四次作业 5 4证明对于下列每个操作序列 矩阵相乘是可交换的 a 两个连续的旋转b 两个连续的平移c 两个连续的缩放 第四次作业 解 a 设两个旋转分别为R a1 和R a2 有 第四次作业 b 设两个平移分别为T x1 y1 和T x2 y2 有 第四次作业 c 设两个缩放分别为S x1 y1 和S x2 y2 有 第四次作业 5 5证明一致缩放和旋转形成可交换的操作对 但通常缩放和旋转不是可交换操作 解 设缩放为S x y 旋转为R a 有 知识回顾 提问 平行投影与透视投影的区别 第五次作业 补充题 证明OB旋转到平面OX Z 的角度与在OY Z 投影OB1旋转到Z轴上的OB3的角度是一样的 解 由长方体的性质易知 平面OBB1 平面OB1B3 平面OB2B3 平面OB1B3 所以 B1OB3是平面OBB1与OB2B3的二面角 而两平面的交轴是X 轴 所以平面OBB1上的任意点绕X 轴旋转到达平面OB2B3上 经过的角度均为 B1OB3 第五次作业 5 34设计三维对象相对于任选平面反射的程序 解 设该平面的方程为ax by cz d 0 对于任意一点 x1 y1 z1 其反射点为 x2 y2 z2 有中点在平面上 a x1 x2 2 b y1 y2 2 c z1 z2 2 d 0两点向量与平面法向量平行 x2 x1 a y2 y1 b z2 z1 c 第五次作业 求解上面三个方程 可以得到变换矩阵 第六次作业 知识准备 裁剪算法识别指定区域内或区域外图形部分的过程称为裁剪 裁剪的策略包括 1 先裁剪后扫描转换2 边扫描转换边裁剪 裁剪算法回顾 裁剪的类型 1 点的裁剪2 线段的裁剪3 区域的裁剪4 曲线的裁剪5 文字的裁剪 第六次作业 6 6讨论梁友栋 Barsky线裁剪算法中各种测试和交点参数u1 u2计算方法的原理 解 对端点为 x0 y0 和 xend yend 的直线段 可以使用参数形式描述直线段 x x0 u xy y0 u y 其中 0 u 1 x xend x0 y yend y0 可以得到不等式 xwmin x0 u x xwmaxywmin y0 u y ywmax 这个不等式组可以表示成 upk qk k 1 2 3 4的形式 第六次作业 令 P1 x q1 x0 xwminP2 x q2 xwmax x0P3 y q3 y0 ywminP4 y q4 ywmax y0假设裁剪窗口如下 由上面的式子可得 x 0时 线段与边界1 2平行 y 0时 边界与3 4平行 第六次作业 首先讨论线段与边界平行的情况 即pk 0 p1 0 平行于边界1 2 若q1 0 则x0 xwmin 线段可能在窗口内 p2 0 平行于边界1 2 若q2xwmax 线段一定在窗口外 若q2 0 则x0 0 线段才可能在窗口内 第六次作业 pk 0时 由于u要满足upk qk pk 又因为0 max qk pk 任意k满足pk u1对于所有满足pk 0的k 则有u0 令u2 min 1 qk pk 任意k满足pk 0 则u u2 综上得 pk 0时所得的条件为 u1 u u2 第六次作业 综合pk 0 pk 0的情况知在窗口内的u应满足的条件如下 pk 0 qk 0 条件1 pk 0 u1u2 所有u不满足条件2 线段全在窗口外3 若条件1成立 且u1 u2 则线段与裁剪窗口有交集 由于u1 u u2 则裁剪点为A x0 u1 x y0 u1 y B x0 u2 x y0 u2 y A B就是处在裁剪窗口内的线段的两个端点 第七次作业 知识准备 Bezier样条曲线 46 Bezier样条曲线 给定空间n 1个控制点Pi 0 i n 利用n次Bernstein基函数Bi n t 作为调和函数 可以确定一条n次B zier曲线 该曲线的参数方程为 B zier曲线的定义 Bezier样条曲线 B zier曲线的性质1 端点性质2 端点切向量3 对称性4 凸包性5 平面曲线的保型性6 拟局部性 第七次作业 8 10修改8 10节中的示例程序 使其显示任一使用xy平面上的四个输入控制点的三次Bezier曲线 第七次作业 致谢与交流 ThanksEMAIL xiliu
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!