2009-07-01から1ヶ月間の記事一覧

RE:自分ならこう書く - pythonでA*

自分ならこう書く - pythonでA* - ラシウラ おぉぉぉ、コードが添削されとる! しかし、ソート付きキューのheapqは知らなかったです、勉強になります。 それにしても、C言語のベタ移植だったとはいえ、Pythonに直すと短くなるもんだなぁ!! ・・・でも、短…

よく使うファイル操作早引き

Pythonでよく使う便利なファイル操作のまとめ。 こういう便利な機能を使っちゃうと、C言語でツールを作るのがバカらしくなりますね。 テンポラリファイル(一時ファイル) tempfileモジュールを使います、テンポラリファイルを作成する方法はいくつかあって…

wxMaxima覚書

wxMaximaとは? 「wxMaxima」とは、フリーの数式処理ソフト「Maxima」のGUIフロント版です。以下のページからwxMaximaをダウンロードすることができます。 http://wxmaxima.sourceforge.net/wiki/index.php/Main_Page Ubuntu(Linux)の場合は、以下のコマンド…

今更ながらjsonを使いました

Python2.6になって、jsonが標準モジュールになりましたね。 JavaScriptとの連携をするつもりはないんですが、可読性のあるpickleとして使えるかなと思いました。 import json a = { "name":"Tim", "age":19, "email":"tim@timcity.com", "visible":True } js…

クロージャの正しい使い方

先日、私が「クロージャの使い所が、イマイチわからないっす」とつぶやいてたら、知人から以下のページを教えてもらった。 クロージャの正しい使い方 orz .... 誰かクロージャの正しい使い方を教えてください。 (いや、確かに使ったら便利な場面もあるけど…

SDK1.5でOpenGLサンプル

SDK1.5からOpenGLの扱い方が変わったんですね。 今まで動いてたソースが動かなくて、おじさんビックリしちゃったよ。 SDK1.5からは、GLSurfaceViewを使うように変更になりました、日本語資料が無かったのでサンプルを張っておきます。 res/drawableにrobot.p…

すごい乱数生成アルゴリズム「xorshift」

みなさん、こんにちは、今回は乱数の話です。 特に複数機種でのコンシューマ機でゲームを開発をしていると、機種間で乱数値を統一するために乱数生成アルゴリズムを自作しますよね。 そこでよく使われるアルゴリズムが「線形合同法」です、内容は至って簡単…

numpyで2次元ベクトルの外積

一般的には2次元の外積の存在は賛否が分かれる所ですが、numpyでは2次元ベクトルの外積が用意されています。 import numpy numpy.cross([0,1],[ 1,0]) #-1 numpy.cross([0,1],[-1,0]) # 1 numpy.cross([1,0],[ 0,1]) # 0 どうやら内積の90度回転版みたいです…

ローカル変数で「L」とか「D」の変数名を使うやつ!

ローカル変数だからって1文字の変数名を付ける奴! 本当にそれでいいと思ってんのか?! 特に大文字の1文字変数を名づけた上に、値を上書きするやつ!! Rubyだったら怒られてるぞっ!! このダメプログラマがっ!! プログラミングの神様に謝れ!!! ごめ…

高速数値計算ライブラリ「Numpy」覚書き

Pythonで一番有名で普及しているライブラリと言っても過言ではない「Numpy」の覚書きです。かなり多機能な数値計算ライブラリで、内部はC言語で記述されているため超高速に動作します。 ベクトル ベクトルの長さ&正規化 import numpy a = numpy.array([[2,2…

PythonでA*(A-Star)アルゴリズム

今回はA*アルゴリズムをPythonでやってみます。 ゲームプログラマの間では、もはや常識となりつつある最短経路問題解決アルゴリズムです。 A*は、古典的手法である「ダイクストラ法」を改良したものです。 スタート地点からノードnを通ってゴールに辿り付く…

RSA暗号で「ふっかつのじゅもん」を作る(3)-完結

Pythonを使って高速素数判定をしてみる - Pashango’s Blog RSA暗号で「ふっかつのじゅもん」を作る(1) - Pashango’s Blog RSA暗号で「ふっかつのじゅもん」を作る(2) -RSA暗号鍵の生成 当初はサクッと終わらせるつもりだったのに、意外と長くなってしまいま…

RSA暗号で「ふっかつのじゅもん」を作る(2) -RSA暗号鍵の生成

Pythonを使って高速素数判定をしてみる - Pashango’s Blog RSA暗号で「ふっかつのじゅもん」を作る(1) - Pashango’s Blog さて前回からの続きです、RSA暗号で「ふっかつのじゅもん」を作ってみましょう。 RSA暗号では、暗号化するデータのビット数よりも、1…

RSA暗号で「ふっかつのじゅもん」を作る(1)

オッス、オラ、トンヌラ! 前回は、高速素数判定を作りましたが、今回はRSA暗号を使って、昔懐かしの「ふっかつのじゅもん」を作ってみましょう。 Pythonを使って高速素数判定をしてみる - Pashango’s Blog あ、「今さらRSAかよ」と思いました? 自分でRSAを…

AndroidでColladaのローダーを探しています

〃〃∩ _, ,_ ヤダヤダ! ⊂⌒( `Д´) < AndroidでCollada読めなきゃヤダ! `ヽ_つ__つ ジタバタ _, ,_ (`Д´ ∩ < 自分でLoader書くなんてヤダヤダ ⊂ ( ヽ∩ つ ジタバタ 〃〃 〃〃∩ _, ,_ ⊂⌒( つД´) < Colladaバージョン変わったら `ヽ_ ノ ⊂ノ 書き直…

Pythonを使って高速素数判定をしてみる

みなさん、素数を数えてますか? 『素数』は1と自分の数でしか割ることのできない孤独な数字。 暗号化できたり、乱数を作れたり、心を落ち着いたりして、私達に勇気を与えてくれます。 素数といえば「エラトステネスのふるい」ですが、あれは大きい桁の素数…

"sep".join()は気持ち悪くないよ!

"sep".join(list) が気持ち悪い理由 そんなに Array.join がいいのか Pythonの','.join()がキモいと思ってた時代が僕にもありました Pythonの文字列連結(join)にまつわる議論 まとめと考察(2) "".join()が色んなところで話し合われているんですね。 眺めて…

小数点の切り上げ/四捨五入/階乗計算

時々使うんだけど、調べると検索になかなかヒットしなくてイラッとするものたち。 小数点の切り上げ import math math.ceil(0.1) #=>1.0 四捨五入 round(0.4) #=>0.0 round(0.5) #=>1.0 round(0.15,1) #=>約0.2 round(124,-1) #=>120 階乗計算 階乗はVersion…