トップページへ戻る
Diary

RSS配信してます
 

HPがInfoseekにあったころの日記は、現在データベース化待機中となっています。
  DB化完了:2006年度分 ・ 2002年度分 ・ 2003年度分1~5月
インデックスより、年・月を指定すると、その月のタイトルが表示されます。
見たい日記のタイトルをクリックすることで、日記を閲覧することができます。
タイトルにつく【】の意味

インデックス
2002年2003年2004年2005年2006年2007年
2008年2009年2010年2011年2012年2013年
2014年
1月2月3月4月5月6月
7月8月9月10月11月12月

2008年 6月の日記タイトル
No. 829 [30日] ・夢幻回廊制作記 第009回『FPS管理』 【日・趣】(2)
No. 828 [29日]フラクタル・リターンズ 【日・趣】(0)
No. 827 [23日] ・夢幻回廊制作記 第008回『ファンタズマルソード再来』 【趣】(0)
No. 826 [16日] ・選択と集中と融合と 【日・趣】(4)
No. 825 [ 6日] ・クロノ・アキュムレーション ライフ・アキュムレーション 【日・心】(2)

2008年 5月の日記タイトル
No. 824 [20日] ・そろそろ下旬 【日】(0)
No. 823 [ 9日] ・ゴールデンウィーク終わって 【日】(0)
No. 822 [ 1日] ・時間の確保と積み上げ 【日・心】(0)

2008/06/29 (Sun) No.  828
フラクタル・リターンズ 【日・趣】

最近、C言語が進んできて、ようやくバイナリファイルの作成までできるようになりました。
これで、VBとCを合わせれば、CPU・メモリ・ハードディスク・GPUをかなりプリミティブな部分で支配できそうです。
あとは、サウンド系かなぁ。音声のビットデータを逐次生成していくようなリアルタイムサンプリングなんてジャンルがあるのかしら(・-・)?


さて、バイナリファイルが扱えるようになったということは、ハードディスクをバイト単位でいじれるということになります。
バイナリファイルというのは、文字として読めないファイルで、例えば音声とか画像とかになります。
今回、音声はハードルが高いので、画像をいじってみようと思いました。

ターゲットはbmpファイル。これは、ピクセルのビットデータをそのまま記憶しているはずなので、バイナリを解析すれば自由に色を配置できるはずです。というわけで、早速fread()を使って1pxとか2pxの画像データを読み込んで研究。
結果、どうやら、bmpでは、ピクセルデータが右あたりから左に進むという良く分からない構造だったのですが、なんとなく把握できたので、ここに色情報を打ち込んで行きます。
フラクタルが一番最初に思いついたので、これをC言語+ハードディスクで実現することに(・-・)


x[n+1] = x^2 - y^2 + 0.359
y[n+1] = 2.1*x*y + 0.1327
収束条件はx[n+1]とy[n+1]の距離が1000000以上の時。
配色は、結果をresとしたときに
R = res % 61 * (255/62);
G = res % 151 * (255/152);
B = res % 251 * (255/252);
です。


250倍


500倍


1000倍


2500倍


50000倍


100000倍


C言語でグラフィック系をやるのは多分初めてだけど、なかなかうまく行ってよかったです。
VB+DirectXの時のように、メモリ確保して逐次画面に描画するわけではないので早いねぃ。C言語をちょっと見直しました。

フラクタルは小数点計算が多いので、もしかしたらGPUでこれを実装すると、リアルタイムフラクタルとかできちゃったりしないのかな。
この前見つけたCUDA(2008/06/16の日記『選択と集中と融合と』)が使えるようになったら実装して見たいな~。


ここらへんのプログラミンググラフィックスの知識って、Wikiか何かにまとめて知識ベースにしたら需要あるかな。
みんなが使えるWikiをいくつか管理したいなーと最近思っています(・-・)


★この日記のURLはhttp://haukun.sakura.ne.jp/?diarymode=200806290828

この日記へのコメント
コメント無し

名前(10文字)削除pass(8文字)
コメント(512文字)
送信オプション
コメントを送信する※誤爆防止用
コメントを削除する※名前に番号を,削除Passに投稿時のPassを入れてください。
《全体処理時間》0.112sec.
インデックスに飛ぶ
日記の先頭に飛ぶ
トップページへ戻る

HKP-DiarySystem Ver.1.07