我是靠谱客的博主 平淡方盒,最近开发中收集的这篇文章主要介绍第六章 变换与观察 -华科,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

导学:左手系,右手系。均是四指从x握向y。

但是哪些坐标系是左手,哪些是右手呢?

建模坐标系→(模型变换)→世界坐标系→(视图变换)→观察坐标系→(投影变换)→观察坐标系→(屏幕映射)→屏幕坐标系

几何变换

指对图形的几何信息经过平移、比例、旋转等变换后产生新的图形。[以下均以二维为例]

平移

是一种不产生变形而移动物体的刚体变换(Rigid-body transformation)

比例

对象相对于某一参考系,沿x方向缩放 S x S_x Sx,沿y方向缩放 S y S_y Sy

旋转

对象相对于参考系,旋转 θ theta θ角度(逆时针为正,顺时针为负)得到新对象的重定位过程。

对称

对称变换后的图形是原图形关于某一轴线或原点的镜像。

错切

也称剪切、错位变换,用于产生弹性物体的变形处理。

齐次坐标

齐次坐标表示即用n+1维向量表示一个n维向量。

n维空间中:

[ p 1 , p 2 . . . p n ] [p_1,p_2...p_n] [p1,p2...pn]的齐次坐标表示为 [ h p 1 , h p 2 . . . h p n , h ] , h ≠ 0 [hp_1,hp_2...hp_n,h],h≠0 [hp1,hp2...hpn,h],h=0

n维空间中非齐次坐标表示一个点向量具有n个坐标分量 [ p 1 , p 2 , . . . p n ] [p_1,p_2,...p_n] [p1,p2,...pn]且唯一。

齐次坐标表示此向量则有n+1个坐标分量且不唯一。

规范化齐次表示即 h = 1 h=1 h=1

引入齐次坐标的意义

所有的变换用矩阵 T 2 D T_{2D} T2D表示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6W5rJBxG-1625735940421)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8856925a-7d35-4f46-8348-e89526a56c93/Untitled.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WvWgePXH-1625735940423)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a62eb04b-12b5-4378-bc6a-1492467a1a22/Untitled.png)]

1)当有多个点进行变换时:

[ x y 1 ] → [ x 1 y 1 1 x 2 y 2 1 . . . x n y n 1 ] begin{bmatrix}x & y & 1end{bmatrix}→begin{bmatrix} x_1 & y_1 & 1\ x_2 & y_2 & 1 \...\x_n & y_n & 1 end{bmatrix} [xy1]x1x2...xny1y2yn111

2)当多次变换时:

P ′ = P ⋅ T = P ⋅ T 1 ⋅ T 2 ⋅ ⋅ ⋅ T n        ( n > 1 ) P' =P·T=P·T_1·T_2···T_n~~~~~~(n>1) P=PT=PT1T2Tn      (n>1)

三维变换

基本变换同上。当相对于任意点、任意轴做变换时,则需要复合变换。

平错切,比例,缩放等的换步骤分三,如下:

1)将参考点移至坐标原点

2)针对原点进行二维几何变换

3)进行反平移

逆变换

1)平移的逆变换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K4HEVl3m-1625735940425)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/41d3ee49-11f3-4cd8-baa7-38bc0b7952b0/Untitled.png)]

2)比例的逆变换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nIxmFSo8-1625735940427)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/881eb67c-7512-4840-9c0a-ff7eb3fbc225/Untitled.png)]

3)旋转逆变换

旋转角度由 θ theta θ变为 − θ -theta θ

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4rlth37G-1625735940429)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f2d7e74b-b0a6-47c4-9c59-266845f63d32/Untitled.png)]

以绕任意轴旋转为例

步骤:

1)把旋转轴起点移到坐标原点上。变换矩阵 T A T_A TA

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cddcnDsl-1625735940430)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/edec2869-88c5-4274-9c8e-2efbb2ca7f63/Untitled.png)]

2)旋转轴绕至某个坐标轴上

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tgS9vbXx-1625735940431)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e53a3dfb-cb2a-4f07-acf6-17540a768345/Untitled.png)]

3)旋转

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MJWluDr7-1625735940433)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a39381af-7daf-4021-94ac-856e9dda2261/Untitled.png)]

4)求1)2)的逆变换。

T R A B = T t A T R x T R y T R z T R y − 1 T R x − 1 T t A − 1 T_{RAB}=T_{tA}T_{Rx}T_{Ry}T_{Rz}T_{Ry}^{-1}T_{Rx}^{-1}T_{tA}^{-1} TRAB=TtATRxTRyTRzTRy1TRx1TtA1

观察变换

由世界坐标系到观察坐标系的转换。

坐标原点:观察者所在位置

z v z_v zv:视点和观察物体上焦点的连线

y v y_v yv:向上的方向

x v x_v xv:右手定则确定的方向

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ciYGIpFT-1625735940433)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e1fdc4d9-cb6f-48a9-aa27-7185b6ccd3e1/Untitled.png)]

**观察变换的目的:**求世界坐标系中点 Q ( x , y , z ) Q(x,y,z) Q(x,y,z)在观察坐标系中的位置。

观察变换的实现

复合变换:

1)平移观察参考点→用户坐标系原点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lYG3QW7R-1625735940435)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/95442464-1344-448e-98e1-130b0062fa6b/Untitled.png)]

2)旋转令观察坐标系与用户坐标系重合。

同上旋转复合变换,但不需要逆变换。

模型变换←(对偶)→观察变换

最后

以上就是平淡方盒为你收集整理的第六章 变换与观察 -华科的全部内容,希望文章能够帮你解决第六章 变换与观察 -华科所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部