计算机图形学ppt课件第三章图形变换与输出

上传人:san****019 文档编号:23721302 上传时间:2021-06-10 格式:PPT 页数:73 大小:466KB
收藏 版权申诉 举报 下载
计算机图形学ppt课件第三章图形变换与输出_第1页
第1页 / 共73页
计算机图形学ppt课件第三章图形变换与输出_第2页
第2页 / 共73页
计算机图形学ppt课件第三章图形变换与输出_第3页
第3页 / 共73页
资源描述:

《计算机图形学ppt课件第三章图形变换与输出》由会员分享,可在线阅读,更多相关《计算机图形学ppt课件第三章图形变换与输出(73页珍藏版)》请在装配图网上搜索。

1、第 三 章 图 形 变 换 与 输 出 变 换 的 数 学 基 础l 矢 量l 矢 量 和 zyxuuuU zyxvvvV zz yy xx vu vu vuVU 变 换 的 数 学 基 础l 矢 量 的 数 乘 l 矢 量 的 点 积l 性 质 zyxkukukuUk zzyyxx vuvuvuVU UVVU VUVU 0 00 UUU 变 换 的 数 学 基 础l 矢 量 的 长 度 l 单 位 矢 量 l 矢 量 的 夹 角l 矢 量 的 叉 积 222 zyx uuuUUU VU VU cos zyx zyx vvv uuu kjiVU 变 换 的 数 学 基 础l 矩 阵 l 阶 矩

2、 阵l n阶 方 阵l 零 矩 阵l 行 向 量 与 列 向 量l 单 位 矩 阵l 矩 阵 的 加 法 l 矩 阵 的 数 乘 l 矩 阵 的 乘 法 l 矩 阵 的 转 置 l 矩 阵 的 逆 m n 矩 阵 的 含 义矩 阵 : 由 m n个 数 按 一 定 位 置 排 列 的 一 个 整 体 , 简 称 m n矩 阵 。 mnmm nnaaa aaa aaa . . . . . . 21 22221 1 1211A=其 中 , aij称 为 矩 阵 A的 第 i行 第 j列 元 素 变 换 的 数 学 基 础 矩 阵 运 算l 加 法设 A, B为 两 个 具 有 相 同 行 和 列

3、元 素 的 矩 阵A+B = l 数 乘kA = k*aij|i=1.m, j=1,. n . b . . . . b m2211 1112121111 mnmnmmm nn baaba baaba变 换 的 数 学 基 础 l 乘 法设 A为 3 2矩 阵 , B为 2 3矩 阵 C = A B = C=Cm p = Am n Bn p cij = aik*bkjl 单 位 矩 阵 在 一 矩 阵 中 , 其 主 对 角 线 各 元 素 a ii=1,其 余 皆 为0的 矩 阵 称 为 单 位 矩 阵 。 n阶 单 位 矩 阵 通 常 记 作 In 。 Am n = Am n In baba

4、b abababa babababababa 322322221221312321221121 321322121211311321121111 k=1,n 变 换 的 数 学 基 础 l 逆 矩 阵 若 矩 阵 A存 在 AA-1=A-1A=I, 则 称 A-1为 A的 逆 矩 阵l 矩 阵 的 转 置 把 矩 阵 A=(aij)m n的 行 和 列 互 换 而 得 到 的 n m矩阵 称 为 A的 转 置 矩 阵 ,记 作 AT 。 (AT) T = A (A+B)T = AT + BT (aA)T = aAT (AB)T = BT AT 当 A为 n阶 矩 阵 , 且 A=AT , 则

5、A是 对 称 矩 阵 。变 换 的 数 学 基 础 矩 阵 运 算 的 基 本 性 质l 交 换 律 与 结 合 律 A+B=B+A; A+(B+C)=(A+B)+Cl 数 乘 的 分 配 律 及 结 合 律 a(A+B) = aA+aB; a(A B) = (aA) B=A (aB) (a+b)A = aA + bA a(bA) = (ab)A变 换 的 数 学 基 础 l 矩 阵 乘 法 的 结 合 律 及 分 配 律 A(B C) = (A B)C (A+B) C = A C+ B C C (A+B) = C A + C Bl 矩 阵 的 乘 法 不 适 合 交 换 律变 换 的 数 学

6、 基 础 所 谓 齐 次 坐 标 表 示 法 就 是 由 n+1维 向 量 表 示一 个 n维 向 量 。 如 n维 向 量 (P1,P2, ,Pn)表 示为 ( hP1,hP2,hPn,h) , 其 中 h称 为 哑 坐 标 。 1、 h可 以 取 不 同 的 值 , 所 以 同 一 点 的 齐 次坐 标 不 是 唯 一 的 。如 普 通 坐 标 系 下 的 点 ( 2,3) 变 换 为 齐 次 坐 标可 以 是 (1,1.5,0.5)(4,6,2)(6,9,3)等 等 。 2、 普 通 坐 标 与 齐 次 坐 标 的 关 系 为 “ 一 对 多 ”由 普 通 坐 标 h齐 次 坐 标由 齐

7、 次 坐 标 h普 通 坐 标 3、 当 h=1时 产 生 的 齐 次 坐 标 称 为 “ 规 格 化坐 标 ” , 因 为 前 n个 坐 标 就 是 普 通 坐 标 系 下的 n维 坐 标 。齐 次 坐 标 齐 次 坐 标(x,y)点 对 应 的 齐 次 坐 标 为 (x,y)点 对 应 的 齐 次 坐 标 为 三 维 空 间 的 一 条 直 线 ( , , )x y hh h0, hhyyhxx hh hz hyy hxx hhh 1. 将 各 种 变 换 用 阶 数 统 一 的 矩 阵 来 表 示 。 提 供 了 用 矩 阵 运 算 把二 维 、 三 维 甚 至 高 维 空 间 上 的

