gpt4 book ai didi

java - 什么时候使用 AffineTransform getScaleX()?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:04 25 4
gpt4 key购买 nike

AffineTransform.getScaleX() 及其系列是否有合法用例?

它返回 m00 或变换矩阵的左上角元素,这对于确定矩阵的缩放比例毫无用处。例如,考虑一个普通的 90 度旋转矩阵,getScaleX()getScaleY() 都返回 0。

我永远不会使用这个调用,因为它会让代码阅读者感到困惑,他们可能不熟悉它不会以有意义的方式返回缩放这一事实,比 getMatrix(m) 要好得多然后访问 m[0],因为大多数可能阅读使用转换的代码的人都熟悉矩阵数学。

这肯定有一个用例,但我就是不明白。

最佳答案

如您所写,x 比例因子的概念在一般情况下毫无意义。它只与缩放矩阵的特殊情况有关。 IE。 getType 返回 TYPE_GENERAL_SCALETYPE_UNIFORM_SCALE 的那些。 (也可以添加翻译)在其他情况下,getScaleX 是“正确的”,因为它按照文档所说的进行操作,但就其名称而言无用且具有误导性。类似的推理适用于 getShearX,它仅在剪切矩阵的上下文中有意义。 getTranslateX 有点不同,因为有人可能会争辩说这是原点被翻译到的地方,而不管矩阵暗示的所有其他转换。

关于java - 什么时候使用 AffineTransform getScaleX()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23053935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com