More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  ※ 画面は開発中のものですPhotosProfileFriendsMore Tools Explore the Spaces community

※ 画面は開発中のものです

いろいろと作ってます。 プログラミング( VC++, C#, Javascript, PHP ) 時々ノイズ(鉄道 庭のビワ 他)

TKYM

View spaceSend a message
Occupation:
Age:
Location:
Interests:
プログラミングしてます。
C++(SDK, MFC), C#
HSP
Javascript, PHP など

ソフ開の勉強をします。
簿記2級もまだ目指してます。

鉄道が好きです。
時刻表をよく見ます。
模型は金銭的、撮影は時間的な問題から実践できていません。

2007年、庭にビワの種をまきました。

Public folders

Folders shared with the world
September 23

レーシック

手術日の朝は7:30に起床することにしていたが、早めに目覚めた。
が、全く寝られないほどではない、その程度の緊張感だった。
 
ギリギリまで 「やめとけ、レーシック」みたいなページばかり見ていた。
当日キャンセルは原則無理と書いてあった。
 
  • 病院に着いた
  • 呼ばれた
  • 視力検査をした
  • 高いお金を払った
  • 待機
  • 手術の説明
     術後にかけるメガネと眼帯と、説明が書いてある紙を貰う。
  • 手術フロアに行った
     今までにつけてためがねと手荷物をロッカーに入れる。
  • 問診
     「質問ある?」に対して「今は無い」(後からされても困るだろうが)
     しかし、挙げるとすれば先知れぬ不安。
  • 待機

最初の部屋
 フラップというものを作成するらしい部屋。
 イスに座らされると機械が頭上に現れる。
 目をぐりっとあけられる、今までに無いくらい。
 そして、光が目に当たる。
 「光をみててね~」といわれる。
 ものすごく押さえつけられる感じがするとすぐに機械がうなる。
 目には光しか見えない。
 耳には秒数を数えるナースの声と機械の音。

 終わると、目の前が白くなったが、全く見えないわけではない。
 ナースに付き添われて次の部屋の前へ移動する。

2番目の部屋
 部屋があくまで目を閉じて待たされる。
 白い世界の状態なので、放置されているような気になる。
 10分くらい待って部屋に入ると同じような手術イスがある。

 またレーザーを照射される。
 つい力が入り、「力ぬいてね~、そうそう、うごかないよ~」 といわれる。
 穴の開いたシートをかぶせられ、レーザーが数十秒当たり、洗浄されてはがされる。
 道具を使って目をなぞられて(貼り付けるように)

 「終わりです」と言われて立ち上がり、回復室に連れて行かれる。

回復室
 イスに座って眠らずに待つ。
 作業は終わったが緊張感が残っていたので眠気とは無縁。

最後のチェック・解散
 特に問題ないので目薬を貰ってさようなら

帰りの状況
 涙がひどかった。おまけに鼻水も出てきた。
 ただし、痛み止めは即効性があり、半分くらい帰ったところで点したらすぐにとまった。
 一人でも帰れそうだが辛そう、というレベル。

これから
 いちばん怖いのは近視の戻り。
 せっかく1や1.5を越えたりしても、数年後に0.7などというざんねんなこともあるらしい。
 それは体質とも言われるが、なるべく目は酷使しないようにしたい。

すべきか
 値段: 待てば少しは良心的になるかもしれない。紹介制度など不透明な部分がなくなって。
 安全性: 安心だと思うまで待てばよい。待ちすぎると老眼のためにメリットが減る。
 勇気: 手術は怖かった。痛くないが、怖いことに変わりは無い。
      術後の痛みはたいしたこと無かった。

August 15

レーシックの事前検査

手術が可能かどうか調べにいってきた。(ここまでは無料)
結論は、可能。 ただ、消耗品であるらしい角膜の厚さが1回分+a しかないため、
極わずかな確率での失敗時に再手術ができないかもしれないとのこと。
視力1.0獲得率は98%で、だいたい0.6くらいあればいいと思っているので成功率は 98%+少し。
 
この確率は、信頼すべきものだと思うが、勇気は要る

眼鏡屋でフレームを選ぶためにも。(まだかけるつもり)
高い特殊レンズ代を省略して安く買うためにも。
成功すればプールサイドで躓かない。
成功すれば免許も裸眼で取れる。
視野が広がる(最近のメガネはレンズ小さいから。)
シャンプーとリンスを間違えない。
メガネをなくしても匍匐前進は不要。
悲惨な事故(踏み潰されたり)で大事なメガネを失わずに済む。
裸眼時の目は3でもεでもない。
 
夢のような生活に戻れるらしい、18万くらい & 98+a% で。

今は昔、最初メガネをかけるときは、
それまでの数週間、寝る前にミドリンとかいう目薬を点眼したりしてメガネにならぬよう粘った。
結局、周りの人より早くメガネをかけ、「メガネくん」とお決まりの名前をもらいながら、
「どうしようもないのか」と、しばらくは我慢の日々だった。

それが今日はなんという技術の進歩だ。このまま行けば不老不死も夢じゃないかと思えるほどだ。

でもやはり少し怖いとは思う。
 

検査は結構長かった。
明るいときと暗いときの見え方の検査、視力検査をして、
よくわからない目薬を点眼されて、麻酔を点眼されて、目玉をグリグリされる。
それで最後に結果発表。

帰りは目薬の効果でまぶしい。夕日がまぶしくてお化けになったかと思った。
地下通路を駆使して何とか帰宅。それでもまぶしさで普段より疲れた。
手術のときはタクシーが良いかもしれない。

さて、残るは最後の決断である。

August 06

Nicovolume 0.252

1. ちょっとした機能追加をしてみた。

時間が来ると、下のような画面が表示され、スライダーが左右に動きます。
手動で動かすことによって、自動調整をキャンセルすることが可能です。

0.252

2. IE の自動起動が不要な場合のため、インストーラで ブラウザ拡張の有無を選択できるようにしました。
その結果 Vista 環境で .msi 形式のインストーラがうまくいかなくなってしまったので、 exe 形式も入れておきました。

3. Vista 環境で、 互換モード を使用する必要がなくなりました。
 Vista では 新しいAPI を使うようにしました。

* 古いバージョンを消してから新しいバージョンをインストールする必要があります。
* インストールフォルダ内にある time.conf を一時退避させておくと同じ設定で使えると思います。

Nicovolume の記事
http://prog-city.spaces.live.com/Blog/cns!E5379F11D9E8BB3F!918.entry


Vista でのマスタボリュームコントロール についての 参考文献

http://msdn.microsoft.com/en-us/library/ms679161(VS.85).aspx
http://msdn.microsoft.com/en-us/library/bb331828(VS.85).aspx

August 01

フーリエ級数

フーリエ何とかというものがさっぱりわからないので、教科書に書いてある次のような数式をもとに計算させてみた。

周期Tの周期関数 f(t) が下のように展開される。

image

OnPaint に直接適当にコードを書く。
f(t) は、連続してない関数にした。

    public int n;
    public double func(double d) {
        return ((int)Math.Abs(d) % 50 < 25) ? 0 : 50;
    }

    public double func_a(double d) {
        return func(d) * Math.Cos(n * 2 * Math.PI / 50 * d);
    }

    public double func_b(double d)
    {
        return func(d) * Math.Sin(n * 2 * Math.PI / 50 * d);
    }

    private void Form1_Paint(object sender, PaintEventArgs e)
    {
        int x;
        double y = 0;

        Point prev = new Point(0, 0);
        for (x = 0; x < 300; x++) {
            double a0 = 1.0 / 50.0 * mymath.simpson(-25, 25, 0.001, func);
            y = a0;
            
            for (n = 0; n < 10; n++) {
                double an = 2.0 / 50.0 * mymath.simpson(-25, 25, 0.01, func_a);
                double bn = 2.0 / 50.0 * mymath.simpson(-25, 25, 0.01, func_b);

                y += an * Math.Cos(n * 2 * Math.PI / 50 * x);
                y += bn * Math.Sin(n * 2 * Math.PI / 50 * x);
            }
            e.Graphics.DrawLine(Pens.Black, new Point(x, 200 - (int)y), prev);
            prev = new Point(x, 200 - (int)y);
        }
    }

* simpson関数はこちら

すると、こんな感じに表示された。

25行目のループ条件: n < 2
image

n < 5
image

n < 10
image

本来のグラフ
image

ループすればするほど元の四角いグラフに近づいている。
しかし、その分時間がかかった。

シンプソンの公式

シンプソンの公式のプログラムを汎用的にしておく。

シンプソンの公式は、関数を二次曲線で近似させて積分する方法。
台形公式より正確な値を出せる、とのこと。

関数f の、st~ed の間を、刻み幅h以内で積分する。
hは、刻み数が奇数になってしまった場合には変化する。

    //シンプソンの公式で積分する
    public delegate double simpsonFunc(double d);
    static public double simpson(double st, double ed, double h, simpsonFunc f){
        //刻み数を決める
        int nh = (int)(Math.Abs((ed - st) / h) + 1.0);
        if (nh % 2 != 0) nh++;
        h = (ed - st) / (nh-1);

        int cnt;
        double total = 0;
        for (cnt = 0; cnt < nh; cnt++ )
        {
            double tmpadd = f(h * cnt);

            if (cnt == nh - 1)
            { //最後:そのまま
            }
            else if (cnt == 0)
            { //最初:そのまま
            }
            else if (cnt % 2 != 0)
            { //奇数
                tmpadd *= 4;
            }
            else
            { //偶数
                tmpadd *= 2;
            }
            total += tmpadd;
        }
        return h / 3.0 * total;
    }

この前のシンプソンの公式
http://prog-city.spaces.live.com/blog/cns!E5379F11D9E8BB3F!940.entry

View more entries
 
足跡。
View space
SILVERWOLF
View space
emus
View space
coffe.k
View space

Updated 3/28/2008
Updated 8/25/2008
Updated 8/6/2008