タグ

ブックマーク / zellij.hatenablog.com (6)

  • SVGでのアフィン変換の活用 - 大人になってからの再学習

    Canvasによる3Dテクスチャマッピングとパフォーマンスチューニング|最速チュパカブラ研究会 では、HTML5のCanvasの上で、3Dモデルのテクスチャマッピングを行う方法を紹介している。 内容は「アフィン変換とクリッピングを使って、画像上の三角形領域を、別の三角形にマッピングする」というもの。 図を使って説明する方がわかりやすい。 ↑画像の上に青い三角形がある。この領域を緑色の三角形にマッピングしたい。 ↑青い三角形の中身を緑色の三角形の内部にマッピングした結果。 結果の図から、何をしたいか理解できるだろう。 このような画像の切り取りと変形ができると、3DCGで使われるテクスチャマッピングが2Dグラフィックスで実現できる。 でも、青い三角形と緑の三角形は、大きさ・形が違うので、単純なコピーではうまくいかない。 青い三角形の各頂点が緑の三角形の頂点位置に来て、なおかつ内部の画像が適切に

    SVGでのアフィン変換の活用 - 大人になってからの再学習
  • 2つのボールをぶつけると円周率がわかる - 大人になってからの再学習

    一か月ほど前に New York Times で紹介されていた記事。 The Pi Machine - NYTimes.com ここで紹介されているのは、なんと驚くべきことに、2つのボールをぶつけるだけで円周率(3.1415...)の値がわかる、という内容。 これだけだと、全然ピンとこないと思うので、もう少し詳しく説明すると、次のようなことが書かれている。 ↓2つのボールを、下の図ように壁と床のある空間に置く。 ↓その後、壁から遠い方のボールを、他方に向かって転がす。 後は、ボールが衝突する回数をカウントするだけで、円周率がわかるらしい。 これでも、なんだかよくわからない。 まず2つのボールが同じ質量である場合を考えてみよう。 まず、手前のボールが他方のボールにぶつかる(これが1回め)。 続いて、ぶつかったボールが移動して壁にぶつかる(これが2回め)。 壁にぶつかったボールが跳ね返ってきて

    2つのボールをぶつけると円周率がわかる - 大人になってからの再学習
    tanakaBox
    tanakaBox 2014/04/12
    sinカーブと衝突回数。
  • Wikipediaがわかりにくいので(数学とか)、わかりやすいサイトを作ってみた - 大人になってからの再学習

    このブログをはじめてから2年8か月と少し(ちょうど1000日くらい)が経った。 これまでに公開したエントリの数は299。 つまり、このエントリは記念すべき第300号!というわけ。 ブログとしてある程度の存在を認められるには300記事が1つの目安であるという説があるので[要出典]、 この300回目のエントリは当ブログにとって大きな節目と言える。 前回299号のエントリでは「なぜWikioediaはわかりにくいのか(数学とか)」という内容を書いた。 そこで言いたかったことを3行でまとめると次の通り。 ■ Wikipediaの説明は理工系の初学者にはわかりにくいね。 ■ そもそも説明のアプローチ(思想とも言う)が違うので、わかりにくくて当然だね。 ■ もっとわかりやすい説明の仕方がありそうだね。特に図を使った説明は直観的な理解を助ける力があるね。 まぁ、だいたいこんな感じ。 そして、その記事につ

    Wikipediaがわかりにくいので(数学とか)、わかりやすいサイトを作ってみた - 大人になってからの再学習
  • 「イラレの円は本当は円じゃない」というけど誤差はどれくらいなのか - 大人になってからの再学習

    次の記事が興味深かった。 ■ イラレの円は当は円じゃない http://d.hatena.ne.jp/n-yuji/20131017/p1 Illustratorの楕円ツールで書く円は、当は円(wikipedia:円 (数学))ではなくて、近似値なんです。つまり、円としてはわずかに歪んでいるわけ。これはベジェ曲線(wikipedia:ベジェ曲線)というものを使う以上、そういう仕様なのですね。 http://d.hatena.ne.jp/n-yuji/20131017/p1 Illustratorで用いられる3次のベジェ曲線は、パラメータtと4つの制御点C0〜C3を用いて次のように表現される。 3次の多項式で表現される曲線なので、実際のところ円を正確に表現できない。 この問題を解決するために、NURBS曲線が発明されてCADソフトなどで使われたりしているのだけど、Illustratorで

  • 数学学習の道しるべ - 大人になってからの再学習

    大学受験までの数学は得意だったのに、大学の数学で道をはずしてしまって、さっぱり理解が追いつかなくなった。という方は意外に多いのではないだろうか。 特に理工系の学生は、大学数学の知識が他の科目にも必要とされることが多いため、数学で躓いてしまうと影響が大きい。 大学の数学は、「微分積分」「ベクトル解析」「線形代数」「複素関数」「確率・統計」その他さまざまな分野があり、それぞれの関係を把握するのが難しい。 また、大人になってから大学レベルの数学を学習し直そうとした時に、なにから手を付けていいのかわからない、ということが多い。 そこで、なんとなくイメージをつかむ上で手助けになるのが次の図。 (出典:理工系の数学入門コース(岩波書店)) この図は「理工系の数学入門コース(岩波書店)」シリーズの各巻の前書きに登場する。 意外とありそうでなかった。 数学の世界はもっと広いが、理工系の学生が必要とする内容

    数学学習の道しるべ - 大人になってからの再学習
    tanakaBox
    tanakaBox 2013/04/20
    大学数学の遣り直しに。
  • 数値計算ライブラリ - 大人になってからの再学習

    ■ FADBAD++ http://www.fadbad.com/fadbad.html C++言語のテンプレートを活用した微分計算ライブラリ。オープンソース。 最適化計算では、目的関数の微分値を求める必要が生じるけど、それを自分で実装するのは手間がかかる。 FADBAD++では、目的関数を記述するだけで、その微分計算が自動でできてしまう。 微分のチェーンルール(参照)を使って、精度よく値を求められる。 例: 目的関数を次のように定義しておく B<double> func(const B<double>& x, const B<double>& y) { B<double> z=sqrt(x); return y*z+sin(z); } 以下のような短い記述でxおよびyで微分した値が求まってしまう。 B<double> x,y,f; // Declare variables x,y,f x

    数値計算ライブラリ - 大人になってからの再学習
  • 1