如何用旋转点从旋转计算svg变换矩阵

Swa*_*aul 2 svg matrix svg-animate

如果有一个带有默认枢轴点(0,0)的svg旋转(度),那么我可以将旋转变换矩阵计算为

 _                    _
| cos a   -sin a   0   |
| sin a    cos a   0   |
|   0       0      1   |
 -                    -
Run Code Online (Sandbox Code Playgroud)

但如果枢轴点不是(0,0),让我们说(px,py)那么我该如何计算旋转变换矩阵?

Swa*_*aul 5

我得到了ans,

让枢轴点为(px,py),旋转度为 净变换矩阵的度数

                   _          _        _                      _    
                  |   1  0  px |      |   cos a    -sin a   0  |   
    net_matrix =  |   0  1  py |  X   |   sin a     cos a   0  |   
                  |   0  0  1  |      |     0         0     1  |   
                   -          -        -                      -    

                                               _             _
                                              |   1   0   -px |
    rotate_transform_matrix =  net_matrix  X  |   0   1   -py |
                                              |   0   0     1 |
                                               -             -
Run Code Online (Sandbox Code Playgroud)