2011-07-13 30 views
0

要得到的矩陣變換是如何工作的原因我有一個相當很難看到到底發生了什麼更好的主意,我決定寫一些腳本,將採取一個3D模型,然後做一些翻譯,旋轉和縮放,因爲在我玩弄不同的值時,看看實際發生的情況可能會有所幫助。縮放3D模型,找到原點

我已經寫腳本解析3D模型,所以現在我只需要編寫變換函數。

我現在用的是歐幾里德模塊,這其中包括一些建議與矩陣工作(雖然這個問題是不是真的蟒蛇特異性,所以我離開了那個標籤)

到目前爲止,我已經能夠成功根據我提供的x,y,z值轉換模型。

現在我工作的縮放功能,並且還設法擴大以任何因素的模型,但我有一個很難得到它的規模「現場」,因爲該模型不居中在原點。

如何建立一個變換矩陣,將考慮到一些任意模型的中心?

+1

你有「中心」的一個明確的定義? – Randy

+1

@Randy,沒有,但有人告訴我找到模型中的最大和最小的X,Y,Z值,然後取每個組件的平均值,即「中心」 – MxyL

回答

2

您可以通過以下改造規模的「周圍」點P

translate(scale(translate(model, -P)), P) 

即一個頂點X你有

X' = P + s * (X-P) = s*X + (P-s*P) 
+0

謝謝,我會盡力的。編輯:它的工作! = d – MxyL