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

PerlモジュールAlgorithm::Line::Bresenhamを使ってtgifの円を円状に配置

はじめに 前回は、Algorithm::Line::Bresenhamの紹介をしたんですが、 「Perlで、グラフをtgifの形式(objファイル)で生成してepsで出力したい。」 という目的がありました。 問題設定を具体的にして、以下のようにしました。 「完全グラフをPerlを使って生成…

Algorithm::Line::Bresenham

はじめに Perlで円を描きたかったんですが、ディスプレイに「円」を描くときにドットで近似するわけですけどもその具体的なアルゴリズムを全然知らなかったんです。そこで、調べたら「ブレセンハムのアルゴリズム」を知りました。CPANにあがっているか探して…

C言語で完全グラフの頂点対のリストの生成器を書いた

はじめに 完全グラフの頂点対のリストを自動生成する方法を、先日から考えているGraphviz用のdotファイルの生成を応用して考えた。 コード /* Graph Generator */ #include <stdio.h> int main(void) { /* 変数の宣言 */ int i, j, n; FILE *fp; /* 完全グラフのnの入</stdio.h>…

完全グラフをGraphvizとPerlを使って書く方法

はじめに 前回は、完全2部グラフについて書いたんですが、今回は完全グラフについて書きました。[1]の和訳をこの前購入したんですが、 気に入った箇所があったので引用します。 あたらしい結果がもたらす光明を見逃さず、そこで用いられた手続をくりかえして…

完全2部グラフをGraphvizとPerlを使って簡単に書く方法

[追記: 2010/08/18] id:ksmemoさんがGraphVizモジュールを使って書かれたコードの方がすっきりしているのでこちらを推奨します。 ケーズメモ, GraphVizを使ってPerlで簡単にGraphvizでグラフを書く方法, http://d.hatena.ne.jp/ksmemo/20090903/p1 CPAN, Gra…

自分の泳ぐ海を決めるということ

数年前から並々ならぬ野心があって、必死に分不相応なサーベイをしてたんだけども。よくよく考えてたら、自分のレディネス(学習準備性)を超えたことを調べてて肝心なことがおろそかになっていた。フィールドの違う人間を比較したところであんまり意味が無…

Processingのサンプルを参考にコードを書いた。(立方体: 回転、拡大、照明の調整、ポリモーフィズム)

追記: 2012/12/20 現在、processing の最新版が Ver 2.0b7 です。 バージョンアップに伴い、いくつか変更があるようです。本エントリのコード「textureMode(NORMALIZED);」は "NORMALIZED"を"NORMAL"に読み替えてください。 追記: 2012/12/21 本エントリのサ…

Processingのサンプルを参考にコードを書いた。(立方体: 回転、拡大、照明の調整)

改良点 マウスを右にドラッグすることで、立方体が明るくなります。マウスを左にドラッグすることで、立方体が暗くなります。 "0.25"の値を変えることで、増加の割合を調節できます。 valuex += (mouseX-pmouseX)*0.25; 表現の軸 現時点では、以下のような「…

Processingのサンプルを参考にコードを書いた。(立方体の回転と拡大)

改良点 マウスを右に移動することで、回転速度が増加。"0.02"の値を変えることで、増加の割合を調節できます。 float speed = (mouseX) * 0.02; マウスを下に移動することで、立方体の辺の長さが増加。"0.002"の値を変えることで、増加の割合を調節できます…

普段僕がどんな研究をしているのか。

普段僕がどんな研究をしているのか

Processingのサンプルを参考にコードを書いた。(立方体の回転)

概要 以下のようなコードです。 2つの立方体が、回転する。 マウスを画面の右下に移動するほど、回転速度が上がる。 マウスの画面の左上に移動するほど、回転速度が下がる。 関数setupの中の01.jpgを、サブフォルダdataを作って格納する。この画像が立方体に…

Processingのサンプルを参考にコードを書いた。(立方体の回転3)

改良点 TexturedCubeP1, TexturedCubeP2を削除。代わりに、TexturedCubeに描画する面を指定する引数を追加。 引数は、1: 全部の面, 2: 半分の面, 3: 2と対称な半分の面[,w485,h300] PImage tex; float rotx = PI/4; float roty = PI/4; int value = 0; void …

Processingのサンプルを参考にコードを書いた。(立方体の回転2)

コードを改良した。 昨日書いたコードを改良した。改良点 TexturedCubeに立方体の大きさを指定する引数を追加。 関数TexturedCubeP1, TexturedCubeP2を追加。立方体の面の半分を描画。この2つの関数で描画されたものは対称になっている。 (ここでは、Textur…

WWW上で見つけたマトロイド関連の資料の紹介

はじめに WWW上で見つけたマトロイド関連の資料をご紹介します。 [追記]マトロイドとは何か。[/追記] 歴史は「James Oxley, WHAT IS A MATROID?」を参考に、 定義はORWikiのマトロイドの項目を参考に書きます。 歴史 マトロイドは、Whitney が1935年に「線形…

グラフ理論のサイトと書籍のご紹介

はじめに [更新: 2013/4/22]いくつか更新しました。 [/更新]§1では、グラフ理論のWWW上の資料で「これは良かった。役に立った。」と思えるものをご紹介します。 どちらかというと、グラフアルゴリズムより数学としてのグラフ理論を意識した資料を選びました…

4^Vを下半束で表現したものを書く練習

はじめに 互いに素なVの部分集合の順序付き3つ組全体を4^Vとして、これを下半束で表現したものを書く練習をしました。 これは、ペグが4本あり、円盤の集合をVとするようなハノイの塔の状態に対応することに気がつきました。以前書いたエントリー、ハノイの塔…

オートポイエーシスについてのメモ

twitterで、boy_smithさんに教えていただいたこととか思ったことを箇条書きでメモ 考えるときに概念が先行しない方がよいらしい。この部分が、僕にとって理解する際の壁になっている。 Pier L. Luisi先生やAlife経由でもオートポイエーシスを理解しやすい。 …