我应该在改变对象坐标上实现矩阵变换吗?

时间:2013-03-26 19:04:45

标签: graphics transformation linear-algebra matrix-multiplication

我有一组可以缩放和翻译的对象。 假设用户选择一个对象并拖动到某个位置。 我正在考虑以两种不同的方式实现它:在给定鼠标位置的情况下更改对象的坐标,或者更改变换矩阵。 这些实现中的一个比另一个好吗? 我的主要问题是:

  • 表现
  • 代码组织
  • 可扩展性

1 个答案:

答案 0 :(得分:0)

对象具有某些坐标,并且您查看对象的方式具有特定的参考框架。我认为最好不要弄乱你的坐标,而只是改变你从“对象在这里”到“我在这里绘制对象”的矩阵。它更清洁。性能方面,您必须对要渲染的每个对象应用转换,因此您也可以只执行一次。从。代码组织的观点是保持“与物理相关的东西”更好;从可伸缩性的角度来看,每次用户更改视图时都不会对所有对象应用转换,这显然是优选的 - 您只在渲染时将转换应用于对象,因此如果您无法跟上,则跳过一个步骤;如果你没有在每一步中重新缩放某些物体,你很快就会遇到麻烦。最后,对同一个对象应用多个转换会累积错误。

良心之流,但我认为有明确的偏好!