2012年11月7日水曜日

matrixと逆三角関数

「他人様の褌で相撲を取る」を座右の銘として、DTP業界コバンザメとして棲息してきたものの、さすがに限界。ここ3年はスポイルされ警備が本業です。

やり残しのはじめの一歩」をDTPに必要な三角関数から入り、基礎から理解しようと挑戦をしたのですが、高校時代ろくに勉強をしなかった身としては投げ出さざるをえません。放置したままにするのもなんなので、ここまでのログ。

この件はあかねさんの「IllustratorでApplescript」にも書かれている

得られたmatrixは、わけわかめ。
{class:matrix, mvalue_a:0.707106649876, mvalue_b:-0.70710670948, mvalue_c:0.707106649876, mvalue_d:0.707106649876, mvalue_tx:316.75048828125, mvalue_ty:587.07666015625}
AppleScriptを使って、Illustratorに貼られた画像の拡大縮小率を得るにはで解決されたのだが、そこにはアフィン変換やらmatrixなどという難しい用語が登場する。

アフィン変換はアフィン変換 画像処理ソリューションが分かりやすい。

で、adobeのMatrixクラス - 変換行列でなんとなく理解できます。(あくまでも何となく)



a: 水平方向の伸縮率 = 変換後の幅/もとの幅
b: 垂直方向の傾斜率 = 垂直方向の傾斜/もとの幅
c: 水平方向の傾斜率 = 水平方向の傾斜/もとの高さ
d: 垂直方向の伸縮率 = 変換後の高さ/もとの高さ
tx: 水平方向の移動ピクセル数
ty: 垂直方向の移動ピクセル数



回転がかかった場合、アフィン変換 画像処理ソリューションの図を参考





 

mvalue_a:0.707106649876, mvalue_b:-0.70710670948, mvalue_c:0.707106649876, mvalue_d:0.707106649876, mvalue_tx:316.75048828125, mvalue_ty:587.07666015625

aとdは同じ数値ですから単純に回転がかかったものと判断できます。

TransformMatrix.swf 
{class:matrix, mvalue_a:0.707106649876, mvalue_b:-0.70710670948, mvalue_c:0.707106649876, mvalue_d:0.707106649876, mvalue_tx:316.75048828125, mvalue_ty:587.07666015625}の数値を入力すると


はい、遊べます。
なんとなく分かった錯覚に陥ります。

でも角度は出てきません。
数値から角度を逆算する必要が出てきます。


逆三角関数(度)サイトで数値から角度が出てきます。こんな↓感じ。


何とかここまでは達しましたけど逆三角関数が分かりませんので、それを使ったスクリプトなんぞ、とてもとても。。。です。
理解できずに「他人様の褌で相撲を取る」のはコバンザメのプライドが傷つきますが、この件に関しては仕方ありません。もっとも今後、使う機会があるかどうかも(ry

でもTransformMatrix.swfだけでなく角度とラジアンでも図がいじって遊べるのが嬉しい^^



んで全然、話は違うけど、最近やたら気になること。
せうぞーさんのブログが更新されてない。もう4ヶ月にもなります。


0 件のコメント:

コメントを投稿