8、一 个 点 从 一 个 坐 标 系 变 换 到 另 一坐 标 系 的 有 效 方 法 。2. 便 于 表 示 无 穷 远 点 。例 如 : ( x h, y h, h), 令 h等 于 03. 齐 次 坐 标 变 换 矩 阵 形 式 把 直 线 变 换 成 直 线 段 , 平 面 变 换 成 平面 , 多 边 形 变 换 成 多 边 形 , 多 面 体 变 换 成 多 面 体 。4. 变 换 具 有 统 一 表 示 形 式 的 优 点l 便 于 变 换 合 成l 便 于 硬 件 实 现齐 次 坐 标 的 作 用 窗 口 视 图 变 换 l 用 户 域 和 窗 口 区1 用 户 域 : 程 序

9、员 用 来 定 义 草 图 的 整 个 自 然 空 间 (WD) a 人 们 所 要 描 述 的 图 形 均 在 用 户 域 中 定 义 。 b 用 户 域 是 一 个 实 数 域 , 理 论 上 是 连 续 无 限 的 。2 窗 口 区 : 用 户 指 定 的 任 一 区 域 (W) a 窗 口 区 W小 于 或 等 于 用 户 域 WD b 小 于 用 户 域 的 窗 口 区 W叫 做 用 户 域 的 子 域 。 c 窗 口 可 以 有 多 种 类 型 , 矩 形 窗 口 、 圆 形 窗 口 、 多 边 形 窗 口等 等 d 窗 口 可 以 嵌 套 , 即 在 第 一 层 窗 口 中 可

10、再 定 义 第 二 层 窗 口 ,在 第 I层 窗 口 中 可 再 定 义 第 I+1层 窗 口 等 等 。 窗 口 视 图 变 换1 屏 幕 域 (DC): 设 备 输 出 图 形 的 最 大 区 域 , 是 有限 的 整 数 域 。 如 图 形 显 示 器 分 辨 率 为1024768DC0.10230.7672 视 图 区 : 任 何 小 于 或 等 于 屏 幕 域 的 区 域 a 视 图 区 用 设 备 坐 标 定 义 在 屏 幕 域 中 b 窗 口 区 显 示 在 视 图 区 , 需 做 窗 口 区 到 视 图 区 的 坐标 转 换 。 c 视 图 区 可 以 有 多 种 类 型 :

11、 圆 形 、 矩 形 、 多 边 形 等 。 d 视 图 区 也 可 以 嵌 套 。 窗 口 区 和 视 图 区 的 坐 标 变 换 设 窗 口 的 四 条 边 界 WXL,WXR,WYB,WYT视 图 的 四 条 边 界 VXL,VXR,VYB,VYT则 用 户 坐 标 系 下 的 点 ( 即 窗 口 内 的 一 点 )(Xw,Yw)对 应 屏 幕 视 图 区 中 的 点 ( Xs,Ys) ,其 变 换 公 式 为 VYBWYBYWYBWYT VYBVYTY VXLWXLXWXLWXR VXLVXRX ws ws 窗 口 区 和 视 图 区 的 坐 标 变 换l 简 化 为 :l 1) 当

