2012-03-23 9 views
0

私はこれを使用してSVG <polygon>(または任意の他の要素)を回転させるようにしようとしている:jQueryのSVG変換奇妙な行動

var svg = new $.svg._wrapperClass($('#test')); 
$(svg._svg).animate({svgTransform: 'rotate(720,100,100)'}, 2000);​ 

ポリゴンは本当に、その角度を変更しますが、移動のいくつかの奇妙な軌道で。 このリンクを参照してください:http://jsfiddle.net/ExaBP/

私の目標は、中心を中心にポリゴンを回転させることです。

+0

[inkscape](http://inkscape.org/)のような他のアプリケーションを使ってシェイプをレンダリングし、変更があるかどうかを確認してください。 –

+0

動きは、アニメーションが720をアニメーション化するだけでなく、xとyの値によってアニメーション化されるように見えます。それがスパイラルな理由です。 – Andrew

+0

Andrew、コードを見たことがあります。回転だけがあります。 – MDI

答えて

0

問題は、回転中心あなたのポリゴンがCOORDであるということである(0,0)>のポイントを見て:

points="38.8313,102.22 42.1242,104.613 45.4171,107.005 44.1593,110.876 42.9015,114.747 38.8313,114.747 34.7611,114.747 33.5034,110.876 32.2456,107.005 35.5384,104.613" 

だから、あなたはアニメーションで回転するために(CX、CY)を使用する場合の場合、これらのパラメータも0〜100、0にアニメートされます。

アニメーションの前後に中心を変更する必要があります。

しかし、ここで、私はあなたが別のapproch必要があると思う:前に、あなたの描画プログラムでcoordonatesの起源を変更しようと HTMLやJS

  • に直接SVGを作成してみたり

    • を輸出。
  • +0

    InskapeまたはCorelDRAWでコードを正しく修正する方法を知っていますか? – MDI

    +0

    私の本当のsvgはボックス付きポリゴンよりはるかに複雑なので、私はhtmlやjsでsvgを作ることができません。 – MDI

    +0

    確かに...別の解決策は、ポリゴンを中心にして、コンポジションの正しい位置に移動させることです。下記をご覧ください:http://www.w3.org/TR/SVG/coords.html#EstablishingANewUserSpace そして、少なくとも、説明はありますか? – Akarun