wacchoz’s note

プログラミングとか数学について

素因数分解(3) フェルマー法、2次ふるい法

以前の記事でもちらっと書きましたが、素因数分解のアルゴリズムは大きなカテゴリーが2つあり、そのうちの1つにフェルマー法、2次ふるい法、連分数法、数体ふるい法が属しています。 今回はフェルマー法、2次ふるい法を紹介していきます。素因数分解(1) …

Pythonで機械設計を自動化した話

仕事でとある機械を設計する仕事をしていました。 3年前ぐらいに設計をPythonで自動化した経験について書きます。入社したときから設計に配属され、ずっと設計をしていました。 内製の多数の設計ツールを駆使して、手作業でひたすら計算して、設計クライテリ…

素因数分解(2) p-1法、p+1法、楕円曲線法

前回の記事(素因数分解(1) Pollardのρ法 - wacchoz’s note)でちらっと書きましたが、素因数分解のアルゴリズムは大きなカテゴリーが2つあり、そのうちの1つに法、法、楕円曲線法が属しています。 今回はそれらについて書いていきます。素因数分解(1) Pol…

素因数分解(1) Pollardのρ法

RSA暗号が素因数分解の難しさを安全性の根拠にしていることからわかる通り、大きな数の素因数分解は非常に難しいです。 今のところ、200桁程度の数の素因数分解が限界のようです。 素因数分解(1) Pollardのρ法 - wacchoz’s note(今ここ) 素因数分解(2) p-1…

APR-CL素数判定法

APR-CL素数判定法(Adleman–Pomerance–Rumely-Cohen-Lenstra primality test, APR-CL primality test)について概説&実装してみる。 この素数判定法はAdleman–Pomerance–Rumelyらによって開発された方法で、のちにCohenとLenstraによって改良されています。 …

某女の子が歌ったり踊ったりするゲームの何か(4)

どうせ多忙で、ここ半年間進捗がないので放出。 とりあえず揺れるよ~ 物理演算を実装 ソースコード github.com (2018/11 GitHubに移動) 本当はスキニングを直そうと思ったのだが、時間がまったく取れない。誰か頼む。

某女の子が歌ったり踊ったりするゲームの何か(3)

歌うよー!踊るよー! どうせ暇なので昔作ったプログラムの整理の続き。 「マルチバイト文字セットを使用する」でビルドして下さい。入力ファイルの設定は"settings.ini"を書き換えて下さい。 ソースコード github.com (2013/5/5差し替え)(2018/11 GitHubに…

某女の子が歌ったり踊ったりするゲームの何か(2)

どうせ暇なので、過去のプログラムの在庫整理の続き。シェーダで描画を改善してみる。かなり見栄えが良くなりました。 シェーダの中身は某プログラムのパクリです。ごめんなさい。いずれどうにかするかも。 ちゃんとフラグでシェーダを切り替えてないので、…

スキニングの話(3)

次はDual Quaternionを使ったスキニング手法。Ladislav Kavan et al.,2008, Geometric skinning with approximate dual quaternion blending, ACM Trans. Graph. 27, 4, 105.Quaternionは回転しか表せず、平行移動は表せないのがとっても不満です。 Dual Qua…

スキニングの話(2)

Linear Blend Skinningでしばしばおかしな変形を目にすることになる。 一例を図に示す。 (Ladislav Kavan et al.,Geometric Skinning with Approximate Dual Quaternion Blendingより引用)頂点はとから50%ずつ影響されているとする。 ボーンアニメーション…

スキニングの話(1)

どうせ暇だしスキニングについて書いてみる。 スキニングとは3Dアニメーションで使われる手法で、ポリゴン内部にボーンを仕込んでおき、ボーンを動かすことでポリゴンを変形させる手法である。 骨格構造はジョイント(関節)の集合である。 そしてジョイント…

Quaternionと回転の話

どうせ暇だしQuaternionについてまとめてみる。 Quaternion(クォータニオン)は3次元グラフィクス分野でよく出てくるツールである。 もともとはHamiltonによって考案された概念で、複素数の自然な拡張となっている。 単位複素数がGauss平面上での回転を表…

某女の子が歌ったり踊ったりするゲームの何か

Standing on the shoulders of giants 2年以上前に書いてたプログラムの在庫整理。とりあえずはモデルの表示まで。かつてOpenGLバージョンとDirectXバージョンを作ったけど、今回はOpenGLバージョンを整理。整理というほどは整理できてないんだけど。。。 …

DTAM論文を読んでみた

どうせ暇だしDTAM論文を読んでみます。 結構むずかしいです・・・ 画像処理は専門ではなくて趣味で読んでるだけなので、適当なことを書いてるかもしれないがそのつもりで。 Richard A. Newcombe, Steven J. Lovegrove and Andrew J. Davison. DTAM: Dense Tr…

【PTAM(3/3)】 PTAMでの影

前回のプログラムでは影が描画されないのがイマイチと思った人もいるかもしれない。 ステンシルバッファを使った平面投影シャドウを使ってみる。ARDriver.cc の MakeFrameBuffer() を以下に差し替えて、ステンシルバッファを使えるようにする。 void ARDrive…

【PTAM(2/3)】 PTAMにモデル描画

PTAMに目玉ではなく自分でモデルを描画してみよう。変更するファイルはEyeGame.ccだ。 void EyeGame::DrawStuff(Vector v3CameraPos) の中に描画するコードを書けばいい。とりあえず for(int i=0; i から glDisable(GL_TEXTURE_2D); はコメントアウトしてお…

【PTAM(1/3)】 PTAMコンパイル

PTAMを入れたパソコンがぶっ壊れてからだいぶ長い時間がたつが、超久々に再度コンパイルしてみた。前回やったときは資料も少なくて苦労して丸1日かかりました。 今からやる人も少ないだろうが、備忘録として残しておく。 今回はこのページを参考に。 マーカ…