タグ

programmingとmathに関するnilabのブックマーク (8)

  • 3点の座標から簡単に角度と回転方向を求める.(2・3・N次元,外積を用いる方法)

    S ≡ (Px - Cx) * (Qy - Cy) - (Py - Cy) * (Qx - Cx) とする.S>0 なら左回り,S<0 なら右回り,S=0 ならば C,P,Q は一直線上にある.(注) なお,この判別方法は,CP と CQ が同じ長さである必要はない. θを求めたい場合はこちらへ. この問題を見て,逆三角関数 tan-1 (C言語では atan() や atan2()) を使って CP と CQ の角度をそれぞれ求め, 両者を比較しようと考えた方が多いのではないでしょうか. しかしこの問題では,角度そのものではなく角度差の符号を求めればよいので, 逆三角関数を使う方法よりも簡単で優れた,外積を使う方法を紹介します. 2つの2次元ベクトル A=(Ax, Ay), B=(Bx, By) の外積を次のように定義する. A × B ≡ Ax * By - Ay * Bx ここで O

    3点の座標から簡単に角度と回転方向を求める.(2・3・N次元,外積を用いる方法)
    nilab
    nilab 2010/09/13
    3点の座標から簡単に角度と回転方向を求める.(2・3・N次元,外積を用いる方法)
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    nilab
    nilab 2010/09/13
    第10回 自動計算装置 - 東方弾幕風講座 : 三角関数, sin, cos, atan, atan2
  • trick7 RTP Live: Info Bocoran RTP Slot Online Pragmatic Play Gacor Terlengkap -

    Halo bosku! kembali lagi bersama kami situs slot terpopuler dan terupdate no 1 di Indonesia, yang menyediakan ragam permainan […]

    nilab
    nilab 2006/12/04
    trick7.com blog: 〜度回転させた後の_xと_yを求める方法 : 回転行列
  • C言語による画像回転処理について

    回転処理において処理結果に入力画像すべてが収まるようにするためには出力画像の大きさを計算する必要があります。 幅:sw、高さ:shの画像をA度回転させたときの出力画像の幅(dw)、高さ(dh)は次のように計算されます。 ( fabs() : math.hで定義されている浮動小数の絶対値を得る標準関数 ) dw = fabs( sw * cos(A) ) + fabs( sh * sin(A) ) dh = fabs( sw * sin(A) ) + fabs( sh * cos(A) ) 実際のプログラム上では幅高さは整数でないといけないので、通常次のように四捨五入をして結果を求めます。 int dw = (int)( fabs( sw * cos(A) ) + fabs( sh * sin(A) ) + 0.5 ) int dh = (int)( fabs( sw *

    nilab
    nilab 2006/12/04
    C言語による画像回転処理について:DIB画像の回転処理プログラムのアルゴリズムについて解説
  • http://lecture.ecc.u-tokyo.ac.jp/~ckondo/

    nilab
    nilab 2006/12/04
    東京大学 図形科学実習 コンピュータグラフィックス 形状モデリング入門(GEOMAP)
  • http://www.ke.ics.saitama-u.ac.jp/kondo/Geomap/GBASICPrimerJ/GBasicPrimerJ.html

    nilab
    nilab 2006/12/04
    Geometry Primer (幾何言語G_BASICの演習)
  • 数学・アルゴリズム研究室

    当コーナーでは、ゲーム制作や一般アプリケーション開発といったプログラミングの「土台」となる各種アルゴリズムや初級レベル数学の基的概念を確かめるプログラムを作って試してみます。コードの中で何をしたいのか、具体的な「手順」や数学的な背景を考え、それをプログラミング言語の変数やデータ構造、制御構造などで実現していきましょう。 ただ、私自身が数学に関しては素人なので、たいしたことはできません。内容も無保証ですので、ご注意ください。 コーナーでは、Javaアプレットを使用しているページがあります。Javaアプレットが埋め込まれているページでは、プラグインがないとプログラムが実行されません。 数式処理への第一歩>足し算(1999/10/ 6) 連結リスト(1999/10/ 6) 参照(ポインタ)の繋ぎあわせでデータを保持。 16進文字列と数値の変換(2000/ 6/20) 文字列の検索(1999/

    nilab
    nilab 2006/07/06
    数学・アルゴリズム研究室 : ゲーム制作や一般アプリケーション開発などのプログラミングの「土台」となる各種アルゴリズム
  • 良い乱数・悪い乱数

    C言語標準ライブラリの乱数rand( )は質に問題があり、禁止している学会もある。 他にも乱数には様々なアルゴリズムがあるが、多くのものが問題を持っている。 最も多くの人に使われている乱数であろう Visual Basic の Rnd の質は最低である。 そもそも乱数とは 乱数とは、来サイコロを振って出る目から得られるような数を意味する。 このような乱数は予測不能なものである。 しかし、計算機を使って乱数を発生させた場合、 次に出る数は完全に決まっているので、予測不能とはいえない。 そこで、計算機で作り出される乱数を疑似乱数(PRNG)と呼び区別することがある。 ここでは、特にことわらない限り乱数とは疑似乱数のことを指すとする。 計算機でソフト的に乱数を発生させることの最大のメリットは、 再現性があることである。 初期状態が同じであれば、発生する乱数も全く同じものが得られる。 このことは

    nilab
    nilab 2005/08/02
    良い乱数・悪い乱数
  • 1