2006-01-01から1年間の記事一覧

はてなダイアリーではいろいろなことが表現できます

はてなダイアリーは普通のブログサービスと異なり、1日分の記事は全てまとめて編集することができます。1日に複数の記事を書きたいときは、記事の先頭に「*」+記事のタイトルを書き込んでください。このサンプルでも利用しているので、「編集」リンクを押し…

はてなダイアリーへようこそ!

これはあなた専用のブログです。早速記事を書いてみてください。記事の編集は、日付欄の横にある「編集」リンクより行うことができます。日々の出来事、本やCD、テレビ番組や出来事の感想、普段考えていることなど、内容は自由です。自分ならではのブログを…

NPlot で値の表示範囲を設定する方法

割と基本的なことだとは思いますが、意識せずにプログラミングすると 嵌る恐れがある(というか、嵌りました)ので、やり方をメモします。 表示範囲を指定してグラフを描画したいときは、XAxis 及び YAxis の WorldMax, WorldMin にそれぞれの値を設定すればよ…

System.Drawing.Bitmap画像を使った高速な画像処理プログラミング その2

System.Drawing.Bitmap画像を使った高速な画像処理プログラミングについての続きです。 .Net Framework のベンチマークの公開にはややこしいルールがあるようなので、 ベンチマーク結果を公開する代わりにベンチマークを取れるプログラムを公開します。 こう…

System.Drawing.Bitmap画像を使った高速な画像処理プログラミングについて

はじめに .Net Framework の System.Drawing.Bitmapを使うと、jpegやpngなどの画像データを簡単に扱うことができます。しかし、このクラスに用意されている、各画素にアクセスするメソッド SetPixel はあまり高速ではありません。 閾値処理、エッジ検出など…

NPlot でマーカー付き折れ線グラフを使いたい!

まず、先日公開した、PDF出力機能付きNPlotで、僕が追加した箇所に一部ミスがありましたので、修正しました。 - http://www.geocities.jp/mocchi_2003/soft/NPlot_with_self_patch_051.zip NPlotには、折れ線グラフ(LinePlot)も、マーカーだけのグラフ(Point…

NPlot にPDF出力機能を追加しました

先日紹介したグラフ描画ライブラリNPlotに、PDF出力機能を追加してみました。 オリジナルのNPlotは出力先として、ベクタ系の画像をサポートしていないようだったので、 PDFを作成できるライブラリiTextSharpを使って、PDF出力機能を追加しました。 LaTeX用の…

グラフ作成ライブラリNPlot

グラフが作成できるBSDライクなライセンスのライブラリを発見しました! ずっと探してたのに見つからなかったんですが,関係ないものを探してたらひょっこりと 現れてくれました。 NPlot http://www.nplot.com/ .Net Framework用のライブラリです。 | ライセ…

前回作ったライブラリを実際に使ってみた

前回作った、ネイティブAPIを使ってテキストを画像データにするライブラリとOpenGLを使って、 簡単なサンプルを作ってみました。 ↓ライブラリ紹介エントリ http://blogs.yahoo.co.jp/mocchi_2003/38911375.html OpenGLのためのウィンドウ周りのライブラリと…

ネイティブAPIを用いたマルチプラットフォームフォントレンダラーライブラリ

3Dを扱うプログラムや、画像ファイルに色々レンダリングを行うプログラムを作成する際に、 文字列(特に日本語などの多バイト文字列)を扱うのがちょっと面倒です。 そのようなことができるライブラリとして有名なものにFreeTypeなどがありますが、 これを利用…

WinMagnetバージョンアップ

自作ソフト WinMagnet をバージョンアップしました。 http://www.geocities.jp/mocchi_2003/soft.html このソフトは、ウィンドウに貼り付けると、そのウィンドウを常に最前面状態にしたり、本来動かないウィンドウ(最大化状態のウィンドウ、スプラッシュウィ…

LRU コンテナ

一定のサイズを保ち、新たに要素が加えられたときに LRU (Least Recently Used) な要素を削除する、キャッシュのような働きをする C++のコンテナを作ってみました。 内部で list と set を保持していて、要素の追加の他に、begin、end、rbegin、rendを 持っ…

メンバ関数ポインタ同士の比較

二つのメンバ関数ポインタ型変数が等しいかどうかを比較する処理を作ってたんですが、g++ と Visual C++ で一部違った処理になることを発見しました。 下に書いたプログラムを実行すると… #include <cstdio> class Test{ public: void aaa(void){ printf("a");} void</cstdio>…

C++版デリゲート作ってみました

C#などではおなじみのデリゲートと同じようなことができるC++のクラスを作ってみました。 boost:function と同じような機能ですが、boostはサイズが結構大きくて、デリゲートが欲しい だけのためにboost一式をインストールするにはちょっと抵抗があったので…

MIST バージョンアップ

画像処理や音声処理に便利なアルゴリズムなコンテナなどを C++ で実装しているライブラリ MISTが 1.32にバージョンアップしたそうです。 http://mist.suenaga.cse.nagoya-u.ac.jp/ 追加された機能で特に便利そうと感じたものは… ・DPマッチング 例えば二つの…

Irrlicht に姉妹品があるらしい

http://blogs.yahoo.co.jp/mocchi_2003/32356457.html で紹介したIrrlichtですが、このライブラリ、たった一人でプログラミングされているんだそうです。何でも仕様が安定するまでは他の開発者に邪魔されたくないんだとか。それにしても一人であそこまで作っ…

3Dレンダリング用ライブラリ Irrlicht イルリッヒ?イルリヒト?

フリーでコピーレフトがゆるくてマルチプラットフォームでC++で使える3Dライブラリはないかなぁ…と探していたところ… ありました(・∀・)! ボタンとかのGUI部品も用意されてるらしいです。ただし、そのままでは日本語は表示できないとか… Irrlicht ←日本語の…

libsava 範囲クエリのベンチとか

さっきの続きです。 begin, endがどんな感じで動くのか試してみました。 ベンチをとるために、mistライブラリの中にあった、mist::timer を使ってみました。 libsava にも時間測定用のクラスがあるようですが、unix用っぽいので、そっちは使ってません。 つ…

libsavaのKDTree コンパイルが通らない・・・orz

VisualStudio C++ 2005 Express Edition と MinGW g++ 3.3.1 のどちらでもダメでしたorz // テストコードここから #include <libsava/spatial/KDTree.h> using namespace sava::spatial; int main(){ typedef Point3D<double> point_type; KDTree<point_type, int, 3> kdt; // ← この行でエラーがでます kdt.insert(</point_type,></double></libsava/spatial/kdtree.h>…

libsavaのKDTree

libsava の KDTree に何が実装されているのかもう少し詳しく見てみた KDTree コンテナクラスのpublicメンバ関数 挿入 insert 点 (このパッケージが用意しているPoint型、またはその派生型) と値のペアをコンテナに加える。std::map のinsertと仕様をあわせた…

C++でオープンソースで何らかのアルゴリズムを実装しているライブラリ

いくつか見つけたのでメモっておきます -MIST http://mist.suenaga.cse.nagoya-u.ac.jp/trac/ 画像処理、音声処理に関するライブラリ STLライク (ソースは全て.h) 修正 BSD ライセンス -libsava http://www.savarese.com/software/ いろいろなデータ構造やア…