09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

線形合同法を2次元プロットしてみた

線形合同法が二次元に一様分布しないというのをチェックするためにこんなコードでテストしてみました
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RandTest
{
    class Program
    {
        int x;
        int A = 214013,C = 2531011;
        int rand() { x = x * A + C; return (int)(x>>N) & mask; }

        const int N = 10;
        const int mask = ( 1 << N ) - 1;

        public Program()
        {
            using(Bitmap bmp = new Bitmap(1 << N,1 << N))
            {
                Graphics g = Graphics.FromImage(bmp);
                g.Clear(Color.Black);
                
                for(int i = 0; i < 1 << 22; i++)
                {
                    long x = rand() & mask;
                    long y = rand() & mask;

                    g.FillRectangle(Brushes.White,x,y,1,1);
                }
                g.Dispose();

                bmp.Save("out.png");
            }

            
        }

        static void Main( string[] args )
        {
            new Program();
        }
    }
}

そして結果がこちら
out.png
見りゃわかりますがめっちゃ偏ってます。 ちなみにN=16だとCのRandomの式だけどねそれだと二次元にはちゃんと分布しそうなので緩めてます。 ていうか2^32もプロットしたくねーです。

[C# Advent Calender 2012]C#を補助するいろんな脇役

C# Advent Calender 2012の記事ですよ!

こういう技術系のイベント初めてだよーこわいよーぷるぷる でもでも前のまさる(高野将)さんにしっかりバトン渡されてしまったので頑張るのです!!

で、何をしようかなと考えたんですけど…
LINQ星人っていう宇宙からやってきた人たちが頑張ってるし…
かと言って技術的な内容は勝てるわけねーですしというわけで今回は

  1. C#のよく使うコードをタブ二つで挿入してくれる!コードスニペット
  2. わざわざ関数のところの説明を見に行かなくてもイイ!XMLドキュメントコメント
  3. ライブラリのドキュメント書くのめんどくさい貴方に!Sandcastle

っていうC#のっていうか.Net系を強力にサポートしてくれる子たちを紹介するのです。
え?C#じゃない?いやいやコード書くののサポートもC#のうちだって…
え?知ってる?使ってる?このイベントなら知らない人がいそうだったし!いたらぜひ使って欲しいし!
え?ライブラリ作らない?僕が使って超楽だったから!!

というわけでこのイベントに乗じて知らない人いたらいいなーってことで作業効率上げてくれる子たちを紹介するのです。
あ、ぼくはC#の開発にはよっぽどの事情がなければVisualStudio系列一択だと思ってますので。

続きを読む

NineTail0.0.1公開

.Net用DirectXラッパライブラリ
ていうかゲームライブラリNineTailがとりあえず出せる形になったので公開します。

まだまだTODOいっぱいあるし
バグも多そうな気が(テストがー

あとチュートリアル作りたいなーなんて思ってます

SharpDXをラップする形に落ち着きました

ダウンロードページ

とりあえず描画とゲームループと文字列描画できたので公開です。

使い方としては
Formアプリケーション作ってもらって
Formを継承しているのをWindow,InputWindow(入力の機能付き)にしてもらって初期化関数呼んでもらえればかな。

とりあえずこれのチュートリアル作らねば…

というわけでAdventCalenderどうしようという崖っぷちの編集が始まる…

SharpDXへ&DirectX11でのVertexBufferの使い回し@環境依存怖い

現在開発していたライブラリの環境依存の原因が特定できずSharpDXへ移動
DXLib->SlimDX->DirectX直->SharpDXですね。

環境依存その1.文字列の場所がずれる(しかも部分的に…)
環境依存その2.なんかテクスチャが表示されない(部分的に)

もうC++/CLI触りたくない・・・

というわけでSharpDXへ移動しました

で、いろんなサイト見たけど(英語も)VertexBufferをDirectX11で使いまわす方法探すの大変だったのでまとめときます。

続きを読む

Metrics.exeのビュー作ってみた(コードの品質を見る)

Metrics.exeとはMicrosoftのコードメトリクス用のツールです。
Visual Studio Premium Edition以上にはVSに組み込まれているのですがそんな高いもん買えねーよというわけでMicrosoftさんは無償でこのxmlを吐き出す部分だけ提供してくれてます。
そのxmlを地味に解析してビュワーにしてみました。

DLは以下から

MetricsView.zip

詳しくは追記で

続きを読む

検索フォーム

RSSリンクの表示

リンク

リンクというか個人的によく使うアルゴリズムの解説サイト… C#でなかったりする

ブロとも申請フォーム

この人とブロともになる

QRコード

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。