12、ac时 , 即 x 方 向 的 变 化 与 y方 向 的 变化 不 同 时 , 视 图 中 的 图 形 会 有 伸 缩 变 化 , 图形 变 形 。l 2) 当 a=c=1, b=d=0则 Xs=Xw,Ys=Yw,图 形 完全 相 同 。l 思 考 : 前 面 讲 的 窗 口 视 图 变 换 时 , 假 设 窗口 的 边 和 坐 标 轴 平 行 , 如 果 窗 口 的 边 不 和 坐标 轴 平 行 呢 ? 式)1( dYcY bXaX ws ws 窗 口 区 和 视 图 区 的 坐 标 变 换l A. 先 让 窗 口 FGHI转 -角 , 使 它 和 FGHI重 合 。l B. 用 (1)式

13、进 行 计 算 。 l 图 形 变 换 是 计 算 机 图 形 学 基 础 内 容 之 一 。几 何 变 换 , 投 影 变 换 , 视 窗 变 换线 性 变 换 , 属 性 不 变 , 拓 扑 关 系 不 变 。作 用 :l 把 用 户 坐 标 系 与 设 备 坐 标 系 联 系 起 来 ;l 可 由 简 单 图 形 生 成 复 杂 图 形 ;l 可 用 二 维 图 形 表 示 三 维 形 体 ;l 动 态 显 示 。图 形 变 换 二 维 图 形 的 显 示 流 程 图 图 形 的 几 何 变 换l 图 形 变 换 : 对 图 形 的 几 何 信 息 经 过 几 何 变 换后 产 生 新

14、的 图 形 。l 图 形 变 换 的 两 种 形 式 :l 1.图 形 不 变 , 坐 标 系 改 变 ;l 2.图 形 改 变 , 坐 标 系 不 变 。l 我 们 所 讨 论 的 是 针 对 坐 标 系 的 改 变 而 讲 的 。 图 形 变 换 一 般 是 指 将 图 形 的 几 何 信 息 经 过 几 何 变 换 后 产生 新 的 图 形 。图 形 变 换 既 可 以 看 做 是 图 形 不 动 而 坐 标 系 变 动 , 变 动 后 该 图 形 在新 的 坐 标 系 下 具 有 新 的 坐 标 值 ; 也 可 以 看 作 是 坐 标 系 不 动 而 图 形变 动 , 变 动 后 的

15、图 形 在 坐 标 系 中 的 坐 标 值 发 生 变 化 。线 框 图 形 的 变 换 , 通 常 是 以 点 变 换 为 基 础 , 把 图 形 的 一 系 列 顶 点做 几 何 变 换 后 , 连 接 新 的 顶 点 序 列 , 即 可 产 生 新 的 变 换 后 的 图 形 。对 于 用 参 数 方 程 描 述 的 图 形 , 可 以 通 过 参 数 方 程 几 何 变 换 , 实 现对 图 形 的 变 换 。图 形 学 中 , 实 现 图 形 变 换 时 通 常 采 用 齐 次 坐 标 系 来 表 示 坐 标 值 ,可 方 便 的 用 变 换 矩 阵 实 现 对 图 形 的 变 换

16、。齐 次 坐 标 表 示 法 , 就 是 用 n+1维 矢 量 表 示 一 个 n维 矢 量 , 即 n维 空 间 中 的 点 的 位 置 矢 量 ( P1,P2Pn) 被 表 示 为 具 有 n+1个 坐标 分 量 的 矢 量 ( hp1,hp2hpn, h) 。 齐 次 坐 标 表 示 法 一 方 面 可 以 表 达 无 数 远 点 ; 另 一 方 面 提供 了 把 矩 阵 运 算 把 二 维 三 维 甚 至 高 维 空 间 中 一 个 点 集 从一 个 坐 标 系 变 换 到 另 一 个 坐 标 系 的 有 效 方 法 。这 里 讨 论 的 几 何 变 换 都 是 在 齐 次 坐 标 下

17、 。3.1图 形 的 几 何 变 换基 本 的 几 何 变 换 研 究 物 体 坐 标 在 直 角 坐 标 系 内 的 平 移 、 旋 转 和变 比 的 规 律 。 基 本 变 换 可 分 为 二 维 几 何 变 换 和 三 维 几 何 变 换 两大 类 。 对 于 参 数 表 示 的 曲 线 曲 面 等 图 形 的 变 换 , 基 于 效 率 的 考虑 , 一 般 对 其 参 数 做 变 换 来 实 现 对 整 个 图 形 的 变 换 , 而 不 是 逐点 进 行 变 换 。3.1.1二 维 图 形 几 何 变 换1、 基 本 变 换 ( 1) 平 移 (Translation) 平 移 是

18、 将 对 象 从 一 个 位 置 (x,y)移 到 另 一 个 位 置 (x,y)的 变 换 。Tx=x-x,Ty=y-y称 为 平 移 距 离 。 平 移 变 换 公 式 为 :yx TyyTxx , ( x,y) ( x,y) 0 XY 图 3.1 平 移 ( 2) 旋 转 (Rotation)旋 转 是 以 某 个 参 考 点 为 圆 心 , 将 对 象 上 的 各 点 ( x,y) 围 绕 圆 心转 动 一 个 逆 时 针 角 度 , 变 为 新 的 坐 标 ( x,y) 的 变 换 。 当 参 考点 为 (0,0)时 , 旋 转 的 公 式 为 : sincoscossin)sin(

19、 sinsincoscos)cos( ararary arararx 因 为 x=rcosa, y=rsina, 所 以 上 式 可 转 化 为 : sincos sincos xyy yxx 如 果 参 考 点 不 是 ( 0, 0) , 而 是 任 意 一 点 ( x r,yr) ,那 么 绕( xr,yr) 点 的 旋 转 由 3个 步 骤 :A、 将 对 象 平 移 Tx=-xr,Ty=-yrB、 按 式 (3.2)做 旋 转 变 换C、 平 移 Tx=xr,Ty=yr。 组 合 这 3个 步 骤 的 公 式 为 ( 3.2) sin)(cos)( sin)(cos)( rrr rrr

20、 xxyyyy yyxxxx a (x,y)(x,y)0Y X图 3.2 旋 转 ( 3) 变 比 (Scaling)变 比 是 使 对 象 按 比 例 因 子 ( Sx,Sy) 放 大 或 缩 小 的 变 换 , 公 式 :yx SyySxx .,. 按 式 ( 3.3) 做 变 比 变 换 时 , 不 仅 对 象 的 大 小 变 换 , 而 且 , 对象 离 原 点 的 距 离 也 发 生 了 变 换 。 如 果 只 希 望 变 换 对 象 的 大 小 ,而 不 改 变 对 象 离 原 点 的 距 离 , 称 为 固 定 点 变 比 (Scaling Relative to a Fixed

21、 Point)。 以 a为 固 定 点 进 行 变 比 的 方 法 :1、 做 平 移 T x=-xa,Ty=-ya2、 按 式 ( 3.3) 做 变 比3、 做 ( 1) 的 逆 变 换 , 即 做 平 移 Tx=xa,Ty=ya (3.3) ( x,y)(x,y)Y0 X图 3.3 变 比当 变 比 因 子 Sx或 Sy小 于 0时 , 对 象 不 仅 变 化 太 小 , 而 且 分 别 按 x轴 或 y轴 被 反 射 。 下 图 ( a) 表 示 当 Sy=-1,Sx=1时 的 变 化 , 按 x轴 反 射 ; ( b) 表 示 当 Sy=1,Sx=-1时 的 变 化 , 按 y轴 反

22、射 ; ( c)表 示 当 Sx=-1,Sy=-1时 按 原 点 ( 0, 0) 反 射 。 X0Y (a)x轴 反 射 0Y 0YX X(b)y轴 反 射 (c)原 点 反 射2、 变 换 矩 阵上 述 三 种 基 本 变 换 公 式 都 可 以 表 示 为 3 3的 变 换 矩 阵 和 齐 次 坐标 相 乘 的 形 式 。1) 平 移 的 矩 阵 运 算 形 式 1010 0011,1, yx TTyxyx 简 记 为 p=p.T(Tx,Ty)。 其 中 , p=x,y,1, p=x,y,1 1010 001),( yxyx TTTTT表 示 平 移 矩 阵 。2) 旋 转 的 矩 阵 运

23、 算 表 示 为 100 0cossin 0sincos.1,1, yxyx简 记 为 p=p.R(), 其 中 R()表 示 旋 转 矩 阵 。3) 变 比 的 矩 阵 运 算 表 示 为 100 00 001,1, yx SSyxyx简 记 为 p=p.S(Sx,Sy), 其 中 S(Sx,Sy)表 示 变 比 矩 阵 。3、 级 联 变 换 (Composite Transformation)由 基 本 变 换 构 成 的 连 续 变 换 序 列 称 为 级 联 变 换 。 一 个 比 较 复 杂的 变 换 需 要 连 续 的 进 行 若 干 个 基 本 变 换 才 能 实 现 , 也

