コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
初心者 ◆ULvuffpmw1rp
2020/1/16 22:37
質問
アフィン変換とは
行列同士の掛け算ということですか?
ネットで調べてもよくわからなかったので。
ちなみにプチコンでアフィン変換の命令があるので気になりました。

コメント

アバター
こういち 2020/1/17 5:26 ◆ou0jbJnEJ0Kb
回転、拡大、縮小、スキューに加えて平行移動や、それらを組み合わせた座標の変換を総称してアフィン変換と言います。
それは、三次元の場合4*4の大きさの行列と変換前のx,y,z座標と平行移動を現す1の要素で構成された縦ベクトルとの積で表現することが出来ます。
アバター
ツララ 2020/1/17 11:58 ◆ArUdBYOYME1V
>こういちさん
そういうのは初心者さんも調べた先で目にしてることなんじゃないんでス?
具体的な用例や用途をプリーズ。
こういちさんならどんな使い方をしたいかとかが聞いてみたいデース。
アバター
やきはた 2020/1/17 12:49 ◆pmVfuH0n4Kcn
スキューの中で人間に分かりやすいのが回転拡大縮小反転かな。

アフィンは高校で習う回転行列や一次変換等の2*2行列を行数列数をふやしたものなのでこれはきちんと勉強やってないと理解できないと思います。

プチコンなら
回転 拡大縮小 平行移動 斜めに変形をsprotとか一つずつ命令を書かず一回の命令でできると理解してれば十分です。

計算結果を数値指定できるので他の画面要素と計算で連動させて高度に操ることもできると思います。

2枚三角形のスプライトを組み合わせればスキューで擬似3Dと擬似テクスチャもできそうですね。

まあ中々難易度が高そうですが。

難しかったら原始的にsprotとかを使ってても問題ないかと。
アバター
初心者 2020/1/17 19:04 ◆ULvuffpmw1rp
(要素数,要素数)
(1,4)•(4,4)=(1,4)
と言うことですか?
アバター
やきはた 2020/1/17 19:48 ◆pmVfuH0n4Kcn
ベクトル*行列も間違いではありませんが空間全体を変形します。
コンピュータは有限なので画像の範囲だけ変形します。

プチコンではsprot等を駆使して
変形後の画像=平行移動*回転*画像A

原理的には行列(アフィン変換)を使って上記を計算しているわけです。
具体的には4行*4列行列です。
画像Aを
B=回転を現す行列(4,4)A
C=平行移動を現す行列(4,4)Bを掛けて変換を施した画像Cへと変形するのと

C=平行移動を現す行列(4,4)*回転を現す行列(4,4)Aともできますし、

回転してから平行移動する行列(4,4)=平行移動を現す行列(4,4)*回転を現す行列(4,4)
を作って
C=回転してから平行移動する行列(4,4)A

ともできます。
そして4*4行列何個掛け算しても結果は4*4行列なので複雑な変形が行列一つでできるという次第です。

私は数学は苦手なのであいまいな説明ですがいかがでしょうか?
アバター
やきはた 2020/1/17 21:01 ◆pmVfuH0n4Kcn
画像に行列をかける?
具体的にどうやるの?
と疑問に思いますよね。

画像をアフィン変換するのは大変です。
画像に行列を適用するのは細かい専門技術があります。

我々は部下に画像を変換してくれと頼むようなものです。
変換方法はアフィン(4*4行列)で指定するからと言えば部下が頑張ってくれるようにプチコンがアフィン変換を頑張ってくれると理解していれば十分です。

アフィン変換は画像を斜めに変形します。
斜めの分かりやすいものに着いた名前として回転、反転。平行移動などがあります。
アフィン変換を使いこなすために行列の詳しい中身を知りたいですか?
アバター
初心者 2020/1/17 23:52 ◆ULvuffpmw1rp
なるへそ。
複雑な変換が簡単に出来るのね。
本に「アフィン変換」がでてくる度にモヤモヤしていたので、これで解消されました!ありがとうございました!

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -