【发布时间】:2014-01-26 17:48:12
【问题描述】:
我需要围绕 3D 中的任意点旋转 SVG 文档中的路径。 It appears that 有多种方法可以通过使用 4x4 变换矩阵或 rotateX 或 rotateY 变换来做到这一点。这两种方法我都试过了,似乎都不管用。这些在任何地方都受支持吗?
对于我的应用程序,位图将是最终输出,所以我不担心浏览器支持。我对任何工具持开放态度——我可以通过 selenium 运行特定的浏览器,或者使用独立的 SVG 光栅化器。
这是我迄今为止尝试过的(使用 Google Chrome 31):
我希望这是一个黑色矩形,绕 X 轴旋转,看起来像一个梯形。
<svg version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="640px" height="480px">
<rect x="100" y="100" width="440" height="280" fill="#000000"
transform="rotateX(30 580 100)"></rect>
</svg>
(从rotateX 中省略cy 和cz 得到相同的结果)。
我也尝试过使用 4x4 矩阵。我看不出和上面有什么区别。我也怀疑我的数学在找到正确的矩阵元素时是否正确。
<svg version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="640px" height="480px">
<rect x="100" y="100" width="440" height="280" fill="#000000"
transform="matrix(102400 0 0 0 0 88681.00134752653 -159.99999999999997 1387899.8652473476 0 159.99999999999997 88681.00134752653 -15986.602540378442)"></rect>
</svg>
【问题讨论】:
-
请发布您尝试过的代码