2011-08-16 15 views
0

骨格アニメーションのシステムで作業していて、各骨の角度はその親に基づいています。左から中央ではなく中心から回転します

enter image description here

は、私は何をする必要があることは説明の2番目の部分です:私はこの図の最初の部分に示されるように、その角度が正確であるためには、親ジョイントの端からその骨を回転させる必要があり。これは、私の描画APIは、ビットマップの中心を中心に回転するだけであるためです。

ありがとうございました

+0

私はこれを完全に理解しているかどうかはわかりませんが、特定のポイントを中心に回転させたい場合は、(-anchor.x、-anchor.y)で図形全体を変換してから回転してから翻訳しますそれによって(アンカーx、アンカー.y) – Ponkadoodle

答えて

3

回転と翻訳を組み合わせてください。中央を中心に図を回転させ、それをどこにすべきかに移動します。

+0

翻訳は何ですか? – jmasterx

+0

回転を行った後、イメージの幅の半分だけ平行移動します。 – templatetypedef

1

ビットマップに余分な空白のピクセルを導入することもできます。ビットマップの中心を中心にしか回転できない場合は、ビットマップの幅を2倍にしてから、回転させたい画像を平行移動して右に浮上させるとどうなるか考えてみましょう。例えば

、あなたのイメージは、Xは、あなたの周りを回転したいポイントです

+-------+ 
X image | 
+-------+ 

であると仮定します。さて、このイメージを構築する:あなたはこの画像の中心の周りを回転した場合

+-------+-------+ 
| blank X image | 
+-------+-------+ 

、あなたは右のあなたが最初の場所でやりたいことであるXの上に回転していることに気づきます。結果として回転した画像は、次のようになります。今

+---+ 
| b | 
| l | 
| a | 
| n | 
| k | 
+-X-+ 
| i | 
| m | 
| a | 
| g | 
| e | 
+---+ 

、あなただけの画像の下半分を抽出し、あなたがあなたの元のイメージを持って、指示されたX点を中心に90度回転させます。

希望すると便利です。

関連する問題