如何将矩阵转换为旋转?

时间:2015-01-09 13:10:43

标签: adobe-illustrator

示例:

Value of Matrix of TextFrame:
MValueA=0.707110047340393
MValueB=0.707110047340393
MValueC=-0.707110047340393
MValueD=0.707110047340393
MValueTX=-11116.84375
MValueTY=-281.0703125

如何将Matrix转换为旋转? 使用过的代码。

2 个答案:

答案 0 :(得分:2)

对于A,B,C和D非零且(A = D)和(C = -B)的情况,可以通过角度α将矩阵转换为旋转并调整大小费率 k 如下:

enter image description here

VBA代码:

If (A < 0#) Then Shift = Math.Sgn(B) * 180# Else Shift = 0#
Angle = Math.Atn(B / A) * 180 / 3.14159265358979 + Shift
Ratio = Math.Sqr(A * A + B * B)
Path.Rotate Angle, True, False, False, False, aiTransformCenter
Path.Resize 100# * Ratio, 100# * Ratio, True, False, False, False, 1, aiTransformCenter

在您的示例中,Angle = 45,Ratio = 1.00000462

答案 1 :(得分:0)

有几种方法可以实现这一目标......

最快的方法是在复制对象时进行平移,缩放或旋转。要在Windows中复制对象,请按住&#39; alt&#39;键*。然后按CTRL + D重复转换和复制。

要获得更高的精确度,请从工具箱中选择转换工具,然后按Enter键。然后会出现一个对话框,允许您输入数字值,并且有一个“复制”副本。按钮。同样,一旦对话关闭,您可以按CTRL + D重复。

混合工具可以“步骤”对象,它还具有旋转对象以匹配路径的选项。

&#39;行动&#39;调色板可以录制和播放多个转换。

Illustrator支持多种语言编写脚本,这提供了最灵活的解决方案,但学习和设置通常更耗时。