Maths#2D Object Transformation Matrix

頭の奥に閉めておいたというか、もう先生に返したというか、数学の復習シリーズです。今回はまず2D Object Transformation Matrixについて話しします。2D Object Transformation Matrix様々な場合でも使えます。例えばパソコンの画面にあるObjectの移動とか、実際Roboticsの移動計算とか、ですね。それでは、始まりましょう。

Scaling In X-Direction Only

座標(x,y)があり、最初はXの方向だけ移動すると考えます。

Matrixにはこうなります。

Kのこときなりますね。英語だとScaling Coefficientだと言います。まぁ、簡単にいいますとScaling Factorです。

もしあなたがObjectをXに2倍に距離をシフトしたいなら、このKは2すればよいです。

もしあなたがObjectをXに半分の距離をシフトしたいなら、このKを1/2すればよいです。

Exampleで話ししましょう。例えばいまその2つのPointsがあります。

そこでPoint(1,1)とPoint(2,1)にも2倍進みたいと考えています。

単純にKを2に置き換えればよいです。

実際計算してみますとX1’は(2,1)です。

そしてX2’は(4,1)です。

みんなさんもわかりと思いますが、Yはそのままの値でXだけは2倍になりましたね。

Scaling In Y-Direction Only

次はY方向だけ移動すると考えましょう。

Kの場所は一番左上から右下にシフトしました。

Xとあまり変わりませんので、図などはここで省略させていただきます。

例えばXはそのままで、Yを3倍にシフトします。

Kを3に置き換えます。

実際計算してみますとX1’は(1,3)です。

そしてX2’は(2,3)です。

今度はXは変わらず、Yだけは3倍になりましたね。

Scaling In Both X,Y Direction 

ここまできたら、2つのXY移動動作を一つにまとめておきましょう。

あまり難しくなく、左上と右下の値をKxとKyの変数すればよいです。

では、もしXは4倍移動し、Yは1/2倍に戻すにするのであれば。

X1’は(4,½)になります。

X2’は(8,½ )になります。


はーい、お疲れ様です。

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする