wvogel日記

自分用の技術備忘録が多めです.

2012-11-01から1ヶ月間の記事一覧

画像処理

衝動的に、画像を生成したくなったので。 PGMファイルを使って、図形を描画してみました。画像の大きさは100*100として、次のように値を設定しました。 poses = [(x,y) | x <-[1..width] , y <- [1..height]] width,height :: Float width = 100 height = 10…

Functional Lensとは?

友人曰く、functional lensなるものがあるらしい、調べよ! との事で、調べてみた。Lenses←ここの記事が参考になりました。 読んだところ、C#でいうところの、get,setと同様の機能をより関数型に実装したものがLensのようです。例えば、あるデータを一まとめ…

Free Monadで料理を記述する

ここ数日、Why free monads matterの記事を読んでいました。 非常に簡単にモナドを構成できるのはわかったけれど、 これで何が嬉しいのかよくわかりませんでした。 で、記事を読み進めていくうちに、手続き自体の構造を記述するのに非常に便利なのではないか…

Aitken加速

Aitken加速を書いてみた。 短いのでコードはここに掲載 module Aitken where a n = foldl (+) 0.take n $ map term [0..n] term k = (-1)^k/(2*fromIntegral k+1) --収束率 --lambda n = (a (n+2) - a (n+1)) / (a (n+1) - a n) --極限値 aitken n = a n - (…

wxHaskellでゲームを作る

ここ最近ずっと、wxHaskellでゲームを作っています。 ノベルゲームの作成で、マウスのクリック位置や画像描画の大体がわかったので、今回は直接描画などを目標として、 簡単なシューティングゲームを作ることにしました。まだ製作中なので完全ではありません…

焼きなまし法

最近加速アルゴリズムや最大値発見アルゴリズムを勉強しているのですが、ちょっと思い立って、Haskellで焼きなまし法を書いてみた。とはいえ、動作を確認したかっただけなので、 こちらのブログを参考にさせてもらい、そのまま書き下しただけですが。 ソース…