https://segmentfault.com/a/11...上一篇文章簡單介紹了質心座標系,這裏再也不重複。segmentfault
標準化座標:spa
知足一下特性的質心座標,咱們就能夠構造插值:3d
這樣,咱們就能夠已知的頂點對未知的點進行插值:orm
下面結合一種實際應用的例子:
在對一幅圖像進行圖像變形時,若是咱們選定了一個邊界(多邊形),咱們能夠對這個多邊形進行三角化(即將其分割成若干個三角形,在計算幾何中稱爲Triangulation)。blog
而後對每個三角形計算求得其每一個頂點v的重心座標bi(i=1~N)。
經過bi(i=1~N),咱們代入變形後的多邊形頂點fi(i=1~N),計算出對應的點F(即爲原始三角形的頂點經過插值計算後對應的點),F的像素值應設置爲原始的頂點vi的像素。ip
對於變形後的三角形(頂點爲上一步計算獲得的F)內部的點,咱們經過https://segmentfault.com/a/11...的方法將變形後的多邊形的a,b,c遍歷求得內部點target_point_k,而後將a,b,c代入原始的三角形舊的點origin_point_k,點target_point_k的像素就應該爲點origin_point_k的像素值。get
求重心座標的幾種方法:it
這種變形被稱爲Cage based image deformation,原始的多邊形稱爲一個 cage,在改變 cage 的形狀以後,其內部的點會根據邊界的變化作相應的改變。在cage based image deformation中,能夠認爲內部點的重心座標在 cage 形狀改變的過程當中是不發生變化的,這樣就能夠根據重心座標創建一個對應關係,從而求得變化後的圖像。對每一個三角形內部點,並計算出這些點關於三角形三個頂點的重心座標。在實時拖動的過程當中,將當前重心座標代入原圖像中,獲得變換的原像(像素點),從而可獲得該點所對應的像素值io
參考資料:https://zh.wikipedia.org/wiki...
http://www.xuetangx.com/cours...
http://www.inf.usi.ch/faculty...form