24、就 是 要 经过 级 联 变 换 。变 换 的 矩 阵 形 式 使 得 级 联 变 换 的 工 作 量 大 为 减 少 。 以 绕 任 意 点旋 转 变 换 为 例 , 本 应 该 进 行 如 下 3次 变 换 : ),(. )(. ),(. rr rr yxTpp Rpp yxTpp ( 3.4)( 3.5)( 3.6) 将 式 (3.4)(3.5)代 入 (3.6)得 ),().().,(. rrrr yxTRyxTpp 令 ).().().,( rrrrc yxTRyxTT cTpp . Tc称 为 级 联 变 换 矩 阵 。3.1.2 三 维 图 形 几 何 变 换1、 旋 转分 为

25、三 种 基 本 旋 转 : 绕 Z、 Y、 X旋 转 。下 述 旋 转 公 式 设 旋 转 的 参 考 点 在 所 绕 的 轴 上 , 绕 轴 转 角 , 方 向是 从 轴 所 指 处 往 原 点 看 是 逆 时 针 。 1、 绕 Z轴 旋 转 的 公 式 ( 简 记 Rz())zz yxy yxx cossin sincos 矩 阵 运 算 的 表 达 式 1000 0100 00cossin 00sincos.1,1, zyxzyx2、 绕 X轴 旋 转 的 公 式 ( 简 记 R x()) cossin sincos zyz zyy xx 1000 0cossin0 0sincos0 0

26、001.1,1, zyxzyx3、 绕 y轴 旋 转 的 公 式 ( 简 记 Ry()) sincos cossin xzz yy xzx 1000 0cos0sin 0010 0sin0cos.1,1, zyxzyx 如 果 旋 转 所 绕 的 轴 不 是 坐 标 轴 , 而 是 一 条 任 意 轴 。 首 先 , 对 旋转 轴 做 平 移 和 绕 轴 旋 转 变 换 , 使 得 所 绕 之 轴 与 某 一 条 标 准 轴 重合 ; 然 后 , 绕 该 标 准 坐 标 轴 做 所 需 角 度 的 旋 转 ; 最 后 , 通 过 逆变 换 使 所 绕 之 轴 恢 复 到 原 来 位 置 。 需

27、 要 7个 基 本 变 换 的 级 联 才能 完 成 。 Rx( a) Ry( ) aRz( ) xx x xxy yy y yzz zz zp2 p2 p2p1p2 p2p1 p1(a)初 始 状 态 (b)p1点 与 原 点 重 合p1 (c)p1p2落 入 平 面 xoz(d)p1p2与 Z轴 重 合 (e)绕 p1p2轴 角 旋 转p1 2、 旋 转设 Sx,Sy,Sz是 3个 坐 标 轴 方 向 的 比 例 因 子 , 则 有 :zyx SzzSyySxx .,.,. 矩 阵 的 表 示 为 1000 000 000 000.1,1, zyx SSSzyxzyx简 记 为 S(Sx,

28、Sy,Sz), 对 于 某 个 非 原 点 参 数 点( Xf,Yf,Zf) 进 行 固 定 点 变 比 变 换 , 是 通 过 如 下 级 联 变换 实 现 的 : ),(),(),( fffzyxfff zyxTSSSSzyxT 下 面 介 绍 三 维 几 何 变 换 的 指 令 , 与 二 维 几 何 变 换 类 似 ,也 有 3条 指 令 , 分 别 如 下 :1、 建 立 变 换 矩 阵 的 指 令Creat-transformation-matrix(Xf,Yf,Zf,Sx,Sy,Sz,Xr1,Yr1,Zr1,Xr2,Yr2,Zr2,a,Tx,Ty,Tz,matrix)其 中 ,

29、Xf,Yf,Zf是 固 定 点 变 比 的 固 定 坐 标 ;Sx,Sy,Sz是 变 比 参 数 ;Xr1,Yr1,Zr1,Xr2,Yr2,Zr2是 旋 转 所 绕 任 意 轴 的 起 点 与终 点 坐 标 ;A是 旋 转 角 度 。 Matrix是 返 回 的 4 4矩 阵 。 2、 积 累 变 换 的 指 令Accumulate-matrices-3(m1,m2,m)其 中 m1,m2是 输 入 矩 阵 ,m是 输 出 矩 阵 , 3个 都 是 4 4矩 阵 , 这 条 指 令 执 行 如 下 功 能 : m=m1.m23、 坐 标 变 换 指 令Set-segment-transform

30、ation-3(Id,matrix);其 中Id是 物 体 的 编 号 , matrix是 变 换 矩 阵 。 这 条 指 令 将 Id所 含 的 坐 标 逐 一 与 matrix相 乘 , 从 而 实 现 三 维 几 何 变换 。 3.1.3参 数 几 何 变 换前 面 介 绍 都 是 图 形 几 何 变 换 均 是 基 于 点 的 变 换 。 对 于用 参 数 表 示 的 图 形 几 何 变 换 仍 是 基 于 点 的 , 计 算 量 和存 储 空 间 都 很 大 。1、 圆 锥 曲 线 的 几 何 变 换圆 锥 曲 线 的 方 程 为 0 22 FEyDxCyBxyAx矩 阵 表 示 为

31、 0122 22 221, yxFED ECB DBAyx简 记 为XSXT=0 (1)平 移 变 换平 移 矩 阵 为 1010 001 nmTr 则 平 移 之 后 圆 锥 曲 线 方 程 为0TTrr XSTXT(2)旋 转 变 换旋 转 矩 阵 为 100 0cossin 0sincos R则 旋 转 之 后 圆 锥 曲 线 方 程 为 0 TT XXRSR若 对 圆 锥 曲 线 相 对 (m,n)点 做 旋 转 角 变 换 , 变 换 后 圆锥 曲 线 矩 阵 方 程 为 0TTrTr XTRSRXT ( 3) 比 例 变 换对 圆 锥 曲 线 相 对 ( m,n) 点 进 行 比

32、例 变 换 , 比 例 变 换 矩阵 为 100 00 10yxT SSS变 换 后 的 圆 锥 曲 线 方 程 为 0TT rTTTr XTSSSXT 3.2坐 标 系 统 及 其 变 换 zzryrx ,sin,cos 3.2.1坐 标 系 统坐 标 系 统 的 分 类 : 按 维 度 来 分 , 可 以 分 为 一 维 坐 标 系统 、 二 维 坐 标 系 统 、 三 维 坐 标 系 统 ; 按 坐 标 轴 之 间 的空 间 关 系 分 为 直 角 坐 标 系 统 、 圆 柱 坐 标 系 统 、 球 坐 标系 统 。 其 中 直 角 坐 标 系 统 用 的 最 多 。圆 柱 坐 标 系

33、统 与 直 角 坐 标 系 统 的 关 系 为球 坐 标 系 统 与 直 角 坐 标 系 统 关 系 为 cos,sinsin,cossin rzryrx 世 界 坐 标 系 ( World Coordinate System)局 部 坐 标 系 ( Local Coordinate System )观 察 坐 标 系 ( Viewing Coordinate System )成 像 面 坐 标 系屏 幕 坐 标 系 3.2.2规 格 化 变 换 与 设 备 坐 标 变 换计 算 机 图 形 学 中 , 世 界 坐 标 系 和 规 格 化 设 备 坐 标系 ( Normalized Devic

34、e Coordinate,NDC) 是 两 个同 时 使 用 的 坐 标 系 。世 界 坐 标 系 是 设 计 者 描 述 现 实 世 界 中 的 设 计 对 象所 用 的 坐 标 系 , 其 坐 标 的 范 围 可 以 任 意 大 小 。 规 格 化 坐标 系 是 计 算 机 图 形 软 件 描 述 设 计 对 象 所 用 的 介 质 。 图 形硬 件 不 同 , 设 备 的 坐 标 系 也 不 同 。 为 了 使 图 形 软 件 易 于在 不 同 设 备 之 间 移 植 , 图 形 软 件 并 不 采 用 实 际 的 设 备 坐标 , 而 采 用 规 格 化 设 备 坐 标 。规 格 化

35、设 备 坐 标 定 义 x,y方 向 的 变 化 范 围 为 01,从 规 格 化 设 备 坐 标 到 各 种 图 形 硬 件 实 际 坐 标 之 间 的 映 射由 图 形 软 件 自 动 实 现 。 因 此 使 用 图 形 软 件 的 用 户 均 以 规格 化 设 备 坐 标 在 各 种 图 形 输 出 与 显 示 设 备 上 作 图 。 世 界 坐 标 的 范 围 是 无 限 大 。 为 了 使 规 格 化 设 备 坐 标 上 显示 的 世 界 坐 标 系 中 的 物 体 有 一 个 合 适 的 范 围 与 大 小 , 必须 首 先 对 世 界 坐 标 系 指 定 显 示 范 围 , 它

36、通 常 是 个 矩 形 。在 世 界 坐 标 系 中 这 个 矩 形 称 为 窗 口 。 在 规 格 化 设 备 坐 标系 中 这 个 矩 形 被 称 为 视 区 ( View Port) 。 图 形 软 件 根据 窗 口 与 视 区 的 一 一 对 应 关 系 , 自 动 实 现 从 世 界 坐 标 系到 规 格 化 设 备 坐 标 的 变 换 。 这 种 从 窗 口 到 视 区 的 变 换 称为 规 格 化 变 换 ( Normalization Transformation) 。1、 规 格 化 变 换1) 指 定 窗 口 的 大 小 与 编 号Set-window(N,Xw-min,X

37、w-max,Yw-min,Yw-max)N为 窗 口 编 号 , Xw-minYw-max为 窗 口 沿 x方 向 y方 向 的 最 小 值 和 最 大 值 , 这 些 参 数 均 用 世 界 坐 标 。 2) 指 定 视 区 的 大 小 与 编 号Set-viewport(N,Xv-min,Xv-max,Yv-min,Yv-max)N为 视 区 编 号 , Xv-minYv-max为 视 区 x方 向 y方 向 的 最 小 值和 最 大 值 , 这 些 参 数 使 用 规 格 化 设 备 坐 标 。70.5-65 -20.75 40.25 0.71 0.5 0.8( a) 窗 口 的 坐 标

