2016-11-12 9 views
0

注:これを達成するためにUnity3Dを使用していますが、これは一般的な質問です。オブジェクトをスケールして1つの固定点を維持するために位置を変更する方法

私はオブジェクトを持っています。私はオブジェクトを持っていて、それを変換して、そのオブジェクトが拡大縮小されたときに、選択したピクチャの特定のポイントが拡大後に同じ位置にとどまるようにします。基本的

、この写真:

enter image description here

I因子により、位置(x、y)(位置は画像の中心である)で、幅w、高さhのオブジェクトをスケーリングしていた場合ポイントの固定小数点(a、b)を維持するためにはどれくらい翻訳する必要がありますか?

EDIT:(それは今、原点を中心とする現在、マイナスの位置でそれを翻訳し、私はユニティにデフォルトでオブジェクトがオブジェクト

+0

Re:「これはこれを達成するためにUnity3Dを使用していますが、これは一般的な質問です」と述べています。それ以外の場合は、Unity3Dでの「スケーリング」の意味に依存します。明らかに固定小数点を指定することはできません(そうでなければ、この質問をしないでしょう)。固定小数点はどのように使用されるのですか?固定小数点は常に(0、0)ですか? – ruakh

+0

オブジェクトの中心は固定小数点です – Bhaskar

答えて

1
  1. の中心から拡大縮小されていることを言及するのを忘れて、スケーリングがで等しくなります全方向)
  2. はあなたが
0で開始するようにしました2本の翻訳を元に戻すあなたがスケーリングされていない
  • スケールのままにしたいオフセットによって、それを翻訳します

    技術的には、オフセットを絶対座標で知っている場合は最初の2つのステップを組み合わせることができますが、通常はローカル座標で測っています。

  • +0

    私はこれを行いました。ちょうど私がやっていることを確認するだけです。最初に、オブジェクトの中心から固定点の距離であるオフセットを追加するよりも、オブジェクトを中心に移動する位置からオブジェクトの中心を引いています(オブジェクトの中心が(0,0)、固定小数点は(2,2)です。私はオブジェクトを(2、2)で変換し、次にオブジェクトをスケーリングして変換し、オフセットしてから位置を追加します。 – Bhaskar

    +0

    問題を解決するために私が問題にしたときに解決策がまだ残っていますか? – Bhaskar

    +0

    Nevermindアルゴリズムをもう一度試してみましたが、うまくいきました!2つの翻訳を元に戻していたとき、全く同じ翻訳を使用しましたが、戻って翻訳するときにスケールファクタで。 – Bhaskar

    関連する問題