我正在阅读SVG
Essentials,在第6章中,它讨论了旋转变换。它说
rotate(angle,centerX,centerY)等于translate(centerX,centerY)rotate(angle)平移(-centerX,-centerY)
但是在计算此问题之前,我所学的是首先将点A(x,y)设为A(x-centerX,y-centerY),然后旋转,然后再添加centerX,centerY。
[喜欢this answer说。
我尝试复习一些线性代数知识,但仍然无法理解有什么不同。
有人可以告诉我为什么会这样吗?
请指导我为什么svg
add-rotate-sub和normal是sub-rotate-add?
谢谢你。
您的推理是正确的。在SVG规范中,转换顺序是从右到左应用的,因此它符合您的直觉:
1) translate(-centerX, -centerY)
2) rotate(angle)
3) translate(centerX, centerY)
请参见this answer以获取更多详细信息。