38、 ( b) 视 区 的 坐 标图 3.9从 a到 b的 标 准 化 变 换 3) 选 择 规 格 化 变 换Select-normalization-transformation(N)N是 规 格 化 变 换 的 编 号 , 也 即 窗 口 和 视 区 的 编 号 。2、 窗 口 操 作1) 视 野 的 变 换 ( Zooming)变 换 视 野 的 效 果 改 变 窗 口 的 4个 参 数 , 令 minmaxminmax , wwwwww yyyxxx当 变 小 时 , 视 区 内 的 物 体 就 变 大 了 , 否 则 就 变 小 。 前 者称 为 zoom-in( 视 野 变 小 )

39、, 后 者 称 为 zoom-out( 视 野 变 大 )While(zoom-in)Xw-max-;Xw-min+;Yw-max-;Yw-min+;While(zoom-out)Xw-max+;Xw-min-;Yw-max+;Yw-min-;ww yx , 2)摇 镜 头 ( panning)效 果 就 像 取 景 框 在 一 张 很 大 的 图 纸 上 移 动 , 它 也 改 变 4个 参 数dyYY dyYY dxXX dxXX ww ww ww ww minmin maxmax minmin maxmax当 dx0时 , 镜 头 往 右 移 ; dx0时 ,镜 头 往 上 移 ; dy

40、0, 镜 头 往 下 移 。3) 多 重 窗 口 ( Multiple Window)对 不 同 的 窗 口 分 别 指 定 视 区 , 就 在 荧 光 屏 上 出 现 多 窗 口 。设 两 条 折 线 p1,p2的 坐 标 存 在 4个 数 组 x1,y1,x2,y2中 , 下 列指 令 序 列 可 以 实 现 多 重 窗 口 效 果 。 Set-window(1,1,9,300,700);Set-viewport(1,0.1,0.4,0.2,0.8);Set-window(2,10,13,100,200);Set-viewport(2,0.6,0.9,0.2,0.8);Select-nor

