【发布时间】:2013-03-21 11:28:55
【问题描述】:
我正在从具有以下格式矩阵的 SVG 文件中读取矩形的位置和旋转:
<rect transform="matrix(1.02414 -0.133308 0.122628 0.942091 190.767 780.999)" width="122" height="20"/>
现在我正在尝试将这些值解析为 Lua 到 draw with Corona and physics like this,但它们部分出现错误,并且在我目前的半猜测方法中也经常是 NAN。 我需要做什么才能将上述矩阵转换为适当的 Lua 旋转度数?
到目前为止,我所拥有的如下(值数组是按 SVG 顺序排列的矩阵值)。谢谢!
local x = values[5]; local y = values[6]
local rotation = math.acos(values[1])
if values[2] < 0 then rotation = -rotation end
rotation = math.floor( math.deg(rotation) )
rotation = rotation % 360
app.spritesHandler:createBar( math.floor(x), math.floor(y), rotation )
【问题讨论】:
-
这不是通常的旋转矩阵,因为它包含大于 1 的数字。因此,arccos 失败了。
-
谢谢,你知道该怎么做吗?
-
值得注意的是,即使它是一个“0.995136 0.276294 -0.254158 0.91541”的矩阵,cofe 也无法正确转换为度数。
标签: math matrix svg lua coronasdk