万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    第30回FlashOOP勉強会

    http://www.flashoop.jp/2008/11/30_1.html

    ActionScript 3.0プロフェッショナルガイド』の執筆者野中さん。

    数学の本ではない。

    Matrix行列変換
    解説は逃げない。

    ActionScript3.0からイベントをやりとりできるようになった。

    三角関数

    微分積分
    ・カラーの変換
    ・行列

    ベクトルは行列を拡張したもの。

    ■数学的なベクトルと行列からMatrix/Matrix3Dクラスを理解する
    ベクトル・・・大きさと方向を持つもの。

    スカラー

    ・ベクトル
    絶対値(大きさ)
    三平方の定理

    スカラー倍・・・・kA=(kAx,kAy)

    足し算
    引き算

    かけ算はない。
    内積
    ×外積は除く

    A・B=|A||B|cosθ
       =AxBx+AyBy

    cosθは0


    ・行列
    足し算
    引き算
    スカラー
    →ベクトルと考え方は同じ

    ベクトルをさらにベクトルにしたようなもの。
    配列の配列

    ・行列の乗算
    縦に書いたものは列ベクトル
    2列=2行 でないと計算できない。
    交換法則は成立たない

    機械的にできる、つまりコンピュータに任せられる

    カラーやぼかし、エンボスなどに使う。
    2行2列と2行2列なら、2行2列になる。

    内積を作っている。
    交換法律は成立たない。

    ・座標の変換
    単位行列・・・対角の要素が1,他は0

    ・座標の変換
    座標は原点を中心に回転する。

    ■CS3、カラー効果
    RGB
    オフセットは加算でやる。

    ※パースがかからない
    ・台形に変化出来ない。平行四辺形にしか変化しない。
    ・同じ三角形が2つのみ。
    ・Flash8やFlash9ではできない。Flash10から。

    ■変換行列ーMatrix3Dクラス

    ・Matrix3D
    4×4の正方行列

    ・Vector3D

    順番が変わると答えが変わってしまうこと。

    ・前掛け(prepend):
    prependRotation() 回転
    prependScale() 拡大。縮小
    prependTranslation() 平行動移

    ・後掛け(append):
    appendRotation() 回転
    appendScale() 拡大。縮小
    appendTranslation() 平行動移

    0のフレームの時点で単位行列がセットされてしまう。
    必要なインスタンスだけに0をセットする。
    appendRotation
    その場で回転するには、一度親の座標に移動して回転して戻す。

    単位行列は何も変化しない。
    prependは変化を加えておいてから、最後に設定する。
    デメリットは、デフォルト(単位行列)を設定しなければならない。
    リセットされてしまう。
    細かい設定をするには、元の角度に影響が及ばないappenndがよい。
    リセットされてもよい場合は、楽に設定できるprepend。

    質疑応答
    Matrix3Dはネイティブでやってるので、通常より速い。
    papervisionは内部的な物を変えてるかも知れないので速いかも知れない。

    z座標を持たせることにやって3次元も出来るようになる。

    次回はMAX後、2月あたり?

    Vector
    Flash10から入ってきたクラス。
    配列のエレメントを型指定したもの。
    Numberにintを入れると怒られる。
    Objectも入らない。厳密。
    3角形ごとに塗りつぶす。