计算机图形学坐标变换

先附上原文链接:
https://www.zybuluo.com/yuyujunjun/note/879480
由于简书对数学公式的兼容性不那么好,还是请移步到原文去看。


比例变换

沿坐标轴变换: 乘对应对角矩阵即可

沿任意坐标变换:

  • 首先将其变换到标准坐标系中:

      乘该坐标系的逆矩阵,如果是该坐标系正交,则其逆矩阵为其转置矩阵,如何求逆矩阵,详见我另一篇博客。
    
  • 乘以对角矩阵施加变换

  • 再乘以该坐标系变换回来

旋转变换

对于二维向量:

< x,y >变成 <-y,x> 即可求出其旋转90度的向量,和原始向量构成一组基可求的与原始向量成任意角度的新向量。

对于三维向量:

矩阵方法:(假设向量皆为单位向量)

将原始向量P绕任意轴A旋转任意角度:

  1. 首先沿着该轴将向量分解为沿轴的分量Y和垂直轴的分量C,因为平行于轴的分量在旋转过程中不变,我们只用考虑垂直轴的分量C:
    $$Y:(A \cdot P)A $$
    $$ C: P - Y $$
  2. 计算得到垂直A且包含C的平面,则可以在该平面内做二维旋转变换
  3. 将旋转后的向量加上Y即得到最后结果
    $$P'=Pcos\theta + (A \times P)sin \theta + A(A \cdot P)(1 - cos \theta) $$

四元数方法:

四元数介绍:

$q=<w,x,y,z>=w + xi+yj+zk$ 或者 $q=s+\textbf{v}$
$\bar{q}=s-\textbf{v}$
$q_1q_2=s_1s_2-\textbf{$v_1$}\textbf{$v_2$}+s_1\textbf{$v_2$}+s_2\textbf{$v_1$}+\textbf{$v_1$}\textbf{$v_2$}$

旋转相当于将原始的一个角经过一个函数变换,使之长度、角度、手相性不变。
长度不变:$$length(F(P))=length(P)$$
角度不变:$$F(P_1) \cdot F(P_2) = P_1 \cdot P_2$$
手相性不变:$$F(P_1) \times F(P_2) = F (P_1 \times P_2)$$
对于这样的F,我们有$F(P)=qPq^{-1}$,其中q为非零的四元数
$\textbf{note:}$ 任意标量a,乘以q,得到的 aq 和 q 执行的是相同的旋转操作。
最后结论:绕A轴进行旋转,相当于$$q=cos\frac{\theta}{2}+Asin\frac{\theta}{2}$$的上述函数运算。

平移操作

将点P从一个坐标系变换到另一个坐标系的表达式为:$$ P'=MP+T $$

具体操作:

$$F=
\left{
\begin{matrix}
&M&T\
&0&1
\end{matrix}
\right}
$$
将$P$扩充为$<P_x,P_y,P_z,1>$

实际应用中:

平移变换中,表示点的向量将会发生变化,但是表示方向的向量不变。
所以在进行变化过程中,表示点的向量的$w$分量设为1,但是表示方向向量的$w$分量设置为0,则可以统一变化。

$\textbf{note:$w$的几何意义——投影}$

  • $\bar{P}=<\frac{x}{w},\frac{y}{w},\frac{z}{w}>$表示P向量与$w=1$平面的交点。
  • 给四维向量P乘以任何比例系数,都对应三维空间的相同点。

除了点之外的变换

前面已经提到对于方向向量的平移该如何变换,旋转和缩放方向向量和普通点的变换类似。
这里讲点的切向量和法向量的变换。

切向量

切向量可以通过两个顶点向量之间的差获得,因此可以用变换后的两个定点作差得到,在变换过程中,可以用相同矩阵进行变化。(如果是4维,应向方向向量一样扩充得到)

法向量

变换后的法向量常常指向一个与变换表面不垂直的方向。
但是切向量和法向量内积的值是一定等于0的。已知初始切向量法向量,变换后的切向量,我们可以得到变换后的法向量。
$N\cdot T=N'\cdot T'=(GN)\cdot (MT) =0$
其中M是一般点的变换矩阵,G是我们需要求的法向量的变换矩阵。
$N\cdot T=N^TT$
$(GN)\cdot (MT)=(GN)T(MT)=NTG^TMT=0$
所以只需要$GTM=I$即可,所以$G=(M{-1})^T$,如果M是正交矩阵,则$G=M$。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容