【C#】クラスのサンプル(1次元ベクトル)
C#で1次元ベクトルのクラスを作るには、以下のようにします
class Vector1D
{
public int X { get; set; }
public Vector1D(int x)
{
X = x;
}
// ベクトルの大きさ
public int Magnitude()
{
return Abs(X);
}
// 絶対値を求める(absolute value)
int Abs(int value)
{
if (value < 0)
{
value = -value;
}
return value;
}
// 足し算
public Vector1D Add(Vector1D other)
{
return new Vector1D(X + other.X);
}
// 引き算
public Vector1D Subtract(Vector1D other)
{
return new Vector1D(X - other.X);
}
// スカラーの乗算
public Vector1D Multiply(int scalar)
{
return new Vector1D(scalar * X);
}
}
このクラスは、1次元空間のベクトルを表すために、Valueを持っています。そして、ベクトルの大きさ(magnitude)、足し算、引き算、スカラー倍を計算するためのメソッドを持っています。1次元ベクトルには単位ベクトルやドット積、クロス積といった概念がないため、それらのメソッドを持っていません。
使用例
Vector1D v1 = new Vector1D(3);
Vector1D v2 = new Vector1D(4);
// ベクトルの大きさ
Console.WriteLine(v1.Magnitude());
// 足し算
Vector1D v3 = v1.Add(v2);
Console.WriteLine(v3.Value);
// 引き算
Vector1D v4 = v1.Subtract(v2);
Console.WriteLine(v4.Value);
// スカラーの乗算
Vector1D v5 = v1.Multiply(2);
Console.WriteLine(v5.Value);
実行結果
3
7
-1
6
ディスカッション
コメント一覧
まだ、コメントがありません