一堆點都乘以同一個變換矩陣(4*4矩陣),這些點的相對位置會發生變化嗎?為什麼?求大神!?
01-09
剛性變換(rigid transformation),即平移、旋轉、鏡射及它們的組合變換,把點變換後,點與點之間的距離維持不變。
一般地,乘以矩陣相當於做了仿射變換,這些空間點會延矩陣各個特徵值的對應方向(即相應的特徵向量)產生一定程度(即特徵值大小)的拉伸和收縮。
當矩陣所有特徵值相同時,就是 @You XingJie提到的正交矩陣;當所有特徵值相同且均為1時,就是 @Milo Yip提到的剛性變換。此時點的相對位置保持不變。
變換是一個函數,它把一個點(或向量)映射成另一個點(或向量)。那麼變換可以大致劃分一下範圍:變換 屬於線性變換 屬於仿射變換 屬於剛性變換
我們可以用上圖表示一個變換或者用函數的形式:
Q=T(P)這是點的變換。而v=R(u)是向量的變換。上面對於變換的表述過於一般(適用於所有變換)以至於不是很有用。在計算機圖形學方面,如果運用這種變換的話。對一條線段的變換那就必須計算這個線段上所有點的變換,計算量太大,而且不實用。那麼另外一種計算變換的方式應運而生——那就是矩陣變換。在齊次坐標下的矩陣變換中,矩陣是4*4的。也就是題主說的那種格式。這種矩陣變換是線性變換。一個函數是線性變換,當且僅當對於任何標量和以及任何兩個頂點(或者向量)p和q,都有。線性函數的重要性在於:因為變換的線性組合等於線性組合的變換,所以只要知道p和q的變換就可以求出它們線性組合的變換,這樣就無須直接計算每個線性組合的變換了。
那麼什麼是仿射變換呢?按照維基百科上的解釋
仿射變換,又稱仿射映射,是指在幾何中,一個向量空間進行一次線性變換並接上一個平移,變換為另一個向量空間。
一個對向量平移,與旋轉放大縮小的仿射映射為
上式在齊次坐標上,等價於下面的式子
這裡的A矩陣就是說的狹義的線性變換,當y向量是0向量或0點時,A對這個向量或者點一點辦法也沒有,只有加上了b向量才更加自由。也就是說,仿射變換中
對於點,4*4的變換矩陣只用到了12個,就是有12個自由度
對於向量,4*4的變換矩陣只用到了9個,就是有9個自由度
而對於廣義的線性變換,這個矩陣有12個自由度。
而對於題主說的相對位置不變,那就是剛性變換,當然會改變相對位置呀~
第一次作答,排版和表達不清見諒,說不明白的地方來諮詢。
參考資料:仿射變換
互動式計算機圖形學
推薦閱讀:
※cad證書有用嗎?
※AutoCAD軟體,有些什麼可以優化的設置?
※cad選擇一個對象後點「特性」選項,特性顯示空白怎麼解決?
※如何高效地進行AutoCad2014版本的學習和使用?
※關於 Surface Pro 4 與 iPad Pro 的選購問題?