41、malization-transformation(1);Polyline(l1,x1,y1);Select-normalization-transformation(2);Polyline(l2,x2,y2); 0.1 0.4 0.6 0.90.20.8图 3.10一 个 屏 幕 上 多 个 窗 口 视 区 显 示 多 重 窗 口 的 视 区 还 可 以 重 叠 , 操 作 内 容 增 加 , 如 重 叠 层 次 改 变 与指 定 、 视 区 拖 动 以 及 大 小 的 改 变 。 这 些 内 容 都 涉 及 窗 口 内 容 的 恢复 。 除 使 用 帧 缓 冲 外 , 还 需 要 更 多

42、内 存 来 保 存 非 表 面 层 窗 口 内 容 ,以 做 恢 复 之 用 。 下 面 指 令 来 指 定 视 区 的 优 先 级 :Set-Viewport-Input-Priority(NT1,NT2,HL)NT1、 NT2是 两 个 标 准 化 变 换 的 名 , HL可 选 Higher或 Lower( Higher意 味 着 NT1优 先 于 NT2, 否 则 NT2优 先 NT1) 。 优 先 级 可以 传 递 继 承 。3、 从 规 格 化 坐 标 ( NDC) 到 设 备 坐 标 ( DC) 的 变 换NDC变 换 成 DC( 即 显 示 器 的 像 素 坐 标 ) 变 换

43、关 系 如 下 : -1 -aa 0Ny-1 Nx-11 0NDC 像 素图 3.12 NDC到 DC的 变 换 关 系 其 中 a=1,Nx=1024,Ny=768。 规 格 化 坐 标 中 的 点 ( Xin,Yin)经 过 平 移 ( dx,dy) 和 比 例 变 换 ( Sx,Sy) , 就 可 以 得 到 设 备 坐标 系 中 的 点 ( Xout,Yout)1) 公 式 yinyoutxinxout dysydxsx .,.若 规 格 化 坐 标 中 的 两 点 Xin1和 Xin2变 换 到 设 备 坐 标 下 为 Xout1和Xout2, 由 于 从 规 格 化 坐 标 到 设

44、 备 坐 标 的 变 化 是 线 性 变 化 , 则有 yNDCyDC xNDCxDC inxoutx ininoutoutx dySy dxSx xSxd xxxxS . . )/()( 11 1212 注 意 3个 方 面 的 问 题 :( 1) 要 考 虑 x、 y方 向 上 的 实 际 像 素 数 ;( 2) 规 格 设 备 坐 标 空 间 具 有 的 几 何 一 致 性 不 一 定 在 设 备 坐 标 空间 中 成 立 ( 因 设 备 坐 标 系 中 的 像 素 不 一 定 是 正 方 形 , 例 如 图3.12中 像 素 高 宽 比 是 (Nx-1)/(Ny-1), 常 用 微 型

45、 计 算 机 像 素 高宽 比 为 768/1024)( 3) 实 际 应 用 中 规 格 设 备 坐 标 和 设 备 坐 标 的 方 向 相 反 。2) 方 向以 图 3.12为 例 子 , x方 向 , -1变 成 0, 1变 成 N x-1, Sx=(Nx-1)/2, dx=(Nx-1)/2;y方 向 , a变 成 0, -a变 成 Ny-1, Sy=(Ny-1)/(-2a), dy=(Ny-1)/2。3) 设 备 坐 标 中 像 素 中 心 的 变 换规 格 化 坐 标 系 中 的 点 变 换 到 设 备 坐 标 后 应 在 相 应 位 置 的 像 素 中 心 。 X方 向 上 , -

46、1变 成 -0.5, 1变 成 Nx-0.5, Sx=Nx/2, dx=(Nx-1)/2; y方 向 , a变 成 -0.5, -a变 成 Ny-0.5, Sy=-Ny/(2a),dy=(Ny-1)/2。3.2.3投 影 变 换1、 基 本 概 念计 算 机 图 形 软 件 中 所 采 用 的 笛 卡 儿 ( Cartesian) 直 角 三 维 坐 标 系系 统 , 按 z轴 方 向 不 同 分 为 :( 1) 右 手 系 统 xz y ( 2) 左 手 系 统 xzy在 三 维 坐 标 系 中 , 物 体 上 各 点 都 以 3个 分 量 (x,y,z)描 述 , 此 物 体称 为 三 维

47、 物 体 。 若 将 三 维 物 体 描 述 在 二 维 平 面 上 , 必 须 对 三 维 物体 进 行 投 影 。 投 影 (project)是 一 种 使 三 维 对 象 映 射 为 二 维 对 象的 变 换 。 project(object(x,y,z) object(x,y)投 影 在 视 域 坐 标 系 ( 也 称 观 察 坐 标 系 ) 内 进 行 , 视 域 坐 标 系 通 常 为 一 左 手 系 , 下 面 介 绍 的 投 影 在 左 手 坐 标 系 内 介 绍 。 投 影 的 要 素 除 投 影 对 象 、 投 影 面 外 , 还 有 投 影 线 。 按 照 投 影 线 的

48、角 度 不 同 , 有 两 种 基 本 投 影 方 法 :( 1) 平 行 投 影 ( Parallal Projection)它 使 用 一 组 平 行 投 影 线 将 三 维 对 象 投 影 到 投 影 平 面 上 。( 2) 透 视 投 影 ( Perspective Projection)它 使 用 一 组 由 投 影 中 心 产 生 的 放 射 投 影 线 , 将 三 维 对 象 投 影 到 投影 平 面 上 。 图 3.14 两 种 基 本 投 影P1P2 P1P2P1P2 P1P2 o 由 平 行 投 影 方 法 表 现 三 维 对 象 的 图 , 称 为 正 视 图 和 轴 测

49、 图 。 由透 视 投 影 方 法 表 现 三 维 对 象 的 图 , 称 为 透 视 图 。 下 面 讨 论 中 ,假 设 投 影 面 与 xoy面 重 合 , 即 在 投 影 面 上 z=0。2、 平 行 投 影 变 换按 照 标 准 线 与 投 影 面 的 夹 角 不 同 , 平 行 投 影 分 为 正 交 平 行 投 影和 斜 交 平 行 投 影 两 类 。1) 正 交 平 行 投 影 ( Orthographic P.P.)投 影 线 与 投 影 面 成 90度 角 , 一 个 三 维 点 ( x,y,z)正 交 平 行 投影 法 投 影 到 平 面 xoy上 , 得 到 一 个 二

