08
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
31
   

スポンサーサイト

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

ベジエ曲線

少しでもバリエーションを増やすためにベジエ曲線を描く(正確には大量の点)プログラムを書きました。
ドット絵も一応…ね…

ベジエ曲線の書き方ですがwikipediaを元にこんな感じで

/// <summary>
/// pの各店を制御点としたベジエ曲線
/// </summary>
/// <param name="n">n返す点の数</param>
public Point[] Bexier(int num, params Point[] p)
{
Point[] o=new Point[num];
double d = 1.0 / num;
int N = p.Length;
for (int j = 0; j < num; j++)
{
//j=0→p.Length
for (int i = 0; i <= N - 1; i++)
{
double b = Bern(d * j, N - 1, i);
o[j].X += (int)(p[i].X * b);
o[j].Y += (int)(p[i].Y * b);
}
}
return o;

}

public double Bern(double t, int n, int i)
{
double d = Math.Pow(t, i) * Math.Pow((1.0 - t), n - i);

return Com(n, i) * d;

}

.NetにもDrawBezierという物があるのですが描くだけなので自前で作るしかなかったという…

これを敵の行動に組み込みます

因みに適当に作ってあるので実際描画するとがたがたになります。
が、STGで使うだけなので余り問題ない…かな?
スポンサーサイト

Comment

Secret

検索フォーム

RSSリンクの表示

リンク

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

ブロとも申請フォーム

この人とブロともになる

QRコード

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