2011-07-13 14 views
0

マトリックス変換がどのように作用するのかを知るために、実際に何が起こっているかを見るのがかなり難しいです。私は3Dモデルを取るスクリプトを書くことにしました。実際に何が起こっているのかを調べることが役立つ可能性があります。原点を見つけるスケーリングの3Dモデル

私はすでに3Dモデルを解析するためのスクリプトを作成しました。したがって、変換関数を記述するだけです。

私はこれまでのところ、私は成功したことができました(この質問は実際のpython-固有ではないですが、私はそのタグを除外)

を行列で作業するためのいくつかの提案の中だったユークリッドモジュールを、使用しています私が提供するx、y、z値に基づいてモデルを変換します。

スケールファンクションに取り組んでいますが、どのような要因でもモデルをスケールすることができましたが、モデルが中央にないため「現場で」スケールするのは苦労しています起源で。

任意のモデルの中心を考慮する変換行列を作成するにはどうすればよいですか?

+1

あなたが「中央」の明確な定義を持っているのですか? – Randy

+1

@Randy、いいえ、しかし、誰かがモデルの最大値と最小値のx、y、z値を見つけて、各成分の平均値をとって "中心"と言いました – MxyL

答えて

2

あなたは次の変換で「周り」ポイントPをスケーリングすることができる:

translate(scale(translate(model, -P)), P) 

すなわち頂点Xのためのお持ち

X' = P + s * (X-P) = s*X + (P-s*P) 
+0

ありがとう、私はそれを試みます。編集:それは働いた! = D – MxyL

関連する問題