50、 维 点 ( x p,yp)Xp=x, yp=y, zp=0同 理 也 可 以 将 三 维 物 体 正 交 平 行 投 影 到 xoz和 yoz平 面 上 , 分别 获 得 平 视 图 和 侧 视 图 。 设 计 中 常 用 正 交 平 行 投 影 来 产 生 三视 图 , 称 为 正 视 图 。 2) 斜 交 平 行 投 影 ( Oblique P.P.)投 影 线 与 投 影 面 成 a角 。 一 个 三 维 点 ( x,y,z) 以 斜 交 平 行 投 影 方法 投 影 到 投 影 面 上 , 形 成 投 影 坐 标 ( xp,xp,zp) 。 斜 交 平 行 投 影也 称 轴 测 投

51、影 , 所 获 得 图 称 为 轴 测 图 。3、 透 视 投 影 变 换设 投 影 中 心 在 z轴 负 轴 上 , 投 影 中 心 c到 坐 标 原 点 o的 距 离 为 d。为 求 透 视 投 影 变 换 公 式 , 先 列 出 直 线 PC的 参 数 化 方 程 :udzzzyyyxxx uu )(, 参 数 u变 化 范 围 01, 当 u=0时 , ( x,y,z) 等 于 ( x,y,z) ,即 P点 ; 当 u=1时 , ( x,y,z) 等 于 ( 0,0,-d) , 即 C点 。 因 此u值 表 示 直 线 PC上 的 位 置 。 do xyz cP(x,y,z)P(x,y

52、,z)图 3.15 透 视 投 影 3.3图 元 输 出 与 输 出 属 性3.3.1二 维 图 元 输 出图 元 是 图 形 软 件 用 于 组 织 和 操 作 画 面 的 最 基 本 的 素 材 。一 幅 画 面 有 图 元 组 成 , 图 元 是 一 组 最 简 单 的 、 最 通 用的 几 何 图 形 或 字 符 。图 形 软 件 中 常 用 的 图 元 有 Line(直 线 段 )、 Polyline(折线 )、 Text(字 符 串 )、 Fill area(色 块 )、Polymarker(符 号 的 轨 迹 )、 Move(现 行 位 置 的 定 位 )、Cell Array(

53、像 素 矩 阵 )、 Circle(圆 )。 每 种 图 元 都 有 一 系 列 参 数 描 述 , 这 些 参 数 由 两 类 命 令 定 义 : 一 类是 输 出 图 元 命 令 , 它 描 述 了 图 元 的 种 类 及 最 重 要 、 也 是 变 化 最 频繁 的 参 数 , 如 直 线 的 端 点 坐 标 。 另 一 类 是 图 元 性 质 定 义 命 令 , 它描 述 了 图 元 的 其 余 性 质 , 如 直 线 的 宽 度 、 线 型 等 。用 户 定 义 的 二 维 图 元 的 窗 口 区 到 视 图 区 的 输 出 过 程 如 下 :应 用 程 序 得 到 的 坐 标 (U

54、C) 对 窗 口 区 进 行 裁 剪 (WC)窗 口 区 到 视 图 区 的 规 格 化 变 换 (NDC)视 图 区 的 规 格 化 坐 标 系 到 设 备 坐 标 系 的 变 换 (DC)调 用 基 本 图 元 生 成 算 法 在 图 形 设 备 上 输 出 图 形 输 出 图 元 的 命 令 :( 1) move(x,y)定 义 当 前 位 置 为 ( x,y) 。 启 动 图 形 软 件 后 当 前 位 置 自 动 定 义 为( 0, 0)( 2) line(x,y)以 当 前 位 置 为 起 点 , ( x,y) 为 终 点 画 一 直 线 , 如 果 两 点 重 合 ,则 画 一

55、点( 3) polyline(n,x_array,y_array)X_array、 y_array为 两 个 一 维 数 组 , 每 个 数 组 长 度 为 n。 本 命令 画 一 条 有 n+1个 顶 点 ( 包 括 两 个 端 点 ) 的 折 线 。 第 1个 顶 点 在当 前 位 置 , 其 余 n个 顶 点 的 位 置 有 x_array和 y_array中 的 值 决定 。 3.3.2输 出 属 性 及 其 控 制1、 图 元 的 输 出 属 性常 见 的 定 义 图 元 属 性 的 命 令 :1) 直 线 的 属 性( 1) 线 类 型Set_linetype(linetype),

56、 其 中 linetype可 以 为 solid( 实 线 )dotted( 点 线 ) dashed( 虚 线 ) dotdashed( 点 划 线 )( 2) 线 色 彩Set_line_color_index(pc), 其 中 pc是 查 色 表 的 地 址 , 通 常 是一 个 范 围 在 0255。( 3) 线 宽 度 Set_line_width(linewidth), 其 中 linewidth是 标 准 线 宽 的 倍 数 。 2) 定 义 查 色 表 的 内 容指 令 为 set_color_representation(ci,R,G,B)定 义 地 址 为 ci单 元 的

57、色 彩 代 码 , 其 中 ci为 查 色 表 地 址 , R、 G、B分 别 为 红 绿 蓝 的 色 代 码 , 任 何 一 种 颜 色 都 可 由 R、 G、 B三 原色 按 不 同 比 例 混 合 而 成 。 最 普 通 的 一 种 取 值 范 围 是 ci、 R、 G、B为 02553) 多 边 形 填 色 的 属 性( 1) 多 边 形 填 色 风 格Set_polygon_interior_style(style), style取 值 范 围 为Solid(单 色 )、 Hollow(不 填 色 )、 Pattern(填 图 案 )( 2) 多 边 形 的 色 彩Set_polyg

58、on_color_index(color) (3)多 边 形 的 图 案Set_polygon_pattern_index(Pid),其 中 Pid是 一 个 图 案 的 编 号(4)图 案 内 容Set_pattern_representation(Pid,nx,ny,CP), 这 条 命 令 将 图案 的 编 号 Pid和 它 的 内 容 ( 放 在 CP之 内 ) 对 应 起 来 。 CP是 一 个 二维 数 组 , 大 小 为 1,2,nx1,2,ny,每 个 元 素 对 应 一 个 像 素 。其 中 CP描 述 了 一 个 用 像 素 矩 阵 表 示 图 案 的 构 成 。(5)图

