【问题标题】:How convert Matrix to Rotate?如何将矩阵转换为旋转?
【发布时间】:2015-01-13 18:55:33
【问题描述】:

例子:

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

如何将矩阵转换为旋转? 使用的代码。

【问题讨论】:

  • 也就是说,需要从矩阵中获取旋转角度。我说的对吗?
  • 我的解决方案适合你吗?

标签: adobe-illustrator


【解决方案1】:

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

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

在您的示例中,角度 = 45,比率 = 1.00000462

【讨论】:

  • 是的。这只是按比例调整大小,没有旋转
【解决方案2】:

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

最快的方法是在复制对象时平移、缩放或旋转对象。要在 Windows 中复制对象,请按住“alt”键*。然后可以通过按 CTRL + D 重复转换和复制。

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

Blend 工具可以“步进”对象,还可以选择旋转对象以匹配路径。

“动作”调色板可以记录和回放多个转换。

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

【讨论】:

    猜你喜欢
    • 2011-06-17
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    相关资源
    最近更新 更多