缩放3D模型,找到原点

时间:2011-07-13 19:58:54

标签: algorithm matrix 3d scaling

为了更好地了解矩阵变换是如何工作的,因为我很难看到实际发生的事情,我决定编写一些脚本来获取3D模型,然后进行一些翻译,旋转和缩放,因为看看当我玩不同的值时实际发生的事情可能会有所帮助。

我已经编写了解析3D模型的脚本,所以现在我只需编写转换函数。

我正在使用Euclid模块,这是处理矩阵的几个建议之一(虽然这个问题不是特定于python的,所以我省略了那个标签)

到目前为止,我已经能够根据我提供的x,y,z值成功翻译模型。

现在我正在研究缩放功能,并且还设法通过任何因素来扩展模型,但是由于模型不在于中心,我很难在现场进行扩展。起源。

如何构建一个考虑某个任意模型中心的变换矩阵?

1 个答案:

答案 0 :(得分:2)

您可以通过以下转换“围绕”P点进行缩放:

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

即。对于你有

的顶点X
X' = P + s * (X-P) = s*X + (P-s*P)