59、案 的 位 置Set_pattern_reference_point(xp,yp),确 定 了 图 案 的 左 下 角点 在 屏 幕 坐 标 上 的 ( xp,yp) 例 : 将 右 图 所 示 图 案 填 入一 个 顶 点 坐 标 在 x1.10Y110中 的 多 边 形 。 2121首 先 将 图 案 的 编 码 存 放 在 一 个 数 组 pattern中 , 然 后 利 用 上 述 命 令 填 入 多 边 形 。Pattern1,1=1Pattern1,2=0Pattern2,1=0Pattern2,2=1Set_pattern_representation(1,2,2,pattern

60、)Set_polygon_interior_style(pattern) Set_polygon_pattern_index(1)Set_pattern_reference_point(0,0)Fill_area(10,x,y) 4)字 符 的 属 性( 1) 字 型Set_text_font(tf), 其 中 tf可 以 取 Roman(罗 马 型 )、 Greek(希 腊 型 )、 Script(手 书 型 )、 Old English(老 体 )( 2) 字 符 色 彩Set_text_color_index(tc), tc为 查 色 表 的 地 址( 3) 字 符 大 小Set_cha

61、rsize(width,height),width、 height表 示 字 符 宽 高( 4) 字 母 方 向Set_charnp_vector(d x,dy),dx,dy是 字 母 方 向 矢 量 在 x,y轴 上的 投 影( 5) 字 符 串 的 轨 迹 set_text_path(dx,dy),字 符 串 的 轨 迹 是一 条 直 线 , 斜 率 为 m=dy/dx 5)符 号 属 性( 1) 符 号 种 类Set_marker_type(mt), mt是 符 号 的 ASCII编 码( 2) 符 号 色 彩Set_marker_color_index(mc),mc是 查 色 表 的

62、地 址( 3) 符 号 大 小 Set_marker_size_scale_factor(ms),ms是 字 符 的 缩 放 比 例上 述 命 令 定 义 图 元 性 质 虽 然 灵 活 , 但 很 麻 烦 , 需 要 n条 命 令 才 能定 义 一 个 图 元 的 n个 性 质 。 可 以 采 用 组 合 命 令 , 即 使 用 一 个 命 令来 定 义 一 组 性 质 。组 合 命 令 定 义 分 两 步 完 成 : 1、 建 立 组 合 表 中 的 值 , 即 将 一 组 性质 赋 予 某 输 出 设 备 的 组 合 表 中 的 某 一 地 址 。 2、 用 编 号 ( 即 组 合 表

63、的 地 址 ) 调 用 这 组 性 质 。 例 子 : 以 直 线 为 例 , 说 明 组 合 命 令 的 定 义( 1) 建 立 组 合 表 的 值 的 命 令Set_line_representation(WS,lid,lt,lw,lc), 其 中 WS是 图 形输 出 设 备 编 号 , lid是 性 质 编 号 , lt直 线 种 类 , lw直 线 宽 度 , lc直线 色 彩( 2) 调 用 这 组 性 质 的 命 令Set_line_index(li),li是 性 质 编 号Set_line_representation(1,3,dotted,0.5,1)Set_line_rep

64、resentation(4,3,solid,1,7)Set_line_index(3) 凡 画 直 线 都 采 用 性 质 3。 如 编 号 为 1的 输 出 设 备 被 激 活 , 则 输 出直 线 性 质 为 点 线 、 0.5粗 、 1号 色 彩 3、 属 性 的 查 询属 性 查 询 指 令 的 功 能 是 将 基 元 的 某 个 性 质 赋 给 变 量 返 回 。Inquire 基 元 的 类 型 和 性 质 ( 变 量 )例 : inquire_linetype(ilt)这 条 指 令 功 能 是 把 当 前 直 线 的 种 类 赋 给 变 量 ilt返 回 。 3.3.3三 维

65、图 元 的 输 出很 多 图 形 软 件 中 , 三 维 图 元 的 输 出 只 是 在 原 来 二 维 图元 输 出 命 令 的 基 础 上 增 加 一 个 后 缀 3, 例 如 move的 三维 形 式 move-3(x,y,z), 命 令 line的 三 维 形 式 line-3(x,y,z)等 等 。实 际 上 , 要 在 图 形 输 出 设 备 上 是 输 出 一 个 三 维 图 元 ,必 须 进 行 投 影 变 换 。视 域 坐 标 系 统 ( viewing coordinate system,VCS)投 影 面 与 面 重 合 , Z轴 正 向 指 向 要 表 达 的 物 体

66、, 透 视 投影 的 中 心 位 于 Z轴 的 负 轴 上 。 将 三 维 图 元 输 出 到 图 形 设 备 上 , 必 须 经 过 以 下 步 骤 :1、 定 义 一 个 视 域 坐 标 系 统 VCS, 为 此 需 定 义 如 下 数 据( 1) VCS坐 标 原 点( 2) VCS的 Z轴 方 向( 3) VCS的 y轴 方 向2、 将 投 影 物 体 的 世 界 坐 标 变 换 为 视 域 坐 标在 完 成 了 前 2个 步 骤 后 , 投 影 就 可 以 进 行 了 。 然 后 将 二 维 视 域 坐标 转 换 为 规 格 化 坐 标 , 便 可 在 屏 幕 上 显 示 了 。3、 选 择 平 行 投 影 或 透 视 投 影 进 行 投 影 变 换 , 使 VCS三 维 对 象 变为 VCS在 XOY平 面 上 的 二 维 对 象 。4、 在 VCS的 XOY平 面 上 定 义 一 窗 口 , 并 定 义 相 应 的 视 区 , 进 行 标 准 变 换 。 世 界 坐 标 WCS 视 域 坐 标 VCS3Dvcs 2Dvcs 标 准 设 备 坐 标NDC视 域 变 换 投影

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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