![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ひろゆき | Åê¹ÆNo.36547 投稿日時: 2007-11-29 4:46 |
ちょんまげら ![]() ![]() 居住地: 東京砂漠 投稿: 4403
使用環境:
![]() ![]() Safari 6.1 |
Re: Matrixのアフィン変換に関して 引用:
野中文雄さんは書きました: あぁ、回転もですか! ![]()
|
野中文雄 | Åê¹ÆNo.36545 投稿日時: 2007-11-29 4:28 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
![]() ![]() ![]() |
Re: Matrixのアフィン変換に関して 影響すると考えられるのは、つぎの4図でしょうか。
![]() ![]() ![]() ![]() 引用: ひろゆきさんは書きました: 変換行列は、もともと以下のように定義されることが多かったようです。 ![]() 「Understanding the Transformation Matrix in Flash 8」より引用 Flashのヘルプがその定義を変えた際、上記の行列との混同が生じたもののように見受けられます。 |
Shiii | Åê¹ÆNo.36535 投稿日時: 2007-11-29 2:42 |
新米 ![]() ![]() 居住地: 投稿: 6
使用環境:
![]() ![]() |
Re: Matrixのアフィン変換に関して 野中さん、ひろゆきさん
お返事ありがとうございます。 やっと疑問が晴れました ![]() 一応、昨日アドビには質問してみたのですが、 返事がまだないので返事があり次第、ここに自己レスさせていただきます。 とにもかくにも、とても助かりました。 ありがとうございました!!! |
ひろゆき | Åê¹ÆNo.36530 投稿日時: 2007-11-29 2:17 |
ちょんまげら ![]() ![]() 居住地: 東京砂漠 投稿: 4403
使用環境:
![]() ![]() Safari 6.1 |
Re: Matrixのアフィン変換に関して 引用:
野中文雄さんは書きました: すると、Matrix (flash.geom.Matrix) での図の間違いは 「Matrixって何だお? (1)」# 4箇所修正。
|
野中文雄 | Åê¹ÆNo.36528 投稿日時: 2007-11-29 1:06 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
![]() ![]() ![]() |
Re: Matrixのアフィン変換に関して ヘルプにおける変換行列のbとcの位置は逆だと思います。
![]() Matrix (flash.geom.Matrix) 参考: senocular.com「Understanding the Transformation Matrix in Flash 8」 引用: Shiiiさんは書きました: |
Shiii | Åê¹ÆNo.36511 投稿日時: 2007-11-27 23:50 |
新米 ![]() ![]() 居住地: 投稿: 6
使用環境:
![]() ![]() |
Re: Matrixのアフィン変換に関して ひろゆきさん
再度お返事ありがとうございます。 正直なところ、提示していただいた図が間違っているのではないのかと思っています。。。skxとskyが逆なのではないかと思っています。そうであれば今回質問させていただいた疑問が解けるのですが・・・。 ただ、まだ行列の知識が乏しいので、公式のようなものが存在するのかと色々調べています。(例えば、2行1列、または1行2列の値どちらかに-1をかけた場合[スクリーン座標ではy座標の正の向きが反転しているため]それぞれの値を入れ替えることができるなど・・・推論ですが) アドビのサポートに質問するほうが筋でしょうか ![]() |
ひろゆき | Åê¹ÆNo.36497 投稿日時: 2007-11-27 19:17 |
ちょんまげら ![]() ![]() 居住地: 東京砂漠 投稿: 4403
使用環境:
![]() ![]() Safari 6.1 |
Re: Matrixのアフィン変換に関して 引用:
Shiiiさんは書きました: であれば、 引用: Shiiiさんは書きました: 「Matrix (flash.geom.Matrix)」 ![]() 「Matrix (flash.geom.Matrix)」 ![]() の「図」が間違っているということですね。
|
Shiii | Åê¹ÆNo.36431 投稿日時: 2007-11-23 14:03 |
新米 ![]() ![]() 居住地: 投稿: 6
使用環境:
![]() ![]() |
Re: Matrixのアフィン変換に関して ひろゆきさん
さっそくのお返事ありがとうございます!いつもサイト拝見させていただいてます ![]() アカウント編集しました。それと、ご指摘いただいたように、質問の仕方がかなり悪かったです。すみません。 ひろゆきさんがおっしゃるように、Flashで実行される結果から、 引用: x' = a * x + c * y + tx = x が正しいと思っています。 ただ、FlashのヘルプでMatrixの項を見ると、 |a b tx| |c d ty| |0 0 1 | と、なっていました。(行列式の記述みたいですが行列を表してることとさせてください。) 上のx'、y'が成り立つためには、 |a c tx| |b d ty| |0 0 1 | となると思っています… ![]() 行列の合成で、前項と後項の入れ替えて、行と列の反転させるなど色々試してみたのですが、Flashのマニュアルにある数の並びからは、 |x'| |a b tx||x| |y'|=|c d ty||y| |1 | |0 0 1 ||1| で、せん断だけがうまく定義できませんでした。 y座標の方向の違いによる、重力加速度の方向や、 回転方向の正の向きは理解できるのですが、そこだけどうも理解できません。 オーサリングというよりも、どちらかというと行列の仕組みの質問のようになってしまい申し訳ないです。 |
ひろゆき | Åê¹ÆNo.36421 投稿日時: 2007-11-23 2:28 |
ちょんまげら ![]() ![]() 居住地: 東京砂漠 投稿: 4403
使用環境:
![]() ![]() Safari 6.1 |
Re: Matrixのアフィン変換に関して 引用:
Shiiiさんは書きました: 「アカウント編集」で、編集環境は書いておきましょう。 「プロフィール・使用環境記入のお願い」 引用: 変換後の座標x'、y'は、(a=1、b=1、c=0、d=0、tx=0、ty=0なので)
引用: (a=1、b=1、c=0、d=0、tx=0、ty=0なので) ここは間違いではないでしょうか? b = 1とだけしたのであれば、 (a=1、b=1、c=0、d=1、tx=0、ty=0)となり、
どのように記述されたのか分かりませんが、
引用: Shiiiさんは書きました: ただし、ここで一般式として提示されている式は、 「OpenGL3Dプログラミング : 2次元図形とアフィン変換」 などで示されている式を元にされていると思いますが、 これはy軸が上向きである前提で、 それをそのまま、y軸が下向きであるFlashにあてはめて、 おかしいと言っても、解決しないのではないかと思います。 引用: 座標でy方向への変化がないのではないかと考えております。僕の考え違いでしょうか? 「Matrixって何だお? (1)」 Flashで、Matrixクラスを用いた動作を確認して、 bの値によってy方向への変化がある事実から考えると、 Flashの内部的には、
先に挙げた「OpenGL3Dプログラミング : 2次元図形とアフィン変換」では、 回転のマトリックスが
「Flash 8特別セミナー - 新機能とスクリプティング - : 4. 変換行列」では、
もっと簡単な例で考えてみましょう。 一般的には、自由落下を示す式は、
(h: 位置 / h0 : 初期位置 / g: 重力加速度 / t: 時間) これは、おかしい、おかしくないという話ではありませんね?
|
Shiii | Åê¹ÆNo.36419 投稿日時: 2007-11-23 1:57 |
新米 ![]() ![]() 居住地: 投稿: 6
使用環境:
![]() ![]() |
Matrixのアフィン変換に関して こんにちは。
最近Matrixを習得ついでに行列について勉強し始めたのですが、 Matrixのアフィン変換の傾斜(せん断)について、 なかなか理解できないことがあるので質問させていただきました ![]() 実行環境はwinXP、Flash8、as2です。 Flashでは、Matrixのプロパティとしてa、b、c、d、tx、tyが用意されていますが、MovieClip.transform.matrixに変形用Matrixを適用後の表示で、傾斜の部分だけが実際自分で計算した数値結果と合いません・・・。 Flash付属のヘルプ、またはガイドを見るとMatrix.bがy方向への傾斜に関する値と記述されているのですが、x方向ではないのかと考えてます。 例えば、_x=_y=0、_width=_height=100、_xscale=_yscale=100、_rotation=0のMovieClipがあり、MovieClip.transform.matrix.b=1(正確な記述は省かせていただきます)とした場合、変換後の座標x'、y'は、(a=1、b=1、c=0、d=0、tx=0、ty=0なので) x' = ax + by + tx = x + by y' = cx + dy + ty = y; となり、座標でy方向への変化がないのではないかと考えております。僕の考え違いでしょうか? 図表もなく申しわけないですが、ご存知の方どうぞよろしくお願いします。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |